{"id":11175,"name":"validators","ecosystem":"pip","repository_url":"https://github.com/python-validators/validators","issues_count":62,"created_at":"2025-06-06T22:58:09.127Z","updated_at":"2025-06-06T22:58:09.127Z","purl":"pkg:pypi/validators","metadata":{"id":2962074,"name":"validators","ecosystem":"pypi","description":"Python Data Validation for Humans™","homepage":"https://python-validators.github.io/validators","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-validators/validators","keywords_array":["validation","validator","python-validator"],"namespace":null,"versions_count":60,"first_release_published_at":"2013-10-17T08:44:35.000Z","latest_release_published_at":"2025-05-01T05:42:04.000Z","latest_release_number":"0.35.0","last_synced_at":"2025-06-06T02:03:01.203Z","created_at":"2022-04-10T12:59:19.603Z","updated_at":"2025-06-06T02:03:01.204Z","registry_url":"https://pypi.org/project/validators/","install_command":"pip install validators --index-url https://pypi.org/simple","documentation_url":"https://yozachar.github.io/pyvalidators","metadata":{"funding":null,"documentation":"https://yozachar.github.io/pyvalidators","classifiers":["Development Status :: 4 - Beta","Environment :: Web Environment","Intended Audience :: Developers","License :: OSI Approved :: MIT License","Operating System :: OS Independent","Programming Language :: Python","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.9","Programming Language :: Python :: Implementation :: CPython","Topic :: Software Development :: Libraries :: Python Modules"],"normalized_name":"validators"},"repo_metadata":{"uuid":"13642984","full_name":"python-validators/validators","owner":"python-validators","description":"Python Data Validation for Humans™.","archived":false,"fork":false,"pushed_at":"2023-12-25T07:39:39.000Z","size":571,"stargazers_count":860,"open_issues_count":25,"forks_count":145,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-01-05T06:01:36.350Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-validators.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null}},"created_at":"2013-10-17T08:16:32.000Z","updated_at":"2024-01-05T02:41:24.000Z","dependencies_parsed_at":"2023-11-07T15:26:39.368Z","dependency_job_id":"a9daad2f-db46-4dbf-b6c9-e0d864f24523","html_url":"https://github.com/python-validators/validators","commit_stats":{"total_commits":251,"total_committers":43,"mean_commits":5.837209302325581,"dds":"0.43027888446215135","last_synced_commit":"506d22bdecd8a049d701a1ef9efcaf9e9f2ba9aa"},"previous_names":["kvesteri/validators"],"tags_count":54,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-validators","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":179276349,"owners_count":10793642,"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":"python-validators","name":"python-validators","uuid":"113113270","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/113113270?v=4","repositories_count":1,"last_synced_at":"2023-08-04T21:43:41.062Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-validators","created_at":"2022-11-06T08:08:28.631Z","updated_at":"2023-08-04T21:43:41.085Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-validators","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-validators/repositories"},"tags":[{"name":"0.22.0","sha":"71b40bd54ecf88de792b15acc831801903cc6bc0","kind":"commit","published_at":"2023-09-02T08:51:42.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.22.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.22.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.22.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.22.0/manifests"},{"name":"0.21.2","sha":"0c97ddef8673b8470bb8c26adec5dbd964bad955","kind":"tag","published_at":"2023-08-07T08:52:23.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.21.2","html_url":"https://github.com/python-validators/validators/releases/tag/0.21.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.21.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.21.2/manifests"},{"name":"0.21.1","sha":"506d22bdecd8a049d701a1ef9efcaf9e9f2ba9aa","kind":"tag","published_at":"2023-04-13T01:34:06.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.21.1","html_url":"https://github.com/python-validators/validators/releases/tag/0.21.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.21.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.21.1/manifests"},{"name":"0.21.0","sha":"9ae6e8edf56f723ee4055a9c7d8b2874fb9bf54c","kind":"tag","published_at":"2023-03-27T09:26:20.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.21.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.21.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.21.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.21.0/manifests"},{"name":"0.20.9","sha":"7c612758c05532ed700cb9e89be82aa6dbba5f23","kind":"tag","published_at":"2023-03-25T01:04:03.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.20.9","html_url":"https://github.com/python-validators/validators/releases/tag/0.20.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.9/manifests"},{"name":"0.20.8","sha":"24675a3409a9a1bf598830718485ef317841e2ba","kind":"tag","published_at":"2023-03-25T01:03:30.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.20.8","html_url":"https://github.com/python-validators/validators/releases/tag/0.20.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.8/manifests"},{"name":"0.20.7","sha":"084d0850a8536b65415aff7ac1c641872af0e1b0","kind":"tag","published_at":"2023-03-23T09:39:11.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.20.7","html_url":"https://github.com/python-validators/validators/releases/tag/0.20.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.7/manifests"},{"name":"0.20.6","sha":"9fe24115788b09c420d81a077089cc744d6803e4","kind":"tag","published_at":"2023-03-23T09:38:32.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.20.6","html_url":"https://github.com/python-validators/validators/releases/tag/0.20.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.6/manifests"},{"name":"0.20.5","sha":"49dfec2c2fa1e876b795cac9364b6decd6d679ee","kind":"tag","published_at":"2023-03-23T09:36:36.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.20.5","html_url":"https://github.com/python-validators/validators/releases/tag/0.20.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.5/manifests"},{"name":"0.20.4","sha":"fad5965cad2ed603d6a0ebe1a7af3fa3a4131105","kind":"tag","published_at":"2023-03-23T09:36:20.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.20.4","html_url":"https://github.com/python-validators/validators/releases/tag/0.20.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.4/manifests"},{"name":"0.20.3","sha":"6ef1121de88a97184db1d6598d603ddfb608abcf","kind":"tag","published_at":"2023-03-23T09:35:36.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.20.3","html_url":"https://github.com/python-validators/validators/releases/tag/0.20.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.3/manifests"},{"name":"0.20.2","sha":"b6d4d7c73255e46d218810fdf2de46011efe5ecd","kind":"tag","published_at":"2023-03-23T09:35:13.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.20.2","html_url":"https://github.com/python-validators/validators/releases/tag/0.20.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.2/manifests"},{"name":"0.20.1","sha":"dab3a1f4a4b99a9c784b263275f36394c2b5530d","kind":"tag","published_at":"2023-03-23T09:34:09.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.20.1","html_url":"https://github.com/python-validators/validators/releases/tag/0.20.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.1/manifests"},{"name":"0.18.2","sha":"f7221ba5f847aad46714bae7f562a83a2df3327e","kind":"tag","published_at":"2023-03-20T08:30:44.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.18.2","html_url":"https://github.com/python-validators/validators/releases/tag/0.18.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.18.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.18.2/manifests"},{"name":"0.14.3","sha":"ae3771c67ad334fc3cc6d8971d1fb5ab8de12276","kind":"tag","published_at":"2023-03-20T08:30:23.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.14.3","html_url":"https://github.com/python-validators/validators/releases/tag/0.14.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.14.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.14.3/manifests"},{"name":"0.13.0","sha":"477d50684f28fed332505051bf8ac319dc2fec16","kind":"tag","published_at":"2023-03-20T08:30:11.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.13.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.13.0/manifests"},{"name":"0.12.6","sha":"2e51683e03bc8a1cf77b5609b05f26934175e065","kind":"tag","published_at":"2023-03-20T08:30:08.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.12.6","html_url":"https://github.com/python-validators/validators/releases/tag/0.12.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.12.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.12.6/manifests"},{"name":"0.12.3","sha":"ff2c03b101826cbbd4590cf461e57ef32ecd34a9","kind":"tag","published_at":"2023-03-20T08:29:59.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.12.3","html_url":"https://github.com/python-validators/validators/releases/tag/0.12.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.12.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.12.3/manifests"},{"name":"0.12.2","sha":"dc5f17b54be0015194b880c15da9593be8139ca1","kind":"tag","published_at":"2023-03-20T08:29:56.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.12.2","html_url":"https://github.com/python-validators/validators/releases/tag/0.12.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.12.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.12.2/manifests"},{"name":"0.12.0","sha":"92cda6920345b8119ebfc476232383e8826c0375","kind":"tag","published_at":"2023-03-20T08:29:50.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.12.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.12.0/manifests"},{"name":"0.10.0","sha":"3e51baeb93f9d21cf0e410a6a11f18710bc4e2c2","kind":"tag","published_at":"2023-03-20T08:29:26.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.10.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.10.0/manifests"},{"name":"0.9.0","sha":"46426b87c013f97fd28a47ff029cb59ce25da23c","kind":"tag","published_at":"2023-03-20T08:29:23.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.9.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.9.0/manifests"},{"name":"0.8.0","sha":"d6c8da14862d073c0a2be577016a48d49f226d22","kind":"tag","published_at":"2023-03-20T08:29:20.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.8.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.8.0/manifests"},{"name":"0.7.0","sha":"fc21b65527447f77809af1a520d5a718924baaf9","kind":"tag","published_at":"2023-03-20T08:29:17.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.7.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.7.0/manifests"},{"name":"0.6.0","sha":"80a5868db089d0a32e5b9fa0ef51cee464e050db","kind":"tag","published_at":"2023-03-20T08:29:14.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.6.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.6.0/manifests"},{"name":"0.5.0","sha":"16a1c7db2a017701a114e1b9f3c04d228cebb957","kind":"tag","published_at":"2023-03-20T08:29:11.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.5.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"75c716edd553269ec42d67070c38d7cb332a5dcb","kind":"tag","published_at":"2023-03-20T08:29:08.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.4.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.4.0/manifests"},{"name":"0.3.0","sha":"755a924e9498b6c70d8b9a5abb1b6d4bfcf90e10","kind":"tag","published_at":"2023-03-20T08:29:05.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.3.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.3.0/manifests"},{"name":"0.1.0","sha":"6778906c251e8f10b51bf589619d50af34f94573","kind":"tag","published_at":"2023-03-20T08:28:59.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.1.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.1.0/manifests"},{"name":"0.20.0","sha":"9c35f185c0d44c3cb1c7433c66e3dfbb921e5e54","kind":"commit","published_at":"2022-06-05T17:11:40.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.20.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.20.0/manifests"},{"name":"0.19.0","sha":"f816ce13d14565e50fcfa6f558f65a4f00232925","kind":"commit","published_at":"2022-05-04T13:58:28.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.19.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.19.0/manifests"},{"name":"0.18.1","sha":"78be255fceae871b6557308e6449b30d28b86377","kind":"commit","published_at":"2020-09-03T07:37:57.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.18.1","html_url":"https://github.com/python-validators/validators/releases/tag/0.18.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.18.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.18.1/manifests"},{"name":"0.18.0","sha":"1452b4659cda67a56ee2f67f0ca18e675be61d0d","kind":"commit","published_at":"2020-08-19T11:28:09.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.18.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.18.0/manifests"},{"name":"0.17.1","sha":"f441a098655cce2edf94a74b35556b1a17aea135","kind":"commit","published_at":"2020-08-03T19:47:28.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.17.1","html_url":"https://github.com/python-validators/validators/releases/tag/0.17.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.17.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.17.1/manifests"},{"name":"0.17.0","sha":"93fe7adc2285279f5de3b11b8d405c580764ba01","kind":"commit","published_at":"2020-08-02T08:05:58.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.17.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.17.0/manifests"},{"name":"0.16.0","sha":"1dd07ab19aed7dd1c61ce04eac0e59807aa6e39c","kind":"commit","published_at":"2020-07-16T11:04:59.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.16.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.16.0/manifests"},{"name":"0.15.0","sha":"b215b031c6f96ebcb58670a7e646a38aadfffd3b","kind":"commit","published_at":"2020-05-07T12:31:40.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.15.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.15.0/manifests"},{"name":"0.2.0","sha":"8fbac5692b3f40973d2a24fa33d8e59183a9f781","kind":"commit","published_at":"2020-05-07T12:26:43.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.2.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.2.0/manifests"},{"name":"0.14.2","sha":"84dfb21578171be009b0d6a6e85758645e1e4c7c","kind":"commit","published_at":"2020-01-24T09:58:21.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.14.2","html_url":"https://github.com/python-validators/validators/releases/tag/0.14.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.14.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.14.2/manifests"},{"name":"0.14.1","sha":"0693cedd6942e079e64ebaebc35e8362f5780a37","kind":"commit","published_at":"2019-12-04T17:50:29.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.14.1","html_url":"https://github.com/python-validators/validators/releases/tag/0.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.14.1/manifests"},{"name":"0.14.0","sha":"b995f818a8266e9ba503280f65ee715cc64535fe","kind":"commit","published_at":"2019-08-21T07:50:20.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.14.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.14.0/manifests"},{"name":"0.12.5","sha":"34d355e87168241e872b25811d245810df2bd430","kind":"commit","published_at":"2019-04-15T11:22:45.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.12.5","html_url":"https://github.com/python-validators/validators/releases/tag/0.12.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.12.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.12.5/manifests"},{"name":"0.12.4","sha":"fc0eeaef94608fe9be7ee7f17913b8e96a764236","kind":"commit","published_at":"2019-01-02T15:39:07.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.12.4","html_url":"https://github.com/python-validators/validators/releases/tag/0.12.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.12.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.12.4/manifests"},{"name":"0.12.1","sha":"8cf1e8fb5ed3af3d428b0230c50d63d55dd0939a","kind":"commit","published_at":"2018-01-30T09:42:05.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.12.1","html_url":"https://github.com/python-validators/validators/releases/tag/0.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.12.1/manifests"},{"name":"0.11.3","sha":"aeb850258c8c61a7939358c89207af3eba70e3aa","kind":"commit","published_at":"2017-03-27T12:46:26.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.11.3","html_url":"https://github.com/python-validators/validators/releases/tag/0.11.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.11.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.11.3/manifests"},{"name":"0.11.2","sha":"97f5c593ef66bae23e0e04895a79991534dae36b","kind":"commit","published_at":"2017-01-08T12:27:35.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.11.2","html_url":"https://github.com/python-validators/validators/releases/tag/0.11.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.11.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.11.2/manifests"},{"name":"0.11.1","sha":"931f507e076418b38009755eacc3dae05af2c636","kind":"commit","published_at":"2016-11-19T09:25:32.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.11.1","html_url":"https://github.com/python-validators/validators/releases/tag/0.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.11.1/manifests"},{"name":"0.11.0","sha":"453cb70ba01d47c114e95356a1faeb9e95b98788","kind":"commit","published_at":"2016-08-30T15:00:10.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.11.0","html_url":"https://github.com/python-validators/validators/releases/tag/0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.11.0/manifests"},{"name":"0.10.3","sha":"c6735b4ddd068e6e27abcb40d1c8a4c09d871aa1","kind":"commit","published_at":"2016-06-13T15:13:34.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.10.3","html_url":"https://github.com/python-validators/validators/releases/tag/0.10.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.10.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.10.3/manifests"},{"name":"0.10.2","sha":"b0364c8f470b186958c5477bd031a460189c5f97","kind":"commit","published_at":"2016-06-11T06:52:39.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.10.2","html_url":"https://github.com/python-validators/validators/releases/tag/0.10.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.10.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.10.2/manifests"},{"name":"0.10.1","sha":"5f28c39963381c9847908cca76473ff75175d316","kind":"commit","published_at":"2016-05-09T15:07:48.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.10.1","html_url":"https://github.com/python-validators/validators/releases/tag/0.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.10.1/manifests"},{"name":"0.10","sha":"3e51baeb93f9d21cf0e410a6a11f18710bc4e2c2","kind":"commit","published_at":"2016-01-09T09:00:46.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.10","html_url":"https://github.com/python-validators/validators/releases/tag/0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.10/manifests"},{"name":"0.9","sha":"faba0bb17fc50d9468238349c0a5bdbe254cf74d","kind":"commit","published_at":"2015-10-10T06:54:11.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.9","html_url":"https://github.com/python-validators/validators/releases/tag/0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.9/manifests"},{"name":"0.8","sha":"d6c8da14862d073c0a2be577016a48d49f226d22","kind":"commit","published_at":"2015-06-24T07:31:33.000Z","download_url":"https://codeload.github.com/python-validators/validators/tar.gz/0.8","html_url":"https://github.com/python-validators/validators/releases/tag/0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-validators%2Fvalidators/tags/0.8/manifests"}]},"repo_metadata_updated_at":"2024-01-05T06:06:27.358Z","dependent_packages_count":2347,"downloads":16801750,"downloads_period":"last-month","dependent_repos_count":14194,"rankings":{"downloads":0.11070631006912951,"dependent_repos_count":0.07088252555200719,"dependent_packages_count":0.04668338376409076,"stargazers_count":2.1458114933765366,"forks_count":4.071313261072176,"docker_downloads_count":0.3479341173601213,"average":1.1322218485323436},"purl":"pkg:pypi/validators","advisories":[{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTVxY2ctdzJjYy14ZmZ3","url":"https://github.com/advisories/GHSA-5qcg-w2cc-xffw","title":"Uncontrolled resource consumption in validators Python package","description":"The validators package 0.12.2 through 0.12.5 for Python enters an infinite loop when validators.domain is called with a crafted domain string. This is fixed in 0.12.6.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2020-01-21T20:32:09.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.5,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","references":["https://nvd.nist.gov/vuln/detail/CVE-2019-19588","https://github.com/kvesteri/validators/issues/86","https://github.com/python-validators/validators/issues/86","https://github.com/advisories/GHSA-5qcg-w2cc-xffw","https://github.com/pypa/advisory-database/tree/main/vulns/validators/PYSEC-2019-134.yaml"],"source_kind":"github","identifiers":["GHSA-5qcg-w2cc-xffw","CVE-2019-19588"],"repository_url":"https://github.com/kvesteri/validators","blast_radius":31.14078600669651,"packages":[{"versions":[{"first_patched_version":"0.12.6","vulnerable_version_range":"\u003e= 0.12.2, \u003c 0.12.6"}],"ecosystem":"pypi","package_name":"validators"}],"created_at":"2022-12-21T16:13:26.623Z","updated_at":"2025-03-30T02:14:54.943Z","epss_percentage":0.00316,"epss_percentile":0.38301}],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/validators","docker_dependents_count":851,"docker_downloads_count":264941031,"usage_url":"https://repos.ecosyste.ms/usage/pypi/validators","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/validators/dependencies","status":null,"funding_links":[],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/validators/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/validators/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/validators/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/validators/related_packages","maintainers":[{"uuid":"kvesteri","login":"kvesteri","name":null,"email":null,"url":null,"packages_count":22,"html_url":"https://pypi.org/user/kvesteri/","role":null,"created_at":"2023-01-17T11:46:18.148Z","updated_at":"2023-01-17T11:46:18.148Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/kvesteri/packages"},{"uuid":"yozachar","login":"yozachar","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/yozachar/","role":"Owner","created_at":"2024-04-19T02:34:44.778Z","updated_at":"2024-04-19T02:34:44.778Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/yozachar/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":690419,"maintainers_count":292811,"namespaces_count":0,"keywords_count":228590,"github":"pypi","metadata":{"funded_packages_count":48950},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-06-06T05:32:09.692Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},"unique_repositories_count":42,"unique_repositories_count_past_30_days":3,"recent_issues":[{"uuid":"4079698436","node_id":"PR_kwDOQmboGc7KyDWC","number":46,"state":"closed","title":"chore(deps)(deps): bump the python-minor-patch group across 1 directory with 56 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["KyaRhamil"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-03-20T21:20:19.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-16T01:20:06.000Z","updated_at":"2026-03-20T21:20:20.000Z","time_to_close":417613,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"python-minor-patch","update_count":56,"packages":[{"name":"flask","old_version":"3.0.3","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"flask-cors","old_version":"6.0.0","new_version":"6.0.2","repository_url":"https://github.com/corydolphin/flask-cors"},{"name":"werkzeug","old_version":"3.1.5","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"tenacity","old_version":"9.1.2","new_version":"9.1.4","repository_url":"https://github.com/jd/tenacity"},{"name":"numpy","old_version":"2.1.3","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"joblib","old_version":"1.4.2","new_version":"1.5.3","repository_url":"https://github.com/joblib/joblib"},{"name":"scipy","old_version":"1.14.1","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"lightgbm","old_version":"4.5.0","new_version":"4.6.0","repository_url":"https://github.com/microsoft/LightGBM"},{"name":"apscheduler","old_version":"3.10.4","new_version":"3.11.2","repository_url":"https://github.com/agronholm/apscheduler"},{"name":"celery","old_version":"5.4.0","new_version":"5.6.2","repository_url":"https://github.com/celery/celery"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"sqlalchemy","old_version":"2.0.35","new_version":"2.0.48","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"alembic","old_version":"1.13.3","new_version":"1.18.4","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"matplotlib","old_version":"3.9.2","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"pyjwt","old_version":"2.9.0","new_version":"2.12.1","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"email-validator","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/JoshData/python-email-validator"},{"name":"flask-compress","old_version":"1.15","new_version":"1.23","repository_url":"https://github.com/colour-science/flask-compress"},{"name":"flask-caching","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/pallets-eco/flask-caching"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"prometheus-flask-exporter","old_version":"0.23.1","new_version":"0.23.2","repository_url":"https://github.com/rycus86/prometheus_flask_exporter"},{"name":"sentry-sdk","old_version":"2.18.0","new_version":"2.54.0"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.67.3","repository_url":"https://github.com/tqdm/tqdm"},{"name":"openmeteo-requests","old_version":"1.2.0","new_version":"1.7.5","repository_url":"https://github.com/open-meteo/python-requests"},{"name":"requests-cache","old_version":"1.2.1","new_version":"1.3.1","repository_url":"https://github.com/requests-cache/requests-cache"},{"name":"beautifulsoup4","old_version":"4.12.3","new_version":"4.14.3"},{"name":"tabula-py","old_version":"2.9.3","new_version":"2.10.0","repository_url":"https://github.com/chezou/tabula-py"},{"name":"reportlab","old_version":"4.2.5","new_version":"4.4.10"},{"name":"shap","old_version":"0.50.0","new_version":"0.51.0","repository_url":"https://github.com/shap/shap"},{"name":"geopandas","old_version":"1.1.2","new_version":"1.1.3","repository_url":"https://github.com/geopandas/geopandas"},{"name":"folium","old_version":"0.18.0","new_version":"0.20.0","repository_url":"https://github.com/python-visualization/folium"},{"name":"shapely","old_version":"2.0.6","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"},{"name":"statsmodels","old_version":"0.14.4","new_version":"0.14.6","repository_url":"https://github.com/statsmodels/statsmodels"},{"name":"prophet","old_version":"1.1.6","new_version":"1.3.0","repository_url":"https://github.com/facebook/prophet"},{"name":"graphql-core","old_version":"3.2.5","new_version":"3.2.8","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"earthengine-api","old_version":"1.4.3","new_version":"1.7.17","repository_url":"https://github.com/google/earthengine-api"},{"name":"google-cloud-bigquery","old_version":"3.27.0","new_version":"3.40.1","repository_url":"https://github.com/googleapis/python-bigquery"},{"name":"google-auth","old_version":"2.37.0","new_version":"2.49.1","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-auth-oauthlib","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-auth-httplib2","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2"},{"name":"jupyter","old_version":"1.0.0","new_version":"1.1.1"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-xdist","old_version":"3.5.0","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"responses","old_version":"0.24.1","new_version":"0.26.0","repository_url":"https://github.com/getsentry/responses"},{"name":"httpx","old_version":"0.25.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"locust","old_version":"2.20.1","new_version":"2.43.3","repository_url":"https://github.com/locustio/locust"},{"name":"bandit","old_version":"1.7.6","new_version":"1.9.4","repository_url":"https://github.com/PyCQA/bandit"},{"name":"safety","old_version":"3.2.0","new_version":"3.7.0","repository_url":"https://github.com/pyupio/safety"},{"name":"pip-audit","old_version":"2.7.3","new_version":"2.10.0","repository_url":"https://github.com/pypa/pip-audit"},{"name":"coverage","old_version":"7.6.0","new_version":"7.13.4","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"coverage-badge","old_version":"1.1.0","new_version":"1.1.2","repository_url":"https://github.com/dbrgn/coverage-badge"},{"name":"pytest-html","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/pytest-dev/pytest-html"},{"name":"google-cloud-bigquery-storage","old_version":"2.27.0","new_version":"2.36.2","repository_url":"https://github.com/googleapis/google-cloud-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 56 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `3.0.3` | `3.1.3` |\n| [flask-cors](https://github.com/corydolphin/flask-cors) | `6.0.0` | `6.0.2` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.5` | `3.1.6` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [tenacity](https://github.com/jd/tenacity) | `9.1.2` | `9.1.4` |\n| [numpy](https://github.com/numpy/numpy) | `2.1.3` | `2.4.3` |\n| [joblib](https://github.com/joblib/joblib) | `1.4.2` | `1.5.3` |\n| [scipy](https://github.com/scipy/scipy) | `1.14.1` | `1.17.1` |\n| [lightgbm](https://github.com/microsoft/LightGBM) | `4.5.0` | `4.6.0` |\n| [apscheduler](https://github.com/agronholm/apscheduler) | `3.10.4` | `3.11.2` |\n| [celery](https://github.com/celery/celery) | `5.4.0` | `5.6.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.2` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.35` | `2.0.48` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.13.3` | `1.18.4` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.9.2` | `3.10.8` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.9.0` | `2.12.1` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [email-validator](https://github.com/JoshData/python-email-validator) | `2.2.0` | `2.3.0` |\n| [flask-compress](https://github.com/colour-science/flask-compress) | `1.15` | `1.23` |\n| [flask-caching](https://github.com/pallets-eco/flask-caching) | `2.3.0` | `2.3.1` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [prometheus-flask-exporter](https://github.com/rycus86/prometheus_flask_exporter) | `0.23.1` | `0.23.2` |\n| [sentry-sdk[flask]](https://github.com/getsentry/sentry-python) | `2.18.0` | `2.54.0` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.1` | `4.67.3` |\n| [openmeteo-requests](https://github.com/open-meteo/python-requests) | `1.2.0` | `1.7.5` |\n| [requests-cache](https://github.com/requests-cache/requests-cache) | `1.2.1` | `1.3.1` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.12.3` | `4.14.3` |\n| [tabula-py](https://github.com/chezou/tabula-py) | `2.9.3` | `2.10.0` |\n| [reportlab](https://www.reportlab.com/) | `4.2.5` | `4.4.10` |\n| [shap](https://github.com/shap/shap) | `0.50.0` | `0.51.0` |\n| [geopandas](https://github.com/geopandas/geopandas) | `1.1.2` | `1.1.3` |\n| [folium](https://github.com/python-visualization/folium) | `0.18.0` | `0.20.0` |\n| [shapely](https://github.com/shapely/shapely) | `2.0.6` | `2.1.2` |\n| [statsmodels](https://github.com/statsmodels/statsmodels) | `0.14.4` | `0.14.6` |\n| [prophet](https://github.com/facebook/prophet) | `1.1.6` | `1.3.0` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.5` | `3.2.8` |\n| [earthengine-api](https://github.com/google/earthengine-api) | `1.4.3` | `1.7.17` |\n| [google-cloud-bigquery](https://github.com/googleapis/python-bigquery) | `3.27.0` | `3.40.1` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.37.0` | `2.49.1` |\n| [google-auth-oauthlib](https://github.com/googleapis/google-cloud-python) | `1.2.1` | `1.3.0` |\n| [google-auth-httplib2](https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2) | `0.2.0` | `0.3.0` |\n| [jupyter](https://jupyter.org) | `1.0.0` | `1.1.1` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.15.1` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.5.0` | `3.8.0` |\n| [responses](https://github.com/getsentry/responses) | `0.24.1` | `0.26.0` |\n| [httpx](https://github.com/encode/httpx) | `0.25.2` | `0.28.1` |\n| [locust](https://github.com/locustio/locust) | `2.20.1` | `2.43.3` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.7.6` | `1.9.4` |\n| [safety](https://github.com/pyupio/safety) | `3.2.0` | `3.7.0` |\n| [pip-audit](https://github.com/pypa/pip-audit) | `2.7.3` | `2.10.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.6.0` | `7.13.4` |\n| [coverage-badge](https://github.com/dbrgn/coverage-badge) | `1.1.0` | `1.1.2` |\n| [pytest-html](https://github.com/pytest-dev/pytest-html) | `4.1.1` | `4.2.0` |\n| [google-cloud-bigquery-storage](https://github.com/googleapis/google-cloud-python) | `2.27.0` | `2.36.2` |\n\n\nUpdates `flask` from 3.0.3 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue 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/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.0.3...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask-cors` from 6.0.0 to 6.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/corydolphin/flask-cors/releases\"\u003eflask-cors's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate license pyproject.toml by \u003ca href=\"https://github.com/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\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/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInvert regex sorting to make it correctly match the intent (sorting by specificity descending) \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1.dev\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\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/corydolphin/flask-cors/commit/fa55dcbec68b3524a39e5057c35c29c221a27d64\"\u003e\u003ccode\u003efa55dcb\u003c/code\u003e\u003c/a\u003e Update license pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/a5003f391e56f74f11a3e509cd180787c75eb6b0\"\u003e\u003ccode\u003ea5003f3\u003c/code\u003e\u003c/a\u003e Fix README file extension in pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/4ad56d6c20252d36031c74ba8386a81e94286f40\"\u003e\u003ccode\u003e4ad56d6\u003c/code\u003e\u003c/a\u003e Fix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 3.1.5 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/releases\"\u003ewerkzeug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.6 security fix release, which fixes a security issue 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/Werkzeug/3.1.6/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in multi-segment paths. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x\"\u003eGHSA-29vq-49wr-vm6x\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/blob/main/CHANGES.rst\"\u003ewerkzeug's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.6\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in\nmulti-segment paths. :ghsa:\u003ccode\u003e29vq-49wr-vm6x\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/04da1b5221b7a7b57e82246e4b5741d37a6b2e56\"\u003e\u003ccode\u003e04da1b5\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f407712fdc60a09c2b3f4fe7db557703e5d9338d\"\u003e\u003ccode\u003ef407712\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f54fe98026253e70fbbcd35a6b52fb67cfff1c03\"\u003e\u003ccode\u003ef54fe98\u003c/code\u003e\u003c/a\u003e safe_join prevents Windows special device names in multi-segment paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/d005985ef69ffe3275eda8fb6fb25e074dbe871b\"\u003e\u003ccode\u003ed005985\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/8565c2cbd6681ae8463e77d4fc0795324a7fdae7\"\u003e\u003ccode\u003e8565c2c\u003c/code\u003e\u003c/a\u003e document rule priority (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/3febc7e90072bffe04c27e6b7478dfc4f88930df\"\u003e\u003ccode\u003e3febc7e\u003c/code\u003e\u003c/a\u003e document rule priority\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/2525b827646c10ab7adb334664e6a4af1b769181\"\u003e\u003ccode\u003e2525b82\u003c/code\u003e\u003c/a\u003e remove state machine docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/4abfbd553cdeb6d4e6fa693340d52b13c884079f\"\u003e\u003ccode\u003e4abfbd5\u003c/code\u003e\u003c/a\u003e rewrite build docstring (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3097\"\u003e#3097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/161c18b2a8800ae6ef377fb3cbdb933a878fea67\"\u003e\u003ccode\u003e161c18b\u003c/code\u003e\u003c/a\u003e rewrite build docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/86e11c29e44726dae524cd9db11549b3b1ad681d\"\u003e\u003ccode\u003e86e11c2\u003c/code\u003e\u003c/a\u003e release version 3.1.5 (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pallets/werkzeug/compare/3.1.5...3.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tenacity` from 9.1.2 to 9.1.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jd/tenacity/releases\"\u003etenacity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.1.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eretry()\u003c/code\u003e annotations with async \u003ccode\u003esleep=\u003c/code\u003e function by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/555\"\u003ejd/tenacity#555\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.3...9.1.4\"\u003ehttps://github.com/jd/tenacity/compare/9.1.3...9.1.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e9.1.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eApply formatting to num seconds in before_sleep_log by \u003ca href=\"https://github.com/aguinane\"\u003e\u003ccode\u003e@​aguinane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/489\"\u003ejd/tenacity#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/sandrobonazzola\"\u003e\u003ccode\u003e@​sandrobonazzola\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/528\"\u003ejd/tenacity#528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTyping: Accept non-standard logger in helpers logging something by \u003ca href=\"https://github.com/k4nar\"\u003e\u003ccode\u003e@​k4nar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/540\"\u003ejd/tenacity#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(wait): add \u003ccode\u003ewait_exception\u003c/code\u003e strategy by \u003ca href=\"https://github.com/capitan-davide\"\u003e\u003ccode\u003e@​capitan-davide\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/541\"\u003ejd/tenacity#541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix syntax error in wait_chain docstring example by \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/548\"\u003ejd/tenacity#548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: drop Python 3.9 support (EOL) by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/552\"\u003ejd/tenacity#552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport async sleep for sync fn-to-retry by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/551\"\u003ejd/tenacity#551\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/aguinane\"\u003e\u003ccode\u003e@​aguinane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/489\"\u003ejd/tenacity#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sandrobonazzola\"\u003e\u003ccode\u003e@​sandrobonazzola\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/528\"\u003ejd/tenacity#528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/k4nar\"\u003e\u003ccode\u003e@​k4nar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/540\"\u003ejd/tenacity#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capitan-davide\"\u003e\u003ccode\u003e@​capitan-davide\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/541\"\u003ejd/tenacity#541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/548\"\u003ejd/tenacity#548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/552\"\u003ejd/tenacity#552\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.2...9.1.3\"\u003ehttps://github.com/jd/tenacity/compare/9.1.2...9.1.3\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/jd/tenacity/commit/d4e868d6b8368c00b5a1fad54de36c2c8c3a0fb3\"\u003e\u003ccode\u003ed4e868d\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eretry()\u003c/code\u003e annotations with async \u003ccode\u003esleep=\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/24415ebbca6ecafdf870af06441656dd96149d1d\"\u003e\u003ccode\u003e24415eb\u003c/code\u003e\u003c/a\u003e support async sleep for sync fn (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/3bf33b44096077a0608855f6a380fd8a25fa6f26\"\u003e\u003ccode\u003e3bf33b4\u003c/code\u003e\u003c/a\u003e chore: drop Python 3.9 support (EOL) (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/552\"\u003e#552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/7027da31d27155c7b1831e292a29575af7b5c2b1\"\u003e\u003ccode\u003e7027da3\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/21ae7d0cc27069defd111e8ec81407f6d14089f6\"\u003e\u003ccode\u003e21ae7d0\u003c/code\u003e\u003c/a\u003e docs: fix syntax error in wait_chain docstring example (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/548\"\u003e#548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/ef12c9ed1df4dec3748b1fa9304527245b041d2d\"\u003e\u003ccode\u003eef12c9e\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/checkout in the github-actions group (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/c35a4b341ef5e553c670290fbd8835b59d5f08a3\"\u003e\u003ccode\u003ec35a4b3\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/e792bbaf0cab3685c8000899cb9f61e04d6f3e23\"\u003e\u003ccode\u003ee792bba\u003c/code\u003e\u003c/a\u003e ci: fix mypy (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/0f55245b8da5c4cc8385c2f692164a6ff52cd88e\"\u003e\u003ccode\u003e0f55245\u003c/code\u003e\u003c/a\u003e ci: remove reno requirements (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/815c34fec2c8d64fe2bc8a6bdd79bfb41f1938c6\"\u003e\u003ccode\u003e815c34f\u003c/code\u003e\u003c/a\u003e feat(wait): add \u003ccode\u003ewait_exception\u003c/code\u003e strategy (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/541\"\u003e#541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.2...9.1.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.1.3 to 2.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.3 (Mar 9, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.3 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.3 is a patch release that fixes bugs discovered after the\n2.4.2 release. The most user visible fix may be a threading fix for\nOpenBLAS on ARM, closing issue \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30816\"\u003e#30816\u003c/a\u003e.\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 11 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\u003eAntareep Sarkar +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMatthieu Darbois\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003ePeter Hawkins\u003c/li\u003e\n\u003cli\u003ePieter Eendebak\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003cli\u003estratakis +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 14 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/30759\"\u003e#30759\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/30827\"\u003e#30827\u003c/a\u003e: BUG: Fix some leaks found via LeakSanitizer (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30756\"\u003e#30756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30841\"\u003e#30841\u003c/a\u003e: MAINT: Synchronize 2.4.x submodules with main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30849\"\u003e#30849\u003c/a\u003e: TYP: \u003ccode\u003ematlib\u003c/code\u003e: missing extended precision imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30850\"\u003e#30850\u003c/a\u003e: BUG: Fix weak hash function in np.isin(). (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30840\"\u003e#30840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30921\"\u003e#30921\u003c/a\u003e: BUG: fix infinite recursion in np.ma.flatten_structured_array...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30922\"\u003e#30922\u003c/a\u003e: BUG: Fix buffer overrun in CPU baseline validation (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30877\"\u003e#30877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30923\"\u003e#30923\u003c/a\u003e: BUG: Fix busdaycalendar's handling of a bool array weekmask....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30924\"\u003e#30924\u003c/a\u003e: BUG: Fix reference leaks and NULL pointer dereferences (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30908\"\u003e#30908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30925\"\u003e#30925\u003c/a\u003e: MAINT: fix two minor issues noticed when touching the C API setup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30955\"\u003e#30955\u003c/a\u003e: ENH: Test .kind not .char in np.testing.assert_equal (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30879\"\u003e#30879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30957\"\u003e#30957\u003c/a\u003e: BUG: fix type issues in uses if PyDataType macros\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30958\"\u003e#30958\u003c/a\u003e: MAINT: Don't use vulture 2.15, it has false positives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30973\"\u003e#30973\u003c/a\u003e: MAINT: update openblas (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30961\"\u003e#30961\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.2 (Feb 1, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.2 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.2 is a patch release that fixes bugs discovered after the\n2.4.1 release. Highlights are:\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/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003ch2\u003eCheck the numpy-release repo\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/8bcb2e72e67c343e55165e6064fe6a9dc011e954\"\u003e\u003ccode\u003e8bcb2e7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30974\"\u003e#30974\u003c/a\u003e from charris/prepare-2.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9a2b5eef3b142e852c0092d449b2ea54e8d87314\"\u003e\u003ccode\u003e9a2b5ee\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a822ac28798a9a7ed1094879caaf885e282ccb6c\"\u003e\u003ccode\u003ea822ac2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30973\"\u003e#30973\u003c/a\u003e from charris/backport-30961\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/039bf549aad7ac149587884582e561f555ed770a\"\u003e\u003ccode\u003e039bf54\u003c/code\u003e\u003c/a\u003e MAINT: update openblas (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30961\"\u003e#30961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/254bafa78941aa1ceb9f4680c9f07e9ec6bb94b0\"\u003e\u003ccode\u003e254bafa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30955\"\u003e#30955\u003c/a\u003e from charris/backport-30879\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/0cc7d38c659741ddece03e59dad154bf3006bf49\"\u003e\u003ccode\u003e0cc7d38\u003c/code\u003e\u003c/a\u003e ENH: Test .kind not .char in np.testing.assert_equal (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30879\"\u003e#30879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9ee571dee7982c1e8369148c1585a07e9bd878b8\"\u003e\u003ccode\u003e9ee571d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30957\"\u003e#30957\u003c/a\u003e from charris/backport-30918\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f302a1699020958b2ee02a3eb4177160f8153556\"\u003e\u003ccode\u003ef302a16\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30958\"\u003e#30958\u003c/a\u003e from charris/backport-30938\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/d240a09784a41e9f7b00de2d9d24b2a1d46d171b\"\u003e\u003ccode\u003ed240a09\u003c/code\u003e\u003c/a\u003e MAINT: Don't use vulture 2.15, it has false positives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/4fc08e9ebfd25530345fbd8f03bcd60fb7b0fbda\"\u003e\u003ccode\u003e4fc08e9\u003c/code\u003e\u003c/a\u003e MAINT: Don't use vulture 2.15, it has false positives\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.1.3...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `joblib` from 1.4.2 to 1.5.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/joblib/joblib/blob/main/CHANGES.rst\"\u003ejoblib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.5.3 - 2025/12/15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eMemory\u003c/code\u003e object won't overwrite an already existing \u003ccode\u003e.gitignore\u003c/code\u003e file in its\ncache directory anymore.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1742\"\u003ejoblib/joblib#1742\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHarden the safety checks in \u003ccode\u003eeval_expr(pre_dispatch)\u003c/code\u003e to prevent excessive\nmemory allocation and potential crashes by limiting the allowed length of the\nexpression and the maximum numeric value of sub-expressions and not\nevaluating expressions with non-numeric literals.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1744\"\u003ejoblib/joblib#1744\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor cloudpickle 3.1.2 to fix a pickling problem with interactively\ndefined abstract base classes and type annotations in Python 3.14+.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.2 - 2025/08/27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendor \u003ccode\u003eloky3.5.6\u003c/code\u003e fixing the resource tracker for python 3.13.7+\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1740\"\u003ejoblib/joblib#1740\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMemory:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Ensure that temporary files managed by the ``Memory`` object do not collide\n  when using the same cache directory when the cache directory is accessed\n  concurrently from different nodes on a cluster with a shared filesystem.\n  https://github.com/joblib/joblib/pull/1656\n\u003ch2\u003eRelease 1.5.1 - 2025/05/23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix backend hints causing errors when no multiprocessing is present\u003cbr /\u003e\n\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1721\"\u003ejoblib/joblib#1721\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor \u003ccode\u003eloky3.5.5\u003c/code\u003e fixing the resource_tracker clean up with earlier Python\u003cbr /\u003e\nversions. \u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1724\"\u003ejoblib/joblib#1724\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.0 -- 2025/05/03\u003c/h2\u003e\n\u003cp\u003eMemory:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eEnforce \u003ccode\u003eage_limit\u003c/code\u003e is a positive timedelta for \u003ccode\u003eMemory.reduce_size\u003c/code\u003e,\nto avoid silently ignoring it.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1613\"\u003ejoblib/joblib#1613\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003ebytes_limit\u003c/code\u003e argument for \u003ccode\u003eMemory\u003c/code\u003e, which should\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/joblib/joblib/commit/40cd002ae1765195dfc4738a6bc7f5534b420a21\"\u003e\u003ccode\u003e40cd002\u003c/code\u003e\u003c/a\u003e RELEASE 1.5.3 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f05be6705e0f56856b76d76fecdddab95de394c8\"\u003e\u003ccode\u003ef05be67\u003c/code\u003e\u003c/a\u003e MNT Remove last usage of distutils (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1760\"\u003e#1760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/4273f396b7fb66da7f72f603a6bf6651393c5be1\"\u003e\u003ccode\u003e4273f39\u003c/code\u003e\u003c/a\u003e MNT bump actions/checkout from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1762\"\u003e#1762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f465f0245d20c1e793d98b8071a9604623ffd528\"\u003e\u003ccode\u003ef465f02\u003c/code\u003e\u003c/a\u003e FIX don't overwrite existing .gitignore (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1742\"\u003e#1742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/cca7d87a94a1bd141c6c505a909becd4c1854fde\"\u003e\u003ccode\u003ecca7d87\u003c/code\u003e\u003c/a\u003e MNT bump sklearn test on python 3.12 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1759\"\u003e#1759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f7775ad30051d95d83da76125b176962989bf763\"\u003e\u003ccode\u003ef7775ad\u003c/code\u003e\u003c/a\u003e MNT remove deprecated pytest feature (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1757\"\u003e#1757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/3c58aab890faad3b01eda5e6b35f382edcd71f91\"\u003e\u003ccode\u003e3c58aab\u003c/code\u003e\u003c/a\u003e Add Python 3.14 and 3.14t to the testing (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1747\"\u003e#1747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/9b96664daa07e11f6bee797f55567ac28a961cdb\"\u003e\u003ccode\u003e9b96664\u003c/code\u003e\u003c/a\u003e Bump cloudpickle to 3.1.2 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1752\"\u003e#1752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/c3bdbd9511da485c7036a433dce1924bdbbd1313\"\u003e\u003ccode\u003ec3bdbd9\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 5 updates (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1749\"\u003e#1749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/a09bb30b22b286ee8b233fe9391b21560e1799a9\"\u003e\u003ccode\u003ea09bb30\u003c/code\u003e\u003c/a\u003e Keep GitHub Actions up to date with GitHub's Dependabot (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1748\"\u003e#1748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/joblib/joblib/compare/1.4.2...1.5.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.14.1 to 1.17.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy/releases\"\u003escipy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSciPy 1.17.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.1\u003c/code\u003e is a bug-fix release with no new features compared to \u003ccode\u003e1.17.0\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eAuthors\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eName (commits)\u003c/li\u003e\n\u003cli\u003eEvgeni Burovski (5)\u003c/li\u003e\n\u003cli\u003eLucas Colley (1)\u003c/li\u003e\n\u003cli\u003eChristoph Gohlke (1)\u003c/li\u003e\n\u003cli\u003eRalf Gommers (6)\u003c/li\u003e\n\u003cli\u003eMatt Haberland (5)\u003c/li\u003e\n\u003cli\u003eMatthias Koeppe (1)\u003c/li\u003e\n\u003cli\u003eNick ODell (1)\u003c/li\u003e\n\u003cli\u003eIlhan Polat (10)\u003c/li\u003e\n\u003cli\u003eTyler Reddy (44)\u003c/li\u003e\n\u003cli\u003eMartin Schuck (3)\u003c/li\u003e\n\u003cli\u003eDan Schult (3)\u003c/li\u003e\n\u003cli\u003estratakis (1) +\u003c/li\u003e\n\u003cli\u003eਗਗਨਦੀਪ ਸਿੰਘ (Gagandeep Singh) (1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eA total of 13 people contributed to this release.\nPeople with a \u0026quot;+\u0026quot; by their names contributed a patch for the first time.\nThis list of names is automatically generated, and may not be fully complete.\u003c/p\u003e\n\u003cp\u003eComplete issue list, PR list, and release asset hashes are available in the associated \u003ca href=\"https://github.com/scipy/scipy/releases/download/v1.17.1/README.txt\"\u003e\u003ccode\u003eREADME.txt\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eSciPy 1.17.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.0\u003c/code\u003e is the culmination of 6 months of hard work. It contains\nmany new features, numerous bug-fixes, improved test coverage and better\ndocumentation. There have been a number of deprecations and API changes\nin this release, which are documented below. All users are encouraged to\nupgrade to this release, as there are a large number of bug-fixes and\noptimizations. Before upgrading, we recommend that users check that\ntheir own code does not use deprecated SciPy functionality (to do so,\nrun your code with \u003ccode\u003epython -Wd\u003c/code\u003e and check for \u003ccode\u003eDeprecationWarning\u003c/code\u003e s).\nOur development attention will now shift to bug-fix releases on the\n\u003ccode\u003e1.17.x\u003c/code\u003e branch, and on adding new features on the main branch.\u003c/p\u003e\n\u003cp\u003eThis release requires Python \u003ccode\u003e3.11\u003c/code\u003e-\u003ccode\u003e3.14\u003c/code\u003e and NumPy \u003ccode\u003e1.26.4\u003c/code\u003e or greater.\u003c/p\u003e\n\u003ch1\u003eHighlights of this release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMany SciPy functions have gained native support for batching of N-dimensional\narray input and additional support for the array API standard. An overall\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/527eb7fd7953a1de068f94bf8b322f249b9405ae\"\u003e\u003ccode\u003e527eb7f\u003c/code\u003e\u003c/a\u003e REL: 1.17.1 release commit [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/f11663bf044f1cb5a0112a28ac238f902ae36eea\"\u003e\u003ccode\u003ef11663b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24584\"\u003e#24584\u003c/a\u003e from tylerjereddy/treddy_prep_1.17.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/2c49e68b634d2657380ca7b65207c6122e83cb72\"\u003e\u003ccode\u003e2c49e68\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/400fa15ed6f9fece4c3848e9eade0e7d5e5aece0\"\u003e\u003ccode\u003e400fa15\u003c/code\u003e\u003c/a\u003e safely convert index dtypes to intc for csgraph and superLU\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/8c704044ab6f8f3e94295f354dbadfcab9139837\"\u003e\u003ccode\u003e8c70404\u003c/code\u003e\u003c/a\u003e MAINT: PR 24584 revisions [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/6dda8c13c534a61bc56c7b11bb5841efbd37d9dd\"\u003e\u003ccode\u003e6dda8c1\u003c/code\u003e\u003c/a\u003e BUG: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/4a187e59ea9cde1f79b4fae9dbd8177adcf0ddf3\"\u003e\u003ccode\u003e4a187e5\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/463ee9f72a5f1afe3363e86344a55eea1c1ba477\"\u003e\u003ccode\u003e463ee9f\u003c/code\u003e\u003c/a\u003e ENH: linalg/inv: re-enable overwrite_a for 2D inputs (\u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24442\"\u003e#24442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/df746eed5eae0243969fd8de07770c4ace1dc65c\"\u003e\u003ccode\u003edf746ee\u003c/code\u003e\u003c/a\u003e BUG: linalg: restore dtypes in inv, solve, det\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/246bfeecbe56200ae4e265a70e06ccc64daee9c2\"\u003e\u003ccode\u003e246bfee\u003c/code\u003e\u003c/a\u003e MAINT:optimize: Enable multi-phase init to DIRECT\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy/compare/v1.14.1...v1.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lightgbm` from 4.5.0 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/microsoft/LightGBM/releases\"\u003elightgbm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.6.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e💡 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[CUDA] fix setting of CUDA architectures and enable support for NVIDIA Blackwell \u003ca href=\"https://github.com/StrikerRUS\"\u003e\u003ccode\u003e@​StrikerRUS\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6812\"\u003e#6812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[python-package] support Python 3.13 \u003ca href=\"https://github.com/jameslamb\"\u003e\u003ccode\u003e@​jameslamb\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6668\"\u003e#6668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[GPU] Add support for linear tree with device=gpu \u003ca href=\"https://github.com/dragonbra\"\u003e\u003ccode\u003e@​dragonbra\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6567\"\u003e#6567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[c++] Add Bagging by Query for Lambdarank \u003ca href=\"https://github.com/shiyu1994\"\u003e\u003ccode\u003e@​shiyu1994\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6623\"\u003e#6623\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔨 Breaking\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[R-package] require lgb.Dataset, remove support for passing 'colnames' and 'categorical_feature' for lgb.train() and lgb.cv() \u003ca href=\"https://github.com/jameslamb\"\u003e\u003ccode\u003e@​jameslamb\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6714\"\u003e#6714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[python-package] support sub-classing scikit-learn estimators \u003ca href=\"https://github.com/jameslamb\"\u003e\u003ccode\u003e@​jameslamb\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6783\"\u003e#6783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[python-package] do not copy column-major numpy arrays when creating Dataset from list of arrays \u003ca href=\"https://github.com/jmoralez\"\u003e\u003ccode\u003e@​jmoralez\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6773\"\u003e#6773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[python-package] remove support for passing 'feature_name' and 'categorical_feature' through train() and cv() \u003ca href=\"https://github.com/jameslamb\"\u003e\u003ccode\u003e@​jameslamb\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6706\"\u003e#6706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[python-package] require \u003ccode\u003escikit-learn\u0026gt;=0.24.2\u003c/code\u003e, make scikit-learn estimators compatible with \u003ccode\u003escikit-learn\u0026gt;=1.6.0dev\u003c/code\u003e \u003ca href=\"https://github.com/vnherdeiro\"\u003e\u003ccode\u003e@​vnherdeiro\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6651\"\u003e#6651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ci] Require CMake 3.28 and replace \u003ccode\u003eFetchContent_Populate\u003c/code\u003e with \u003ccode\u003eFetchContent_MakeAvailable\u003c/code\u003e \u003ca href=\"https://github.com/StrikerRUS\"\u003e\u003ccode\u003e@​StrikerRUS\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6550\"\u003e#6550\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 Efficiency Improvement\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[python-package] do not copy column-major numpy arrays when predicting \u003ca href=\"https://github.com/jmoralez\"\u003e\u003ccode\u003e@​jmoralez\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6751\"\u003e#6751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[python-package] do not copy column-major numpy arrays when creating Dataset \u003ca href=\"https://github.com/jmoralez\"\u003e\u003ccode\u003e@​jmoralez\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6721\"\u003e#6721\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[python-package] Separately check whether \u003ccode\u003epyarrow\u003c/code\u003e and \u003ccode\u003ecffi\u003c/code\u003e are installed \u003ca href=\"https://github.com/mlondschien\"\u003e\u003ccode\u003e@​mlondschien\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6785\"\u003e#6785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[c++] Fixed Predictor lifecycle and trees initialization in Contrib mode \u003ca href=\"https://github.com/AndreyOrb\"\u003e\u003ccode\u003e@​AndreyOrb\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6778\"\u003e#6778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[python-package] Infer feature names from \u003ccode\u003epyarrow.Table\u003c/code\u003e \u003ca href=\"https://github.com/mlondschien\"\u003e\u003ccode\u003e@​mlondschien\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6781\"\u003e#6781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[python-package] Fix inconsistency in \u003ccode\u003epredict()\u003c/code\u003e output shape for 1-tree models \u003ca href=\"https://github.com/RektPunk\"\u003e\u003ccode\u003e@​RektPunk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6753\"\u003e#6753\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] resolve potential attack in linker connection building \u003ca href=\"https://github.com/shiyu1994\"\u003e\u003ccode\u003e@​shiyu1994\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6752\"\u003e#6752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[R-package] Avoid bashisms (non-POSIX code) in R-package/configure \u003ca href=\"https://github.com/smoser\"\u003e\u003ccode\u003e@​smoser\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6746\"\u003e#6746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[c++] fix parallel_tree_learner_split_info \u003ca href=\"https://github.com/moming39\"\u003e\u003ccode\u003e@​moming39\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6738\"\u003e#6738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[c++] Fix \u003ccode\u003edump_model()\u003c/code\u003e information for root node \u003ca href=\"https://github.com/neNasko1\"\u003e\u003ccode\u003e@​neNasko1\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6569\"\u003e#6569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[cmake] [R-package] include R-for-macOS vendored libs dir in OpenMP search path (fixes \u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6628\"\u003e#6628\u003c/a\u003e) \u003ca href=\"https://github.com/jameslamb\"\u003e\u003ccode\u003e@​jameslamb\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6629\"\u003e#6629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[R-package] only warn about early stopping and DART boosting being incompatible if early stopping was requested \u003ca href=\"https://github.com/serkor1\"\u003e\u003ccode\u003e@​serkor1\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6619\"\u003e#6619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[cmake] fixes static build for macos with OpenMP enabled (fixes \u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6601\"\u003e#6601\u003c/a\u003e) \u003ca href=\"https://github.com/Mottl\"\u003e\u003ccode\u003e@​Mottl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6600\"\u003e#6600\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[docs] update installation guide \u003ca href=\"https://github.com/StrikerRUS\"\u003e\u003ccode\u003e@​StrikerRUS\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6696\"\u003e#6696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] add note about pyodide support \u003ca href=\"https://github.com/jameslamb\"\u003e\u003ccode\u003e@​jameslamb\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6715\"\u003e#6715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove only cpu note due to gpu support for linear trees \u003ca href=\"https://github.com/JAroyan\"\u003e\u003ccode\u003e@​JAroyan\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6686\"\u003e#6686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] fix inaccurate comment for \u003ccode\u003eforce_col_wise\u003c/code\u003e param with CUDA version \u003ca href=\"https://github.com/StrikerRUS\"\u003e\u003ccode\u003e@​StrikerRUS\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] group logically external projects in README and add some new libraries \u003ca href=\"https://github.com/StrikerRUS\"\u003e\u003ccode\u003e@​StrikerRUS\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6691\"\u003e#6691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] use consistent naming for R-package and Python-package across the repo \u003ca href=\"https://github.com/StrikerRUS\"\u003e\u003ccode\u003e@​StrikerRUS\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6655\"\u003e#6655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] add supertree in README \u003ca href=\"https://github.com/pplonski\"\u003e\u003ccode\u003e@​pplonski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6625\"\u003e#6625\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] unify language and make small improvements in some param descriptions \u003ca href=\"https://github.com/StrikerRUS\"\u003e\u003ccode\u003e@​StrikerRUS\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6618\"\u003e#6618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[doc] Updates Rust bindings library link in README.md \u003ca href=\"https://github.com/Mottl\"\u003e\u003ccode\u003e@​Mottl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6611\"\u003e#6611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[R-package] [docs] update cran-comments for v4.5.0 release \u003ca href=\"https://github.com/jameslamb\"\u003e\u003ccode\u003e@​jameslamb\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6578\"\u003e#6578\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/lightgbm-org/LightGBM/commit/d02a01ac6f51d36c9e62388243bcb75c3b1b1774\"\u003e\u003ccode\u003ed02a01a\u003c/code\u003e\u003c/a\u003e release v4.6.0 (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6796\"\u003e#6796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lightgbm-org/LightGBM/commit/d24260fdad61df58588fe9e9f05337ae8061b31a\"\u003e\u003ccode\u003ed24260f\u003c/code\u003e\u003c/a\u003e [R-package] require lgb.Dataset, remove support for passing 'colnames' and 'c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lightgbm-org/LightGBM/commit/c6d90bc7fd6ef1735379287db478cb155d7213e1\"\u003e\u003ccode\u003ec6d90bc\u003c/code\u003e\u003c/a\u003e [python-package] support sub-classing scikit-learn estimators (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6783\"\u003e#6783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lightgbm-org/LightGBM/commit/768f642336b1466827bb4c374b6ade5a77a6226f\"\u003e\u003ccode\u003e768f642\u003c/code\u003e\u003c/a\u003e [c++] update to fmt 11.1.2, fast_double_parser 0.8.0 (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6802\"\u003e#6802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lightgbm-org/LightGBM/commit/1531d879d241a97c374eb7a659d9263516bceb38\"\u003e\u003ccode\u003e1531d87\u003c/code\u003e\u003c/a\u003e [ci] fix valgrind workflow (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6816\"\u003e#6816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lightgbm-org/LightGBM/commit/188f1be7e1f26123bce9f6874a030cca0c5237b2\"\u003e\u003ccode\u003e188f1be\u003c/code\u003e\u003c/a\u003e [ci] validate pyproject file by json schema (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6813\"\u003e#6813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lightgbm-org/LightGBM/commit/81922a7e8fd62a28c5b3035f69ad6d6285f7ac69\"\u003e\u003ccode\u003e81922a7\u003c/code\u003e\u003c/a\u003e [ci] [python-package] update pre-commit hooks to latest versions (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6817\"\u003e#6817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lightgbm-org/LightGBM/commit/2db0b25ee3d21f5b291b4f11dd4652909318bdb8\"\u003e\u003ccode\u003e2db0b25\u003c/code\u003e\u003c/a\u003e [python-package] Separately check whether \u003ccode\u003epyarrow\u003c/code\u003e and \u003ccode\u003ecffi\u003c/code\u003e are installed ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lightgbm-org/LightGBM/commit/c9de57b09cf9293213fa41b423e2409ebd9ae5c1\"\u003e\u003ccode\u003ec9de57b\u003c/code\u003e\u003c/a\u003e [CUDA] fix setting of CUDA architectures and enable support for NVIDIA Blackw...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lightgbm-org/LightGBM/commit/f2b959cdeeca7e60feaa2810738ba6f7bac24fb4\"\u003e\u003ccode\u003ef2b959c\u003c/code\u003e\u003c/a\u003e [ci]: Bump release-drafter/release-drafter from 6.0.0 to 6.1.0 in the ci-depe...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/LightGBM/compare/v4.5.0...v4.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `apscheduler` from 3.10.4 to 3.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/apscheduler/releases\"\u003eapscheduler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where a job using a \u003ccode\u003eCronTrigger\u003c/code\u003e scheduled in a repeated time interval during DST transitions could cause the scheduler to get stuck in an infinite loop (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e; PR by \u003ca href=\"https://github.com/soulofakuma\"\u003e\u003ccode\u003e@​soulofakuma\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003escheduler.shutdown()\u003c/code\u003e not raising \u003ccode\u003eSchedulerNotRunning\u003c/code\u003e (or raising the wrong exception) for asynchronous schedulers when the scheduler is in fact not running\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCronTrigger\u003c/code\u003e sticking on a folded datetime during the fall-back DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e \u0026lt;\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003eagronholm/apscheduler#1021\u003c/a\u003e\u0026gt;_; PR by \u003ca href=\"https://github.com/berianjames\"\u003e\u003ccode\u003e@​berianjames\u003c/code\u003e\u003c/a\u003e)`\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.6 and 3.7\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eZoneInfo\u003c/code\u003e time zones and deprecated support for pytz time zones\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCalendarIntervalTrigger\u003c/code\u003e, backported from the 4.x series\u003c/li\u003e\n\u003cli\u003eAdded the ability to export and import jobs via \u003ccode\u003escheduler.export_jobs()\u003c/code\u003e and \u003ccode\u003escheduler.import_jobs()\u003c/code\u003e, respectively\u003c/li\u003e\n\u003cli\u003eRemoved the dependency on \u003ccode\u003esix\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e to spawn new subprocesses from scratch instead of forking on all platform\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eAsyncIOScheduler\u003c/code\u003e inadvertently creating a defunct event loop at start, leading to the scheduler not working at all\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e not respecting the passed keyword arguments when a broken pool was being replaced\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/0f70950e320f3a7924dcd404c6c379143fb68b23\"\u003e\u003ccode\u003e0f70950\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/bc404e63af18bd8e493e0765f2ad0b51e6df0ef1\"\u003e\u003ccode\u003ebc404e6\u003c/code\u003e\u003c/a\u003e Updated publish actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/c3aa155bd39fe54639d69b396f9ad720246f0c98\"\u003e\u003ccode\u003ec3aa155\u003c/code\u003e\u003c/a\u003e Updated pre-commit modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/ad6b2dc766cd6722c8aa51543f988b9ee7b13110\"\u003e\u003ccode\u003ead6b2dc\u003c/code\u003e\u003c/a\u003e Added fix for get_next_fire_time not advancing through fold with unfolded pre...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/f4df139771b7741f58f0eb456f091d3f659555c1\"\u003e\u003ccode\u003ef4df139\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/25be7b77afca892d152441d4a61402623af7f943\"\u003e\u003ccode\u003e25be7b7\u003c/code\u003e\u003c/a\u003e Fixed CronTrigger getting stuck on fallback DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1079\"\u003e#1079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/12613862e34456215dc98574f6cf594f77d66f47\"\u003e\u003ccode\u003e1261386\u003c/code\u003e\u003c/a\u003e Updated etcd image repository name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/b1f5636ccaf6a2fe86b208d7bd6b43024a1546b3\"\u003e\u003ccode\u003eb1f5636\u003c/code\u003e\u003c/a\u003e Fixed shutdown() not raising the correct exception for some schedulers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/6c72...\n\n_Description has been truncated_","html_url":"https://github.com/floodingnaque/floodingnaque/pull/46","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/floodingnaque%2Ffloodingnaque/issues/46","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/46/packages"},{"uuid":"3982214304","node_id":"PR_kwDOQmboGc7F2rcv","number":28,"state":"open","title":"chore(deps)(deps): bump the python-minor-patch group across 1 directory with 53 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["KyaRhamil"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-24T08:17:59.000Z","updated_at":"2026-02-24T08:18:12.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"python-minor-patch","update_count":53,"packages":[{"name":"flask","old_version":"3.0.3","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"flask-cors","old_version":"6.0.0","new_version":"6.0.2","repository_url":"https://github.com/corydolphin/flask-cors"},{"name":"werkzeug","old_version":"3.1.5","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"tenacity","old_version":"9.1.2","new_version":"9.1.4","repository_url":"https://github.com/jd/tenacity"},{"name":"numpy","old_version":"2.1.3","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"joblib","old_version":"1.4.2","new_version":"1.5.3","repository_url":"https://github.com/joblib/joblib"},{"name":"scipy","old_version":"1.14.1","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"apscheduler","old_version":"3.10.4","new_version":"3.11.2","repository_url":"https://github.com/agronholm/apscheduler"},{"name":"celery","old_version":"5.4.0","new_version":"5.6.2","repository_url":"https://github.com/celery/celery"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"sqlalchemy","old_version":"2.0.35","new_version":"2.0.46","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"alembic","old_version":"1.13.3","new_version":"1.18.4","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"matplotlib","old_version":"3.9.2","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"pyjwt","old_version":"2.9.0","new_version":"2.11.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"email-validator","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/JoshData/python-email-validator"},{"name":"flask-compress","old_version":"1.15","new_version":"1.23","repository_url":"https://github.com/colour-science/flask-compress"},{"name":"flask-caching","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/pallets-eco/flask-caching"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"prometheus-flask-exporter","old_version":"0.23.1","new_version":"0.23.2","repository_url":"https://github.com/rycus86/prometheus_flask_exporter"},{"name":"sentry-sdk","old_version":"2.18.0","new_version":"2.53.0"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.67.3","repository_url":"https://github.com/tqdm/tqdm"},{"name":"openmeteo-requests","old_version":"1.2.0","new_version":"1.7.5","repository_url":"https://github.com/open-meteo/python-requests"},{"name":"requests-cache","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/requests-cache/requests-cache"},{"name":"beautifulsoup4","old_version":"4.12.3","new_version":"4.14.3"},{"name":"tabula-py","old_version":"2.9.3","new_version":"2.10.0","repository_url":"https://github.com/chezou/tabula-py"},{"name":"reportlab","old_version":"4.2.5","new_version":"4.4.10"},{"name":"folium","old_version":"0.18.0","new_version":"0.20.0","repository_url":"https://github.com/python-visualization/folium"},{"name":"shapely","old_version":"2.0.6","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"},{"name":"statsmodels","old_version":"0.14.4","new_version":"0.14.6","repository_url":"https://github.com/statsmodels/statsmodels"},{"name":"prophet","old_version":"1.1.6","new_version":"1.3.0","repository_url":"https://github.com/facebook/prophet"},{"name":"graphql-core","old_version":"3.2.5","new_version":"3.2.7","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"earthengine-api","old_version":"1.4.3","new_version":"1.7.15","repository_url":"https://github.com/google/earthengine-api"},{"name":"google-cloud-bigquery","old_version":"3.27.0","new_version":"3.40.1","repository_url":"https://github.com/googleapis/python-bigquery"},{"name":"google-auth","old_version":"2.37.0","new_version":"2.48.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-auth-oauthlib","old_version":"1.2.1","new_version":"1.2.4","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib"},{"name":"google-auth-httplib2","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2"},{"name":"jupyter","old_version":"1.0.0","new_version":"1.1.1"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-xdist","old_version":"3.5.0","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"responses","old_version":"0.24.1","new_version":"0.26.0","repository_url":"https://github.com/getsentry/responses"},{"name":"httpx","old_version":"0.25.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"locust","old_version":"2.20.1","new_version":"2.43.3","repository_url":"https://github.com/locustio/locust"},{"name":"bandit","old_version":"1.7.6","new_version":"1.9.3","repository_url":"https://github.com/PyCQA/bandit"},{"name":"safety","old_version":"3.2.0","new_version":"3.7.0","repository_url":"https://github.com/pyupio/safety"},{"name":"pip-audit","old_version":"2.7.3","new_version":"2.10.0","repository_url":"https://github.com/pypa/pip-audit"},{"name":"coverage","old_version":"7.6.0","new_version":"7.13.4","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"coverage-badge","old_version":"1.1.0","new_version":"1.1.2","repository_url":"https://github.com/dbrgn/coverage-badge"},{"name":"pytest-html","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/pytest-dev/pytest-html"},{"name":"google-cloud-bigquery-storage","old_version":"2.27.0","new_version":"2.36.2","repository_url":"https://github.com/googleapis/google-cloud-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 53 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `3.0.3` | `3.1.3` |\n| [flask-cors](https://github.com/corydolphin/flask-cors) | `6.0.0` | `6.0.2` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.5` | `3.1.6` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [tenacity](https://github.com/jd/tenacity) | `9.1.2` | `9.1.4` |\n| [numpy](https://github.com/numpy/numpy) | `2.1.3` | `2.4.2` |\n| [joblib](https://github.com/joblib/joblib) | `1.4.2` | `1.5.3` |\n| [scipy](https://github.com/scipy/scipy) | `1.14.1` | `1.17.1` |\n| [apscheduler](https://github.com/agronholm/apscheduler) | `3.10.4` | `3.11.2` |\n| [celery](https://github.com/celery/celery) | `5.4.0` | `5.6.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.35` | `2.0.46` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.13.3` | `1.18.4` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.9.2` | `3.10.8` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.9.0` | `2.11.0` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [email-validator](https://github.com/JoshData/python-email-validator) | `2.2.0` | `2.3.0` |\n| [flask-compress](https://github.com/colour-science/flask-compress) | `1.15` | `1.23` |\n| [flask-caching](https://github.com/pallets-eco/flask-caching) | `2.3.0` | `2.3.1` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [prometheus-flask-exporter](https://github.com/rycus86/prometheus_flask_exporter) | `0.23.1` | `0.23.2` |\n| [sentry-sdk[flask]](https://github.com/getsentry/sentry-python) | `2.18.0` | `2.53.0` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.1` | `4.67.3` |\n| [openmeteo-requests](https://github.com/open-meteo/python-requests) | `1.2.0` | `1.7.5` |\n| [requests-cache](https://github.com/requests-cache/requests-cache) | `1.2.1` | `1.3.0` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.12.3` | `4.14.3` |\n| [tabula-py](https://github.com/chezou/tabula-py) | `2.9.3` | `2.10.0` |\n| [reportlab](https://www.reportlab.com/) | `4.2.5` | `4.4.10` |\n| [folium](https://github.com/python-visualization/folium) | `0.18.0` | `0.20.0` |\n| [shapely](https://github.com/shapely/shapely) | `2.0.6` | `2.1.2` |\n| [statsmodels](https://github.com/statsmodels/statsmodels) | `0.14.4` | `0.14.6` |\n| [prophet](https://github.com/facebook/prophet) | `1.1.6` | `1.3.0` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.5` | `3.2.7` |\n| [earthengine-api](https://github.com/google/earthengine-api) | `1.4.3` | `1.7.15` |\n| [google-cloud-bigquery](https://github.com/googleapis/python-bigquery) | `3.27.0` | `3.40.1` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.37.0` | `2.48.0` |\n| [google-auth-oauthlib](https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib) | `1.2.1` | `1.2.4` |\n| [google-auth-httplib2](https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2) | `0.2.0` | `0.3.0` |\n| [jupyter](https://jupyter.org) | `1.0.0` | `1.1.1` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.15.1` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.5.0` | `3.8.0` |\n| [responses](https://github.com/getsentry/responses) | `0.24.1` | `0.26.0` |\n| [httpx](https://github.com/encode/httpx) | `0.25.2` | `0.28.1` |\n| [locust](https://github.com/locustio/locust) | `2.20.1` | `2.43.3` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.7.6` | `1.9.3` |\n| [safety](https://github.com/pyupio/safety) | `3.2.0` | `3.7.0` |\n| [pip-audit](https://github.com/pypa/pip-audit) | `2.7.3` | `2.10.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.6.0` | `7.13.4` |\n| [coverage-badge](https://github.com/dbrgn/coverage-badge) | `1.1.0` | `1.1.2` |\n| [pytest-html](https://github.com/pytest-dev/pytest-html) | `4.1.1` | `4.2.0` |\n| [google-cloud-bigquery-storage](https://github.com/googleapis/google-cloud-python) | `2.27.0` | `2.36.2` |\n\n\nUpdates `flask` from 3.0.3 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue 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/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.0.3...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask-cors` from 6.0.0 to 6.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/corydolphin/flask-cors/releases\"\u003eflask-cors's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate license pyproject.toml by \u003ca href=\"https://github.com/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\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/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInvert regex sorting to make it correctly match the intent (sorting by specificity descending) \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1.dev\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\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/corydolphin/flask-cors/commit/fa55dcbec68b3524a39e5057c35c29c221a27d64\"\u003e\u003ccode\u003efa55dcb\u003c/code\u003e\u003c/a\u003e Update license pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/a5003f391e56f74f11a3e509cd180787c75eb6b0\"\u003e\u003ccode\u003ea5003f3\u003c/code\u003e\u003c/a\u003e Fix README file extension in pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/4ad56d6c20252d36031c74ba8386a81e94286f40\"\u003e\u003ccode\u003e4ad56d6\u003c/code\u003e\u003c/a\u003e Fix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 3.1.5 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/releases\"\u003ewerkzeug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.6 security fix release, which fixes a security issue 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/Werkzeug/3.1.6/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in multi-segment paths. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x\"\u003eGHSA-29vq-49wr-vm6x\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/blob/main/CHANGES.rst\"\u003ewerkzeug's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.6\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in\nmulti-segment paths. :ghsa:\u003ccode\u003e29vq-49wr-vm6x\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/04da1b5221b7a7b57e82246e4b5741d37a6b2e56\"\u003e\u003ccode\u003e04da1b5\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f407712fdc60a09c2b3f4fe7db557703e5d9338d\"\u003e\u003ccode\u003ef407712\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f54fe98026253e70fbbcd35a6b52fb67cfff1c03\"\u003e\u003ccode\u003ef54fe98\u003c/code\u003e\u003c/a\u003e safe_join prevents Windows special device names in multi-segment paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/d005985ef69ffe3275eda8fb6fb25e074dbe871b\"\u003e\u003ccode\u003ed005985\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/8565c2cbd6681ae8463e77d4fc0795324a7fdae7\"\u003e\u003ccode\u003e8565c2c\u003c/code\u003e\u003c/a\u003e document rule priority (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/3febc7e90072bffe04c27e6b7478dfc4f88930df\"\u003e\u003ccode\u003e3febc7e\u003c/code\u003e\u003c/a\u003e document rule priority\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/2525b827646c10ab7adb334664e6a4af1b769181\"\u003e\u003ccode\u003e2525b82\u003c/code\u003e\u003c/a\u003e remove state machine docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/4abfbd553cdeb6d4e6fa693340d52b13c884079f\"\u003e\u003ccode\u003e4abfbd5\u003c/code\u003e\u003c/a\u003e rewrite build docstring (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3097\"\u003e#3097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/161c18b2a8800ae6ef377fb3cbdb933a878fea67\"\u003e\u003ccode\u003e161c18b\u003c/code\u003e\u003c/a\u003e rewrite build docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/86e11c29e44726dae524cd9db11549b3b1ad681d\"\u003e\u003ccode\u003e86e11c2\u003c/code\u003e\u003c/a\u003e release version 3.1.5 (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pallets/werkzeug/compare/3.1.5...3.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tenacity` from 9.1.2 to 9.1.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jd/tenacity/releases\"\u003etenacity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.1.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eretry()\u003c/code\u003e annotations with async \u003ccode\u003esleep=\u003c/code\u003e function by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/555\"\u003ejd/tenacity#555\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.3...9.1.4\"\u003ehttps://github.com/jd/tenacity/compare/9.1.3...9.1.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e9.1.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eApply formatting to num seconds in before_sleep_log by \u003ca href=\"https://github.com/aguinane\"\u003e\u003ccode\u003e@​aguinane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/489\"\u003ejd/tenacity#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/sandrobonazzola\"\u003e\u003ccode\u003e@​sandrobonazzola\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/528\"\u003ejd/tenacity#528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTyping: Accept non-standard logger in helpers logging something by \u003ca href=\"https://github.com/k4nar\"\u003e\u003ccode\u003e@​k4nar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/540\"\u003ejd/tenacity#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(wait): add \u003ccode\u003ewait_exception\u003c/code\u003e strategy by \u003ca href=\"https://github.com/capitan-davide\"\u003e\u003ccode\u003e@​capitan-davide\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/541\"\u003ejd/tenacity#541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix syntax error in wait_chain docstring example by \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/548\"\u003ejd/tenacity#548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: drop Python 3.9 support (EOL) by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/552\"\u003ejd/tenacity#552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport async sleep for sync fn-to-retry by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/551\"\u003ejd/tenacity#551\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/aguinane\"\u003e\u003ccode\u003e@​aguinane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/489\"\u003ejd/tenacity#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sandrobonazzola\"\u003e\u003ccode\u003e@​sandrobonazzola\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/528\"\u003ejd/tenacity#528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/k4nar\"\u003e\u003ccode\u003e@​k4nar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/540\"\u003ejd/tenacity#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capitan-davide\"\u003e\u003ccode\u003e@​capitan-davide\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/541\"\u003ejd/tenacity#541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/548\"\u003ejd/tenacity#548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/552\"\u003ejd/tenacity#552\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.2...9.1.3\"\u003ehttps://github.com/jd/tenacity/compare/9.1.2...9.1.3\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/jd/tenacity/commit/d4e868d6b8368c00b5a1fad54de36c2c8c3a0fb3\"\u003e\u003ccode\u003ed4e868d\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eretry()\u003c/code\u003e annotations with async \u003ccode\u003esleep=\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/24415ebbca6ecafdf870af06441656dd96149d1d\"\u003e\u003ccode\u003e24415eb\u003c/code\u003e\u003c/a\u003e support async sleep for sync fn (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/3bf33b44096077a0608855f6a380fd8a25fa6f26\"\u003e\u003ccode\u003e3bf33b4\u003c/code\u003e\u003c/a\u003e chore: drop Python 3.9 support (EOL) (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/552\"\u003e#552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/7027da31d27155c7b1831e292a29575af7b5c2b1\"\u003e\u003ccode\u003e7027da3\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/21ae7d0cc27069defd111e8ec81407f6d14089f6\"\u003e\u003ccode\u003e21ae7d0\u003c/code\u003e\u003c/a\u003e docs: fix syntax error in wait_chain docstring example (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/548\"\u003e#548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/ef12c9ed1df4dec3748b1fa9304527245b041d2d\"\u003e\u003ccode\u003eef12c9e\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/checkout in the github-actions group (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/c35a4b341ef5e553c670290fbd8835b59d5f08a3\"\u003e\u003ccode\u003ec35a4b3\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/e792bbaf0cab3685c8000899cb9f61e04d6f3e23\"\u003e\u003ccode\u003ee792bba\u003c/code\u003e\u003c/a\u003e ci: fix mypy (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/0f55245b8da5c4cc8385c2f692164a6ff52cd88e\"\u003e\u003ccode\u003e0f55245\u003c/code\u003e\u003c/a\u003e ci: remove reno requirements (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/815c34fec2c8d64fe2bc8a6bdd79bfb41f1938c6\"\u003e\u003ccode\u003e815c34f\u003c/code\u003e\u003c/a\u003e feat(wait): add \u003ccode\u003ewait_exception\u003c/code\u003e strategy (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/541\"\u003e#541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.2...9.1.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.1.3 to 2.4.2\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.2 (Feb 1, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.2 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.2 is a patch release that fixes bugs discovered after the\n2.4.1 release. Highlights are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixes memory leaks\u003c/li\u003e\n\u003cli\u003eUpdates OpenBLAS to fix hangs\u003c/li\u003e\n\u003c/ul\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 9 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 Tang +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eKumar Aditya\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eVikram Kumar +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 12 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/30629\"\u003e#30629\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/30636\"\u003e#30636\u003c/a\u003e: TYP: \u003ccode\u003earange\u003c/code\u003e: accept datetime strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30657\"\u003e#30657\u003c/a\u003e: MAINT: avoid possible race condition by not touching \u003ccode\u003eos.environ\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30700\"\u003e#30700\u003c/a\u003e: BUG: validate contraction axes in tensordot (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30521\"\u003e#30521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30701\"\u003e#30701\u003c/a\u003e: DOC: __array_namespace__info__: set_module not __module__ (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30679\"\u003e#30679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30702\"\u003e#30702\u003c/a\u003e: BUG: fix free-threaded PyObject layout in replace_scalar_type_names...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30703\"\u003e#30703\u003c/a\u003e: TST: fix limited API example in tests for latest Cython\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30709\"\u003e#30709\u003c/a\u003e: BUG: Fix some bugs found via valgrind (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30680\"\u003e#30680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30712\"\u003e#30712\u003c/a\u003e: MAINT: replace ob_type access with Py_TYPE in PyArray_CheckExact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30713\"\u003e#30713\u003c/a\u003e: BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30736\"\u003e#30736\u003c/a\u003e: BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30737\"\u003e#30737\u003c/a\u003e: backport scipy-openblas version change\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.1 (Jan 10, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.1 is a patch release that fixes bugs discoved after the\n2.4.0 release. In particular, the typo \u003ccode\u003eSeedlessSequence\u003c/code\u003e is preserved to\nenable wheels using the random Cython API and built against NumPy \u0026lt; 2.4.0\nto run without errors.\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/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003cli\u003eYou can use the \u003ccode\u003ekeyring\u003c/code\u003e app to store the PyPI password for twine. See the\nonline twine documentation for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003cp\u003eCheck the numpy-release repo\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/c81c49f77451340651a751e76bca607d85e4fd55\"\u003e\u003ccode\u003ec81c49f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30757\"\u003e#30757\u003c/a\u003e from charris/prepare-2.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b3ae9c59de627110458653836f1be81280222f85\"\u003e\u003ccode\u003eb3ae9c5\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9de89843c3918fa133f1aab9fb4435c38a3b0ba6\"\u003e\u003ccode\u003e9de8984\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30737\"\u003e#30737\u003c/a\u003e from mattip/scipy-openblas-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b7be329895e32de44578742b2745fb307cdf8625\"\u003e\u003ccode\u003eb7be329\u003c/code\u003e\u003c/a\u003e backport scipy-openblas version change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7ff98637f80dc1ff7a18fce8025ffabdded76094\"\u003e\u003ccode\u003e7ff9863\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30736\"\u003e#30736\u003c/a\u003e from charris/backport-30667\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/431fffbe91d86c04738f039e0048441f8f9b5fff\"\u003e\u003ccode\u003e431fffb\u003c/code\u003e\u003c/a\u003e MAINT: Skip tests that require \u003cstrong\u003ebuffer\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/127235fcd9b2e80764da8f6c64f942a6bddb093a\"\u003e\u003ccode\u003e127235f\u003c/code\u003e\u003c/a\u003e BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/18bdb2e675b68daa5afc3250c41982ff77b3867f\"\u003e\u003ccode\u003e18bdb2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30713\"\u003e#30713\u003c/a\u003e from charris/backport-30710\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/41dd7512de6dc3dd665b71d4e3a321aa1150dc48\"\u003e\u003ccode\u003e41dd751\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30712\"\u003e#30712\u003c/a\u003e from charris/backport-30705\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7a278da99943376313b8f631905c3baaa7a82a30\"\u003e\u003ccode\u003e7a278da\u003c/code\u003e\u003c/a\u003e BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.1.3...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `joblib` from 1.4.2 to 1.5.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/joblib/joblib/blob/main/CHANGES.rst\"\u003ejoblib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.5.3 - 2025/12/15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eMemory\u003c/code\u003e object won't overwrite an already existing \u003ccode\u003e.gitignore\u003c/code\u003e file in its\ncache directory anymore.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1742\"\u003ejoblib/joblib#1742\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHarden the safety checks in \u003ccode\u003eeval_expr(pre_dispatch)\u003c/code\u003e to prevent excessive\nmemory allocation and potential crashes by limiting the allowed length of the\nexpression and the maximum numeric value of sub-expressions and not\nevaluating expressions with non-numeric literals.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1744\"\u003ejoblib/joblib#1744\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor cloudpickle 3.1.2 to fix a pickling problem with interactively\ndefined abstract base classes and type annotations in Python 3.14+.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.2 - 2025/08/27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendor \u003ccode\u003eloky3.5.6\u003c/code\u003e fixing the resource tracker for python 3.13.7+\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1740\"\u003ejoblib/joblib#1740\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMemory:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Ensure that temporary files managed by the ``Memory`` object do not collide\n  when using the same cache directory when the cache directory is accessed\n  concurrently from different nodes on a cluster with a shared filesystem.\n  https://github.com/joblib/joblib/pull/1656\n\u003ch2\u003eRelease 1.5.1 - 2025/05/23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix backend hints causing errors when no multiprocessing is present\u003cbr /\u003e\n\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1721\"\u003ejoblib/joblib#1721\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor \u003ccode\u003eloky3.5.5\u003c/code\u003e fixing the resource_tracker clean up with earlier Python\u003cbr /\u003e\nversions. \u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1724\"\u003ejoblib/joblib#1724\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.0 -- 2025/05/03\u003c/h2\u003e\n\u003cp\u003eMemory:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eEnforce \u003ccode\u003eage_limit\u003c/code\u003e is a positive timedelta for \u003ccode\u003eMemory.reduce_size\u003c/code\u003e,\nto avoid silently ignoring it.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1613\"\u003ejoblib/joblib#1613\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003ebytes_limit\u003c/code\u003e argument for \u003ccode\u003eMemory\u003c/code\u003e, which should\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/joblib/joblib/commit/40cd002ae1765195dfc4738a6bc7f5534b420a21\"\u003e\u003ccode\u003e40cd002\u003c/code\u003e\u003c/a\u003e RELEASE 1.5.3 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f05be6705e0f56856b76d76fecdddab95de394c8\"\u003e\u003ccode\u003ef05be67\u003c/code\u003e\u003c/a\u003e MNT Remove last usage of distutils (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1760\"\u003e#1760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/4273f396b7fb66da7f72f603a6bf6651393c5be1\"\u003e\u003ccode\u003e4273f39\u003c/code\u003e\u003c/a\u003e MNT bump actions/checkout from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1762\"\u003e#1762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f465f0245d20c1e793d98b8071a9604623ffd528\"\u003e\u003ccode\u003ef465f02\u003c/code\u003e\u003c/a\u003e FIX don't overwrite existing .gitignore (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1742\"\u003e#1742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/cca7d87a94a1bd141c6c505a909becd4c1854fde\"\u003e\u003ccode\u003ecca7d87\u003c/code\u003e\u003c/a\u003e MNT bump sklearn test on python 3.12 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1759\"\u003e#1759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f7775ad30051d95d83da76125b176962989bf763\"\u003e\u003ccode\u003ef7775ad\u003c/code\u003e\u003c/a\u003e MNT remove deprecated pytest feature (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1757\"\u003e#1757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/3c58aab890faad3b01eda5e6b35f382edcd71f91\"\u003e\u003ccode\u003e3c58aab\u003c/code\u003e\u003c/a\u003e Add Python 3.14 and 3.14t to the testing (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1747\"\u003e#1747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/9b96664daa07e11f6bee797f55567ac28a961cdb\"\u003e\u003ccode\u003e9b96664\u003c/code\u003e\u003c/a\u003e Bump cloudpickle to 3.1.2 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1752\"\u003e#1752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/c3bdbd9511da485c7036a433dce1924bdbbd1313\"\u003e\u003ccode\u003ec3bdbd9\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 5 updates (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1749\"\u003e#1749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/a09bb30b22b286ee8b233fe9391b21560e1799a9\"\u003e\u003ccode\u003ea09bb30\u003c/code\u003e\u003c/a\u003e Keep GitHub Actions up to date with GitHub's Dependabot (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1748\"\u003e#1748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/joblib/joblib/compare/1.4.2...1.5.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.14.1 to 1.17.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy/releases\"\u003escipy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSciPy 1.17.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.1\u003c/code\u003e is a bug-fix release with no new features compared to \u003ccode\u003e1.17.0\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eAuthors\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eName (commits)\u003c/li\u003e\n\u003cli\u003eEvgeni Burovski (5)\u003c/li\u003e\n\u003cli\u003eLucas Colley (1)\u003c/li\u003e\n\u003cli\u003eChristoph Gohlke (1)\u003c/li\u003e\n\u003cli\u003eRalf Gommers (6)\u003c/li\u003e\n\u003cli\u003eMatt Haberland (5)\u003c/li\u003e\n\u003cli\u003eMatthias Koeppe (1)\u003c/li\u003e\n\u003cli\u003eNick ODell (1)\u003c/li\u003e\n\u003cli\u003eIlhan Polat (10)\u003c/li\u003e\n\u003cli\u003eTyler Reddy (44)\u003c/li\u003e\n\u003cli\u003eMartin Schuck (3)\u003c/li\u003e\n\u003cli\u003eDan Schult (3)\u003c/li\u003e\n\u003cli\u003estratakis (1) +\u003c/li\u003e\n\u003cli\u003eਗਗਨਦੀਪ ਸਿੰਘ (Gagandeep Singh) (1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eA total of 13 people contributed to this release.\nPeople with a \u0026quot;+\u0026quot; by their names contributed a patch for the first time.\nThis list of names is automatically generated, and may not be fully complete.\u003c/p\u003e\n\u003cp\u003eComplete issue list, PR list, and release asset hashes are available in the associated \u003ca href=\"https://github.com/scipy/scipy/releases/download/v1.17.1/README.txt\"\u003e\u003ccode\u003eREADME.txt\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eSciPy 1.17.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.0\u003c/code\u003e is the culmination of 6 months of hard work. It contains\nmany new features, numerous bug-fixes, improved test coverage and better\ndocumentation. There have been a number of deprecations and API changes\nin this release, which are documented below. All users are encouraged to\nupgrade to this release, as there are a large number of bug-fixes and\noptimizations. Before upgrading, we recommend that users check that\ntheir own code does not use deprecated SciPy functionality (to do so,\nrun your code with \u003ccode\u003epython -Wd\u003c/code\u003e and check for \u003ccode\u003eDeprecationWarning\u003c/code\u003e s).\nOur development attention will now shift to bug-fix releases on the\n\u003ccode\u003e1.17.x\u003c/code\u003e branch, and on adding new features on the main branch.\u003c/p\u003e\n\u003cp\u003eThis release requires Python \u003ccode\u003e3.11\u003c/code\u003e-\u003ccode\u003e3.14\u003c/code\u003e and NumPy \u003ccode\u003e1.26.4\u003c/code\u003e or greater.\u003c/p\u003e\n\u003ch1\u003eHighlights of this release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMany SciPy functions have gained native support for batching of N-dimensional\narray input and additional support for the array API standard. An overall\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/527eb7fd7953a1de068f94bf8b322f249b9405ae\"\u003e\u003ccode\u003e527eb7f\u003c/code\u003e\u003c/a\u003e REL: 1.17.1 release commit [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/f11663bf044f1cb5a0112a28ac238f902ae36eea\"\u003e\u003ccode\u003ef11663b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24584\"\u003e#24584\u003c/a\u003e from tylerjereddy/treddy_prep_1.17.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/2c49e68b634d2657380ca7b65207c6122e83cb72\"\u003e\u003ccode\u003e2c49e68\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/400fa15ed6f9fece4c3848e9eade0e7d5e5aece0\"\u003e\u003ccode\u003e400fa15\u003c/code\u003e\u003c/a\u003e safely convert index dtypes to intc for csgraph and superLU\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/8c704044ab6f8f3e94295f354dbadfcab9139837\"\u003e\u003ccode\u003e8c70404\u003c/code\u003e\u003c/a\u003e MAINT: PR 24584 revisions [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/6dda8c13c534a61bc56c7b11bb5841efbd37d9dd\"\u003e\u003ccode\u003e6dda8c1\u003c/code\u003e\u003c/a\u003e BUG: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/4a187e59ea9cde1f79b4fae9dbd8177adcf0ddf3\"\u003e\u003ccode\u003e4a187e5\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/463ee9f72a5f1afe3363e86344a55eea1c1ba477\"\u003e\u003ccode\u003e463ee9f\u003c/code\u003e\u003c/a\u003e ENH: linalg/inv: re-enable overwrite_a for 2D inputs (\u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24442\"\u003e#24442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/df746eed5eae0243969fd8de07770c4ace1dc65c\"\u003e\u003ccode\u003edf746ee\u003c/code\u003e\u003c/a\u003e BUG: linalg: restore dtypes in inv, solve, det\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/246bfeecbe56200ae4e265a70e06ccc64daee9c2\"\u003e\u003ccode\u003e246bfee\u003c/code\u003e\u003c/a\u003e MAINT:optimize: Enable multi-phase init to DIRECT\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy/compare/v1.14.1...v1.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `apscheduler` from 3.10.4 to 3.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/apscheduler/releases\"\u003eapscheduler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where a job using a \u003ccode\u003eCronTrigger\u003c/code\u003e scheduled in a repeated time interval during DST transitions could cause the scheduler to get stuck in an infinite loop (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e; PR by \u003ca href=\"https://github.com/soulofakuma\"\u003e\u003ccode\u003e@​soulofakuma\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003escheduler.shutdown()\u003c/code\u003e not raising \u003ccode\u003eSchedulerNotRunning\u003c/code\u003e (or raising the wrong exception) for asynchronous schedulers when the scheduler is in fact not running\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCronTrigger\u003c/code\u003e sticking on a folded datetime during the fall-back DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e \u0026lt;\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003eagronholm/apscheduler#1021\u003c/a\u003e\u0026gt;_; PR by \u003ca href=\"https://github.com/berianjames\"\u003e\u003ccode\u003e@​berianjames\u003c/code\u003e\u003c/a\u003e)`\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.6 and 3.7\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eZoneInfo\u003c/code\u003e time zones and deprecated support for pytz time zones\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCalendarIntervalTrigger\u003c/code\u003e, backported from the 4.x series\u003c/li\u003e\n\u003cli\u003eAdded the ability to export and import jobs via \u003ccode\u003escheduler.export_jobs()\u003c/code\u003e and \u003ccode\u003escheduler.import_jobs()\u003c/code\u003e, respectively\u003c/li\u003e\n\u003cli\u003eRemoved the dependency on \u003ccode\u003esix\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e to spawn new subprocesses from scratch instead of forking on all platform\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eAsyncIOScheduler\u003c/code\u003e inadvertently creating a defunct event loop at start, leading to the scheduler not working at all\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e not respecting the passed keyword arguments when a broken pool was being replaced\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/0f70950e320f3a7924dcd404c6c379143fb68b23\"\u003e\u003ccode\u003e0f70950\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/bc404e63af18bd8e493e0765f2ad0b51e6df0ef1\"\u003e\u003ccode\u003ebc404e6\u003c/code\u003e\u003c/a\u003e Updated publish actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/c3aa155bd39fe54639d69b396f9ad720246f0c98\"\u003e\u003ccode\u003ec3aa155\u003c/code\u003e\u003c/a\u003e Updated pre-commit modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/ad6b2dc766cd6722c8aa51543f988b9ee7b13110\"\u003e\u003ccode\u003ead6b2dc\u003c/code\u003e\u003c/a\u003e Added fix for get_next_fire_time not advancing through fold with unfolded pre...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/f4df139771b7741f58f0eb456f091d3f659555c1\"\u003e\u003ccode\u003ef4df139\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/25be7b77afca892d152441d4a61402623af7f943\"\u003e\u003ccode\u003e25be7b7\u003c/code\u003e\u003c/a\u003e Fixed CronTrigger getting stuck on fallback DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1079\"\u003e#1079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/12613862e34456215dc98574f6cf594f77d66f47\"\u003e\u003ccode\u003e1261386\u003c/code\u003e\u003c/a\u003e Updated etcd image repository name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/b1f5636ccaf6a2fe86b208d7bd6b43024a1546b3\"\u003e\u003ccode\u003eb1f5636\u003c/code\u003e\u003c/a\u003e Fixed shutdown() not raising the correct exception for some schedulers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/6c72a51416893eb0eebbe63d0f2a0151952cab59\"\u003e\u003ccode\u003e6c72a51\u003c/code\u003e\u003c/a\u003e Backported release job from master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/4b965109548e528c061cf32b672de1a6f65f2c2a\"\u003e\u003ccode\u003e4b96510\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/apscheduler/compare/3.10.4...3.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `celery` from 5.4.0 to 5.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/releases\"\u003ecelery's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.6.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string by \u003ca href=\"https://github.com/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix: Revoked tasks now immediately update backend status to REVOKED by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9869\"\u003ecelery/celery#9869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.2 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10049\"\u003ecelery/celery#10049\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.1...v5.6.2\"\u003ehttps://github.com/celery/celery/compare/v5.6.1...v5.6.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support by \u003ca href=\"https://github.com/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown by \u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option by \u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10020\"\u003ecelery/celery#10020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup by \u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereliable prefork detection by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10023\"\u003ecelery/celery#10023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebetter coverage by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10029\"\u003ecelery/celery#10029\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example by \u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10032\"\u003ecelery/celery#10032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10033\"\u003ecelery/celery#10033\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10037\"\u003ecelery/celery#10037\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.0...v5.6.1\"\u003ehttps://github.com/celery/celery/compare/v5.6.0...v5.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.0\u003c/h2\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003ch2\u003eKey Highlights\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.celeryq.dev/en/stable/history/whatsnew-5.6.html\"\u003eWhat's new in Celery 5.6\u003c/a\u003e for a complete overview or read the main highlights below.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Minimum Version\u003c/h3\u003e\n\u003cp\u003eCelery 5.6.0 drops support for Python 3.8 (EOL). The minimum required Python version is now 3.9. Users still on Python 3.8 must upgrade their Python version before upgrading to Celery 5.6.0.\u003c/p\u003e\n\u003cp\u003eAdditionally, this release includes initial support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eSQS: Reverted to \u003ccode\u003epycurl\u003c/code\u003e from \u003ccode\u003eurllib3\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003eThe switch from \u003ccode\u003epycurl\u003c/code\u003e to \u003ccode\u003eurllib3\u003c/code\u003e for the SQS transport (introduced in Celery 5.5.0 via Kombu) has been reverted due to critical issues affecting SQS users.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/blob/main/Changelog.rst\"\u003ecelery's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.6.2\u003c/h1\u003e\n\u003cp\u003e:release-date: 2026-01-04\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string ([#10045](https://github.com/celery/celery/issues/10045))\n- Bugfix: Revoked tasks now immediately update backend status to REVOKED ([#9869](https://github.com/celery/celery/issues/9869))\n- Prepare for release: v5.6.2 ([#10049](https://github.com/celery/celery/issues/10049))\n\u003cp\u003e.. _version-5.6.1:\u003c/p\u003e\n\u003ch1\u003e5.6.1\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-12-29\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10013\"\u003e#10013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9986\"\u003e#9986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10016\"\u003e#10016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10020\"\u003e#10020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10015\"\u003e#10015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereliable prefork detection (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10023\"\u003e#10023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebetter coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#10029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10030\"\u003e#10030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10032\"\u003e#10032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _version-5.6.0:\u003c/p\u003e\n\u003ch1\u003e5.6.0\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-11-30\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003cp\u003eKey Highlights\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nSee :ref:`whatsnew-5.6` for a complete overview or read the main highlights below.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6a43c846f183ef0cbade24f4b9a8f7a6ea113b44\"\u003e\u003ccode\u003e6a43c84\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.2 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10049\"\u003e#10049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/333a82f746734151c5cbe848916085455b0a3748\"\u003e\u003ccode\u003e333a82f\u003c/code\u003e\u003c/a\u003e Bugfix: Revoked tasks now immediately update backend status to REVOKED (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9869\"\u003e#9869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/9d6ab110d947270c4edf0b42454266d2954e653d\"\u003e\u003ccode\u003e9d6ab11\u003c/code\u003e\u003c/a\u003e Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeEr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21dbc73f81d2fae058de49e665afaa1cd92da5c0\"\u003e\u003ccode\u003e21dbc73\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/ba20bed7723c684d12ddd62d6a7c0c0d901b3351\"\u003e\u003ccode\u003eba20bed\u003c/code\u003e\u003c/a\u003e Only use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21675299bc2d10c648448ec5221136e07c1eec1a\"\u003e\u003ccode\u003e2167529\u003c/code\u003e\u003c/a\u003e Stop importing pytest_subtests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/0527296acb1f1790788301d4395ba6d5ce2a9704\"\u003e\u003ccode\u003e0527296\u003c/code\u003e\u003c/a\u003e Bump google-cloud-firestore from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/5f8659bdba4561796d66e938a1e2c71d4489562f\"\u003e\u003ccode\u003e5f8659b\u003c/code\u003e\u003c/a\u003e Clarify 'result_extended' setting usage in tasks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/f19db7008682c782d85e69b5ce736970491752ea\"\u003e\u003ccode\u003ef19db70\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.19.0 to 1.19.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10028\"\u003e#10028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6da72bde60553a1c350eef1e17d834d004ed099d\"\u003e\u003ccode\u003e6da72bd\u003c/code\u003e\u003c/a\u003e better coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#...\n\n_Description has been truncated_","html_url":"https://github.com/KyaRhamil/floodingnaque/pull/28","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyaRhamil%2Ffloodingnaque/issues/28","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/28/packages"},{"uuid":"3970665694","node_id":"PR_kwDOOlz2PM7FRk0z","number":196,"state":"closed","title":"build(deps): bump validators from 0.34.0 to 0.35.0 in /backend","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-21T02:26:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-20T22:40:37.000Z","updated_at":"2026-02-21T02:26:45.000Z","time_to_close":13566,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps [validators](https://github.com/python-validators/validators) from 0.34.0 to 0.35.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/releases\"\u003evalidators's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\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/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003epython-validators/validators#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003epython-validators/validators#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003epython-validators/validators#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003epython-validators/validators#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003epython-validators/validators#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003epython-validators/validators#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003epython-validators/validators#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003epython-validators/validators#415\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/blob/master/CHANGES.md\"\u003evalidators's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0 (2025-05-01)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/75788ed9e116fe3bf1bb9699f1696e7f7e132067\"\u003e\u003ccode\u003e75788ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/425\"\u003e#425\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/0b1799cdb431e708aff6b1b59e4430bd0828a70b\"\u003e\u003ccode\u003e0b1799c\u003c/code\u003e\u003c/a\u003e chore: updates changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/de4948f45fc4d79abec2da3b8586f6b271c5d723\"\u003e\u003ccode\u003ede4948f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/424\"\u003e#424\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/6d8a1abcdf2d92e113b1707bbf372bde4d48e3a5\"\u003e\u003ccode\u003e6d8a1ab\u003c/code\u003e\u003c/a\u003e chore: prepare for new release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/8691cead510052aae88f22776b9d6fbe1cf55351\"\u003e\u003ccode\u003e8691cea\u003c/code\u003e\u003c/a\u003e chore: formatting; sync dependencies (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/422\"\u003e#422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/bafe62e757bd99526129f8dffcfc9795817d08d8\"\u003e\u003ccode\u003ebafe62e\u003c/code\u003e\u003c/a\u003e feat: add Mir card validation support (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/7c97eca2990f6d42e27f0f211475eb0d4809de59\"\u003e\u003ccode\u003e7c97eca\u003c/code\u003e\u003c/a\u003e Fix: Allow Special DOI Cases Used in Public Administration Tests (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/415\"\u003e#415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/b2510d1c5f7ef81cdf9fa90d2548ebd826e4e734\"\u003e\u003ccode\u003eb2510d1\u003c/code\u003e\u003c/a\u003e feat: adds \u003ccode\u003edoctest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/f7742c55b680036116a7f61e140476ffd4774ccb\"\u003e\u003ccode\u003ef7742c5\u003c/code\u003e\u003c/a\u003e Refactor API: remove print from ru_inn, update description, and expose via __...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/d6241fc31f6b46bf81283c6ab3cae07c370fc1f6\"\u003e\u003ccode\u003ed6241fc\u003c/code\u003e\u003c/a\u003e fix(uri): remove \u0026quot;mailto:\u0026quot; prefix manually (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/418\"\u003e#418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=validators\u0026package-manager=pip\u0026previous-version=0.34.0\u0026new-version=0.35.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/bannert1337/foss-webui/pull/196","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bannert1337%2Ffoss-webui/issues/196","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/196/packages"},{"uuid":"3887544515","node_id":"PR_kwDOKqBlQc7A_6RM","number":171,"state":"closed","title":"chore(deps): bump the pip group in /api with 38 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-03T17:08:25.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-02T19:27:30.000Z","updated_at":"2026-02-03T17:08:27.000Z","time_to_close":78055,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":38,"packages":[{"name":"apscheduler","old_version":"3.10.4","new_version":"3.11.2","repository_url":"https://github.com/agronholm/apscheduler"},{"name":"azure-identity","old_version":"1.16.1","new_version":"1.25.1","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-blob","old_version":"12.14.1","new_version":"12.28.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"chardet","old_version":"5.1.0","new_version":"5.2.0","repository_url":"https://github.com/chardet/chardet"},{"name":"elastic-apm","old_version":"6.23.0","new_version":"6.25.0","repository_url":"https://github.com/elastic/apm-agent-python"},{"name":"elasticsearch","old_version":"8.6.1","new_version":"8.19.3","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"flask","old_version":"2.2.5","new_version":"2.3.3","repository_url":"https://github.com/pallets/flask"},{"name":"flask-caching","old_version":"2.0.2","new_version":"2.3.1","repository_url":"https://github.com/pallets-eco/flask-caching"},{"name":"prometheus-client","old_version":"0.17.1","new_version":"0.24.1","repository_url":"https://github.com/prometheus/client_python"},{"name":"pyjwt","old_version":"2.6.0","new_version":"2.11.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"redis","old_version":"4.5.4","new_version":"4.6.0","repository_url":"https://github.com/redis/redis-py"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"typing-extensions","old_version":"4.13.2","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"pysigma","old_version":"0.11.17","new_version":"0.11.23","repository_url":"https://github.com/SigmaHQ/pySigma"},{"name":"pysigma-backend-elasticsearch","old_version":"1.1.5","new_version":"1.1.6","repository_url":"https://github.com/SigmaHQ/pySigma-backend-elasticsearch"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"python-dotenv","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"pydantic","old_version":"2.11.4","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-settings","old_version":"2.9.1","new_version":"2.11.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"pydash","old_version":"8.0.5","new_version":"8.0.6","repository_url":"https://github.com/dgilland/pydash"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"retrying","old_version":"1.3.3","new_version":"1.4.2","repository_url":"https://github.com/groodt/retrying"},{"name":"pyftpdlib","old_version":"1.5.7","new_version":"1.5.10","repository_url":"https://github.com/giampaolo/pyftpdlib"},{"name":"mypy","old_version":"1.6.1","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"mock","old_version":"5.1.0","new_version":"5.2.0","repository_url":"https://github.com/testing-cabal/mock"},{"name":"mypy-extensions","old_version":"1.0.0","new_version":"1.1.0","repository_url":"https://github.com/python/mypy_extensions"},{"name":"coverage","old_version":"7.4.0","new_version":"7.10.7","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"ruff","old_version":"0.8.6","new_version":"0.14.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"types-pyyaml","old_version":"6.0.12.12","new_version":"6.0.12.20250915","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-paramiko","old_version":"3.3.0.0","new_version":"3.5.0.20250801","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-pyopenssl","old_version":"23.3.0.0","new_version":"23.3.0.20240106","repository_url":"https://github.com/python/typeshed"},{"name":"types-redis","old_version":"4.6.0.9","new_version":"4.6.0.20241004","repository_url":"https://github.com/python/typeshed"},{"name":"types-six","old_version":"1.16.21.9","new_version":"1.17.0.20251009","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-requests","old_version":"2.31.0.6","new_version":"2.32.4.20260107","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"websocket-client","old_version":"1.5.1","new_version":"1.9.0","repository_url":"https://github.com/websocket-client/websocket-client"},{"name":"types-mock","old_version":"5.2.0.20250306","new_version":"5.2.0.20250924","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"rich","old_version":"14.2.0","new_version":"14.3.2","repository_url":"https://github.com/Textualize/rich"}],"path":"/api","ecosystem":"pip"},"body":"Bumps the pip group in /api with 38 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [apscheduler](https://github.com/agronholm/apscheduler) | `3.10.4` | `3.11.2` |\n| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.16.1` | `1.25.1` |\n| [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python) | `12.14.1` | `12.28.0` |\n| [chardet](https://github.com/chardet/chardet) | `5.1.0` | `5.2.0` |\n| [elastic-apm](https://github.com/elastic/apm-agent-python) | `6.23.0` | `6.25.0` |\n| [elasticsearch](https://github.com/elastic/elasticsearch-py) | `8.6.1` | `8.19.3` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `2.3.3` |\n| [flask-caching](https://github.com/pallets-eco/flask-caching) | `2.0.2` | `2.3.1` |\n| [prometheus-client](https://github.com/prometheus/client_python) | `0.17.1` | `0.24.1` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.6.0` | `2.11.0` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [redis](https://github.com/redis/redis-py) | `4.5.4` | `4.6.0` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.13.2` | `4.15.0` |\n| [pysigma](https://github.com/SigmaHQ/pySigma) | `0.11.17` | `0.11.23` |\n| [pysigma-backend-elasticsearch](https://github.com/SigmaHQ/pySigma-backend-elasticsearch) | `1.1.5` | `1.1.6` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.1.0` | `1.2.1` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.4` | `2.12.5` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.9.1` | `2.11.0` |\n| [pydash](https://github.com/dgilland/pydash) | `8.0.5` | `8.0.6` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [retrying](https://github.com/groodt/retrying) | `1.3.3` | `1.4.2` |\n| [pyftpdlib](https://github.com/giampaolo/pyftpdlib) | `1.5.7` | `1.5.10` |\n| [mypy](https://github.com/python/mypy) | `1.6.1` | `1.19.1` |\n| [mock](https://github.com/testing-cabal/mock) | `5.1.0` | `5.2.0` |\n| [mypy-extensions](https://github.com/python/mypy_extensions) | `1.0.0` | `1.1.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.4.0` | `7.10.7` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.8.6` | `0.14.14` |\n| [types-pyyaml](https://github.com/typeshed-internal/stub_uploader) | `6.0.12.12` | `6.0.12.20250915` |\n| [types-paramiko](https://github.com/typeshed-internal/stub_uploader) | `3.3.0.0` | `3.5.0.20250801` |\n| [types-pyopenssl](https://github.com/python/typeshed) | `23.3.0.0` | `23.3.0.20240106` |\n| [types-redis](https://github.com/python/typeshed) | `4.6.0.9` | `4.6.0.20241004` |\n| [types-six](https://github.com/typeshed-internal/stub_uploader) | `1.16.21.9` | `1.17.0.20251009` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.31.0.6` | `2.32.4.20260107` |\n| [websocket-client](https://github.com/websocket-client/websocket-client) | `1.5.1` | `1.9.0` |\n| [types-mock](https://github.com/typeshed-internal/stub_uploader) | `5.2.0.20250306` | `5.2.0.20250924` |\n| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.2` |\n\nUpdates `apscheduler` from 3.10.4 to 3.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/apscheduler/releases\"\u003eapscheduler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where a job using a \u003ccode\u003eCronTrigger\u003c/code\u003e scheduled in a repeated time interval during DST transitions could cause the scheduler to get stuck in an infinite loop (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e; PR by \u003ca href=\"https://github.com/soulofakuma\"\u003e\u003ccode\u003e@​soulofakuma\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003escheduler.shutdown()\u003c/code\u003e not raising \u003ccode\u003eSchedulerNotRunning\u003c/code\u003e (or raising the wrong exception) for asynchronous schedulers when the scheduler is in fact not running\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCronTrigger\u003c/code\u003e sticking on a folded datetime during the fall-back DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e \u0026lt;\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003eagronholm/apscheduler#1021\u003c/a\u003e\u0026gt;_; PR by \u003ca href=\"https://github.com/berianjames\"\u003e\u003ccode\u003e@​berianjames\u003c/code\u003e\u003c/a\u003e)`\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.6 and 3.7\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eZoneInfo\u003c/code\u003e time zones and deprecated support for pytz time zones\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCalendarIntervalTrigger\u003c/code\u003e, backported from the 4.x series\u003c/li\u003e\n\u003cli\u003eAdded the ability to export and import jobs via \u003ccode\u003escheduler.export_jobs()\u003c/code\u003e and \u003ccode\u003escheduler.import_jobs()\u003c/code\u003e, respectively\u003c/li\u003e\n\u003cli\u003eRemoved the dependency on \u003ccode\u003esix\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e to spawn new subprocesses from scratch instead of forking on all platform\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eAsyncIOScheduler\u003c/code\u003e inadvertently creating a defunct event loop at start, leading to the scheduler not working at all\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e not respecting the passed keyword arguments when a broken pool was being replaced\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/0f70950e320f3a7924dcd404c6c379143fb68b23\"\u003e\u003ccode\u003e0f70950\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/bc404e63af18bd8e493e0765f2ad0b51e6df0ef1\"\u003e\u003ccode\u003ebc404e6\u003c/code\u003e\u003c/a\u003e Updated publish actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/c3aa155bd39fe54639d69b396f9ad720246f0c98\"\u003e\u003ccode\u003ec3aa155\u003c/code\u003e\u003c/a\u003e Updated pre-commit modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/ad6b2dc766cd6722c8aa51543f988b9ee7b13110\"\u003e\u003ccode\u003ead6b2dc\u003c/code\u003e\u003c/a\u003e Added fix for get_next_fire_time not advancing through fold with unfolded pre...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/f4df139771b7741f58f0eb456f091d3f659555c1\"\u003e\u003ccode\u003ef4df139\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/25be7b77afca892d152441d4a61402623af7f943\"\u003e\u003ccode\u003e25be7b7\u003c/code\u003e\u003c/a\u003e Fixed CronTrigger getting stuck on fallback DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1079\"\u003e#1079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/12613862e34456215dc98574f6cf594f77d66f47\"\u003e\u003ccode\u003e1261386\u003c/code\u003e\u003c/a\u003e Updated etcd image repository name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/b1f5636ccaf6a2fe86b208d7bd6b43024a1546b3\"\u003e\u003ccode\u003eb1f5636\u003c/code\u003e\u003c/a\u003e Fixed shutdown() not raising the correct exception for some schedulers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/6c72a51416893eb0eebbe63d0f2a0151952cab59\"\u003e\u003ccode\u003e6c72a51\u003c/code\u003e\u003c/a\u003e Backported release job from master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/4b965109548e528c061cf32b672de1a6f65f2c2a\"\u003e\u003ccode\u003e4b96510\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/apscheduler/compare/3.10.4...3.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-identity` from 1.16.1 to 1.25.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/dbf147506014177ceb85ca4cf5e90eef5a5d4660\"\u003e\u003ccode\u003edbf1475\u003c/code\u003e\u003c/a\u003e [Identity] Update changelog (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43249\"\u003e#43249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/949e5b8d351d97b1abafb3fda49880bf2aaf401d\"\u003e\u003ccode\u003e949e5b8\u003c/code\u003e\u003c/a\u003e Added response hook to replace throughput (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43243\"\u003e#43243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/65f6f1ac22eca4f5b3218279c73cc1e6568b29f3\"\u003e\u003ccode\u003e65f6f1a\u003c/code\u003e\u003c/a\u003e Rename Path Efficiency to Task Navigation Efficiency Evaluator and Return Onl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/772ee5ad10ad7f4867044ea39ce516f9dd3cc5bc\"\u003e\u003ccode\u003e772ee5a\u003c/code\u003e\u003c/a\u003e Rename Tool Call Accuracy Evaluator to Tool Call Quality (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43246\"\u003e#43246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/05f1eae0b18abc85f5ffb759f943268dac9e06c5\"\u003e\u003ccode\u003e05f1eae\u003c/code\u003e\u003c/a\u003e Rename Task Success Evaluator to Task Completion Evaluator (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43190\"\u003e#43190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/07395dd0dbdc75b25f5fc2ac8ff82a8824b5a90f\"\u003e\u003ccode\u003e07395dd\u003c/code\u003e\u003c/a\u003e [Identity] Skip IMDS probe when MI selected in DAC via env (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43080\"\u003e#43080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/b0ec83c3f0ad69dd40aaf7e2c832616ea01060fc\"\u003e\u003ccode\u003eb0ec83c\u003c/code\u003e\u003c/a\u003e Revert behavior change introduced in \u003ca href=\"https://github.com/Azure/azure-sdk-tools\"\u003ehttps://github.com/Azure/azure-sdk-tools\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/33bbf3517faa8e0b285faa1b3b7241c00c50e7a8\"\u003e\u003ccode\u003e33bbf35\u003c/code\u003e\u003c/a\u003e [Identity] Improve MI error messages (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43231\"\u003e#43231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/f837589b09b3f37f3576ee4c752db56e9a281a81\"\u003e\u003ccode\u003ef837589\u003c/code\u003e\u003c/a\u003e update verifywhl to check that one of homepage/repository exists (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43188\"\u003e#43188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/befebbf01f86e85a12b5f9a16adc3d2c5175703c\"\u003e\u003ccode\u003ebefebbf\u003c/code\u003e\u003c/a\u003e update pinned apistub version 0.3.23 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43237\"\u003e#43237\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-identity_1.16.1...azure-identity_1.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-storage-blob` from 12.14.1 to 12.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/releases\"\u003eazure-storage-blob's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-storage-blob_12.28.0\u003c/h2\u003e\n\u003ch2\u003e12.28.0 (2026-01-06)\u003c/h2\u003e\n\u003ch3\u003eFeatures Added\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStable release of features from 12.28.0b1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChanged the default \u003ccode\u003econnection_data_block_size\u003c/code\u003e for all clients from 4 KiB to 256 KiB. This should result in\nsignificantly better throughput on large file downloads for most environments.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eazure-storage-blob_12.28.0b1\u003c/h2\u003e\n\u003ch2\u003e12.28.0b1 (2025-12-04)\u003c/h2\u003e\n\u003ch3\u003eFeatures Added\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for service version 2026-02-06.\u003c/li\u003e\n\u003cli\u003eAdded support for the keywords \u003ccode\u003eif_modified_since\u003c/code\u003e, \u003ccode\u003eif_unmodified_since\u003c/code\u003e, \u003ccode\u003eetag\u003c/code\u003e, and \u003ccode\u003ematch_condition\u003c/code\u003e to\nconditionally perform \u003ccode\u003eBlobClient\u003c/code\u003e's \u003ccode\u003eset_blob_tags\u003c/code\u003e and \u003ccode\u003eget_blob_tags\u003c/code\u003e operations.\u003c/li\u003e\n\u003cli\u003eAdded support for the keyword \u003ccode\u003estart_from\u003c/code\u003e in \u003ccode\u003eContainerClient\u003c/code\u003e's \u003ccode\u003elist_blobs\u003c/code\u003e, \u003ccode\u003elist_blob_names\u003c/code\u003e, and \u003ccode\u003ewalk_blobs\u003c/code\u003e\nAPIs, which specifies the full path to start listing paths from.\u003c/li\u003e\n\u003cli\u003eAdded support for the keyword \u003ccode\u003euser_delegation_oid\u003c/code\u003e to \u003ccode\u003egenerate_blob_sas\u003c/code\u003e and \u003ccode\u003egenerate_container_sas\u003c/code\u003e, which\nspecifies the Entra ID of the user that is authorized to use the generated SAS URL.\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eUseDevelopmentStorage=true;\u003c/code\u003e as a valid connection string for Azurite.\u003c/li\u003e\n\u003cli\u003eAdded the ability to skip auto decompression on \u003ccode\u003eBlobClient.download_blob\u003c/code\u003e via the \u003ccode\u003edecompress\u003c/code\u003e keyword.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/b3301acbed95d1e11f8ab859eced5292627c763a\"\u003e\u003ccode\u003eb3301ac\u003c/code\u003e\u003c/a\u003e STG 100 GA Release Date for 2026-01-06\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/beb8dfaad1420c54288adb8e0ceb468cff144a70\"\u003e\u003ccode\u003ebeb8dfa\u003c/code\u003e\u003c/a\u003e [Storage][STG 100] Prepare branch for GA + cherry-pick block size change (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44\"\u003e#44\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/874cfcf701ccc2a2ef9a3444fe0563ce2efdc058\"\u003e\u003ccode\u003e874cfcf\u003c/code\u003e\u003c/a\u003e [Storage] Update Swagger and Release Date (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44243\"\u003e#44243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/4aca0cc83494e1fe243a21d31af357acf60160be\"\u003e\u003ccode\u003e4aca0cc\u003c/code\u003e\u003c/a\u003e Fix perf tests on Python 3.14 + Storage change (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44230\"\u003e#44230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/cd5ecc5c0e05c1deeb4b74f72d85f01418e5d27c\"\u003e\u003ccode\u003ecd5ecc5\u003c/code\u003e\u003c/a\u003e [Storage] Fix 100 Live Tests (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44108\"\u003e#44108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/1cd78b1c3dbc5acb2a40d81cf4d3587783a187eb\"\u003e\u003ccode\u003e1cd78b1\u003c/code\u003e\u003c/a\u003e [Storage] Added support for Python 3.14 + update 100 release date (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44224\"\u003e#44224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/471cda17da08c0320c12c4f2ee30becaaec94a7a\"\u003e\u003ccode\u003e471cda1\u003c/code\u003e\u003c/a\u003e [Storage] Add Blob download perf test that uses HTTP library directly (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44111\"\u003e#44111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/9e53510dc0e1acfdbbf418174f656fac5025ea92\"\u003e\u003ccode\u003e9e53510\u003c/code\u003e\u003c/a\u003e [Storage] Decompression for Binary Response in Download APIs (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43587\"\u003e#43587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/68b646be00366dc3f9157065eccf55dd0c7c21b2\"\u003e\u003ccode\u003e68b646b\u003c/code\u003e\u003c/a\u003e Removed create file with data and file semantics features (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43978\"\u003e#43978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/09f0066bee9b717da6e15aa5fc2183e3490fe7f1\"\u003e\u003ccode\u003e09f0066\u003c/code\u003e\u003c/a\u003e [Storage] Added Support for \u003ccode\u003eUseDevelopmentStorage=true;\u003c/code\u003e for Connection Stri...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-storage-blob_12.14.1...azure-storage-blob_12.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `chardet` from 5.1.0 to 5.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chardet/chardet/releases\"\u003echardet's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003echardet 5.2.0\u003c/h2\u003e\n\u003cp\u003eAdds support for running chardet CLI via \u003ccode\u003epython -m chardet\u003c/code\u003e (0e9b7bc20366163efcc221281201baff4100fe19, \u003ca href=\"https://github.com/dan-blanchard\"\u003e\u003ccode\u003e@​dan-blanchard\u003c/code\u003e\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/chardet/chardet/commit/78250d917a2883aa60215c04480aeb27a545f1d9\"\u003e\u003ccode\u003e78250d9\u003c/code\u003e\u003c/a\u003e Bump version to 5.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chardet/chardet/commit/0e9b7bc20366163efcc221281201baff4100fe19\"\u003e\u003ccode\u003e0e9b7bc\u003c/code\u003e\u003c/a\u003e Add \u003cstrong\u003emain\u003c/strong\u003e module to support python -m chardet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chardet/chardet/commit/0649ffe20fb3fa435f0a0e01445e6ead6cc672ee\"\u003e\u003ccode\u003e0649ffe\u003c/code\u003e\u003c/a\u003e Bump version to 5.2.0dev0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/chardet/chardet/compare/5.1.0...5.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elastic-apm` from 6.23.0 to 6.25.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/apm-agent-python/releases\"\u003eelastic-apm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.25.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eELASTIC_APM_SKIP_SERVER_INFO\u003c/code\u003e to reduce overhead on serverless with APM server 8.7.1+ \u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2516\"\u003e#2516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eList all exported symbols in elasticapm module  \u003ccode\u003e__all__\u003c/code\u003e \u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2504\"\u003e#2504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle Tornado 6.5.3 \u003ccode\u003eHttpHeaders\u003c/code\u003e \u003ccode\u003ein\u003c/code\u003e operator behavior change \u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2512\"\u003e#2512\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eRegion\u003c/th\u003e\n\u003cth\u003eARN\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eaf-south-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:af-south-1:2670937327\u0026lt;50:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eap-east-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:ap-east-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eap-northeast-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:ap-northeast-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eap-northeast-2\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:ap-northeast-2:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eap-northeast-3\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:ap-northeast-3:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eap-south-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:ap-south-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eap-southeast-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:ap-southeast-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eap-southeast-2\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:ap-southeast-2:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eap-southeast-3\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:ap-southeast-3:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eca-central-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:ca-central-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eeu-central-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:eu-central-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eeu-north-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:eu-north-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eeu-south-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:eu-south-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eeu-west-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:eu-west-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eeu-west-2\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:eu-west-2:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eeu-west-3\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:eu-west-3:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eme-south-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:me-south-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003esa-east-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:sa-east-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eus-east-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:us-east-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eus-east-2\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:us-east-2:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eus-west-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:us-west-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eus-west-2\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:us-west-2:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/md-adil\"\u003e\u003ccode\u003e@​md-adil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/pull/2504\"\u003eelastic/apm-agent-python#2504\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/elastic/apm-agent-python/compare/v6.24.1...v6.25.0\"\u003ehttps://github.com/elastic/apm-agent-python/compare/v6.24.1...v6.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.24.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of psycopg ServerCursor and AsyncServerCursor instrumentation \u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2489\"\u003e#2489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix contrib/opentelemetry set_status to match base signature \u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2457\"\u003e#2457\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/elastic/apm-agent-python/blob/main/CHANGELOG.asciidoc\"\u003eelastic-apm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e==== 6.25.0 - 2025-12-23\u003c/p\u003e\n\u003cp\u003e[float]\n===== Features\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eELASTIC_APM_SKIP_SERVER_INFO\u003c/code\u003e to reduce overhead on serverless with APM server 8.7.1+ {pull}2516\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2516\"\u003e#2516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eList all exported symbols in elasticapm module  \u003ccode\u003e__all__\u003c/code\u003e {pull}2504\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2504\"\u003e#2504\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e[float]\n===== Bug fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHandle Tornado 6.5.3 \u003ccode\u003eHttpHeaders\u003c/code\u003e \u003ccode\u003ein\u003c/code\u003e operator behavior change {pull}2512\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2512\"\u003e#2512\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e[[release-notes-6.24.1]]\n==== 6.24.1 - 2025-11-21\u003c/p\u003e\n\u003cp\u003e[float]\n===== Bug fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of psycopg ServerCursor and AsyncServerCursor instrumentation {pull}2489\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2489\"\u003e#2489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix contrib/opentelemetry set_status to match base signature {pull}2457\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2457\"\u003e#2457\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e[[release-notes-6.24.0]]\n==== 6.24.0 - 2025-08-12\u003c/p\u003e\n\u003cp\u003e[float]\n===== Features\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for recent sanic versions {pull}2190\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2190\"\u003e#2190\u003c/a\u003e, {pull}2194\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2194\"\u003e#2194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake server certificate verification mandatory in fips mode {pull}2227\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2227\"\u003e#2227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support Python 3.13 {pull}2216\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2216\"\u003e#2216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for azure-data-tables package for azure instrumentation {pull}2187\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2187\"\u003e#2187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd span links from SNS messages {pull}2363\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2363\"\u003e#2363\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e[float]\n===== Bug fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix psycopg2 cursor execute and executemany signatures {pull}2331\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2331\"\u003e#2331\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix psycopg cursor execute and executemany signatures {pull}2332\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2332\"\u003e#2332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix asgi middleware distributed tracing {pull}2334\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2334\"\u003e#2334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing of start in Span / capture_span to float {pull}2335\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2335\"\u003e#2335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix azure instrumentation client_class and metrics sets invocation {pull}2337\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2337\"\u003e#2337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix mysql_connector instrumentation connection retrieval {pull}2344\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2344\"\u003e#2344\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove spurious Django QuerySet evaluation in case of database errors {pull}2158\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2158\"\u003e#2158\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e[[release-notes-6.23.0]]\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/elastic/apm-agent-python/commit/f425c427ba226aa64a80d6582a43fd5ce175366f\"\u003e\u003ccode\u003ef425c42\u003c/code\u003e\u003c/a\u003e update CHANGELOG and bump version to 6.25.0 (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2518\"\u003e#2518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/apm-agent-python/commit/d962042ee6e7a7f9892e9fdfd2190f12598e0c58\"\u003e\u003ccode\u003ed962042\u003c/code\u003e\u003c/a\u003e build(deps): bump alpine from \u003ccode\u003e51183f2\u003c/code\u003e to \u003ccode\u003e865b95f\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2514\"\u003e#2514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/apm-agent-python/commit/cf6fbf2ecbdd4ee3165413ce5a56d45eccffbe39\"\u003e\u003ccode\u003ecf6fbf2\u003c/code\u003e\u003c/a\u003e elasticapm: introduce ELASTIC_APM_SKIP_SERVER_INFO (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2516\"\u003e#2516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/apm-agent-python/commit/43f4deb8aca228877480c9e8b62696aea7883dce\"\u003e\u003ccode\u003e43f4deb\u003c/code\u003e\u003c/a\u003e updated the \u003cstrong\u003eall\u003c/strong\u003e section to include all  22 publicly exposed varia… (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2504\"\u003e#2504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/apm-agent-python/commit/f8425150306e56179b6a714c304b936f42768b91\"\u003e\u003ccode\u003ef842515\u003c/code\u003e\u003c/a\u003e chore: deps(updatecli): Bump updatecli version to v0.112.0 (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2510\"\u003e#2510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/apm-agent-python/commit/f5a12f8f301360a8a50234be65bf5a588d643c0a\"\u003e\u003ccode\u003ef5a12f8\u003c/code\u003e\u003c/a\u003e tornado: handle behaviour change in request.headers protocol (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2512\"\u003e#2512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/apm-agent-python/commit/bbaa3bbd5fd4ca1e10eb31cf997413c7bd4581c6\"\u003e\u003ccode\u003ebbaa3bb\u003c/code\u003e\u003c/a\u003e build(deps): bump wolfi/chainguard-base from \u003ccode\u003e1038c51\u003c/code\u003e to \u003ccode\u003e2b179e1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2508\"\u003e#2508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/apm-agent-python/commit/648084b779dbff43858e6d05aff10ca2c9afb9ae\"\u003e\u003ccode\u003e648084b\u003c/code\u003e\u003c/a\u003e build(deps): bump wolfi/chainguard-base from \u003ccode\u003e2539782\u003c/code\u003e to \u003ccode\u003e1038c51\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2507\"\u003e#2507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/apm-agent-python/commit/1750a1dcb9887965c8c85ed815ff7b86b5f62270\"\u003e\u003ccode\u003e1750a1d\u003c/code\u003e\u003c/a\u003e chore: deps(updatecli): Bump updatecli version to v0.111.0 (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2505\"\u003e#2505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/apm-agent-python/commit/30c4075a7342efbe61c2f7085d93bfbceb75daf2\"\u003e\u003ccode\u003e30c4075\u003c/code\u003e\u003c/a\u003e build(deps): bump alpine from \u003ccode\u003e4b7ce07\u003c/code\u003e to \u003ccode\u003e51183f2\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2503\"\u003e#2503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/apm-agent-python/compare/v6.23.0...v6.25.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elasticsearch` from 8.6.1 to 8.19.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/elasticsearch-py/releases\"\u003eelasticsearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.19.3\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInstrument ping with OTel (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake positional arguments in DSL generated classes explicit (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3233\"\u003e#3233\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eES|QL query builder: fix missing assignment (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3151\"\u003e#3151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse relative imports to fix \u003ccode\u003eelasticsearch9\u003c/code\u003e package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3232\"\u003e#3232\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eindices.delete_data_stream_options\u003c/code\u003e, \u003ccode\u003eindices.get_data_stream_options\u003c/code\u003e and \u003ccode\u003eindices.put_data_stream_options\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003etransform.get_node_stats\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequests_per_second\u003c/code\u003e argument to \u003ccode\u003edelete_by_query_rethrottle\u003c/code\u003e, \u003ccode\u003ereindex_rethrottle\u003c/code\u003e and \u003ccode\u003eupdate_by_query_rethrottle\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eallow_closed\u003c/code\u003e, \u003ccode\u003eallow_no_indices\u003c/code\u003e, \u003ccode\u003eexpand_wildcards\u003c/code\u003e, \u003ccode\u003eignore_throttled\u003c/code\u003e and \u003ccode\u003eignore_available\u003c/code\u003e arguments to \u003ccode\u003ecat.segments\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eid\u003c/code\u003e argument to \u003ccode\u003eml.stop_trained_model_deployment\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.19.2\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eflush_after_seconds\u003c/code\u003e option to \u003ccode\u003estreaming_bulk()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3064\"\u003e#3064\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDSL: support passing inner documents as \u003ccode\u003eAttrDict\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3080\"\u003e#3080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDSL: add some recently added field classes as top-level exports for the package (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3078\"\u003e#3078\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003estreams\u003c/code\u003e namespace with \u003ccode\u003estreams.logs_disable\u003c/code\u003e, \u003ccode\u003estreams.logs_enable\u003c/code\u003e, \u003ccode\u003estreams.status\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eindices.get_data_stream_settings\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eindices.put_data_stream_settings\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ebytes\u003c/code\u003e and \u003ccode\u003etime\u003c/code\u003e parameters to various APIs in the \u003ccode\u003ecat\u003c/code\u003e namespace.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eindex_template\u003c/code\u003e parameter to \u003ccode\u003eindices.simulate_index_template\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003einput_type\u003c/code\u003e parameter to \u003ccode\u003einference.text_embedding\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eRemoved unsupported \u003ccode\u003esize\u003c/code\u003e parameter from \u003ccode\u003ereindex\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDSL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew \u003ccode\u003eCartesianBounds\u003c/code\u003e, \u003ccode\u003eCartesianCentroid\u003c/code\u003e, \u003ccode\u003eChangePoint\u003c/code\u003e aggregations\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ep_value\u003c/code\u003e parameter to \u003ccode\u003eSignificantTerms\u003c/code\u003e aggregation\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efields\u003c/code\u003e parameter to \u003ccode\u003eSemanticText\u003c/code\u003e field\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 3.14 to CI builds (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3103\"\u003e#3103\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/elastic/elasticsearch-py/commit/c686c6a958f221a2e601440901f25b87a11caaca\"\u003e\u003ccode\u003ec686c6a\u003c/code\u003e\u003c/a\u003e Release 8.19.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3248\"\u003e#3248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b4fda8987785f95897be79378da2bb4cc826b40c\"\u003e\u003ccode\u003eb4fda89\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3244\"\u003e#3244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/8830242d49192d5ec546af6863621747bfcffe77\"\u003e\u003ccode\u003e8830242\u003c/code\u003e\u003c/a\u003e Fix recursive errors generated in transport test (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3240\"\u003e#3240\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3241\"\u003e#3241\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/d9dd6ff581104ce7cffefb3bfc05b1213483f450\"\u003e\u003ccode\u003ed9dd6ff\u003c/code\u003e\u003c/a\u003e explicit positional arguments in DSL generated classes (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3233\"\u003e#3233\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3237\"\u003e#3237\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/0b488f04de97da0eeae22abbad6ad6870266c6d9\"\u003e\u003ccode\u003e0b488f0\u003c/code\u003e\u003c/a\u003e Use relative imports to fix elasticsearch9 package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3232\"\u003e#3232\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3236\"\u003e#3236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/d02d20e6142112548475fda7c97109e7e0423883\"\u003e\u003ccode\u003ed02d20e\u003c/code\u003e\u003c/a\u003e Auto-generated code for 8.19 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3223\"\u003e#3223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/1e4cea0c538417df252bec83b29c97fc2b0f79e2\"\u003e\u003ccode\u003e1e4cea0\u003c/code\u003e\u003c/a\u003e [Backport 8.19] Add warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3212\"\u003e#3212\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3215\"\u003e#3215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/367c5f2286d89dc753b325a54355143a683b0542\"\u003e\u003ccode\u003e367c5f2\u003c/code\u003e\u003c/a\u003e Bumps stack to version 8.19.9-SNAPSHOT (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3220\"\u003e#3220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/5e8f23c86918fe30e4af7792dfce7098e819e1ed\"\u003e\u003ccode\u003e5e8f23c\u003c/code\u003e\u003c/a\u003e Bumps stack to version 8.19.8-SNAPSHOT (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3210\"\u003e#3210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/3a7574acea839d91794bdb190ba46b35339a9292\"\u003e\u003ccode\u003e3a7574a\u003c/code\u003e\u003c/a\u003e Add global variable support to YAML test expression parser (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3196\"\u003e#3196\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3202\"\u003e#3202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/elasticsearch-py/compare/v8.6.1...v8.19.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 2.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.3\u003c/h2\u003e\n\u003cp\u003eThis is a fix release for the 2.3.x feature branch.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChanges: \u003ca href=\"https://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-3\"\u003ehttps://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-3\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/31?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/31?closed=1\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.2\u003c/h2\u003e\n\u003cp\u003eThis is a security fix release for the 2.3.x release branch.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity advisory: \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-m2qf-hxjv-5gpq\"\u003ehttps://github.com/pallets/flask/security/advisories/GHSA-m2qf-hxjv-5gpq\u003c/a\u003e, CVE-2023-30861\u003c/li\u003e\n\u003cli\u003eChanges: \u003ca href=\"https://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-2\"\u003ehttps://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/29?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/29?closed=1\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.1\u003c/h2\u003e\n\u003cp\u003eThis is a fix release for the 2.3.x release branch.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChanges: \u003ca href=\"https://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-1\"\u003ehttps://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-1\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/28?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/28?closed=1\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003cp\u003eThis is a feature release, which includes new features, removes previously deprecated code, and adds new deprecations. The 2.3.x branch is now the supported fix branch, the 2.2.x branch will become a tag marking the end of support for that branch. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChanges: \u003ca href=\"https://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-0\"\u003ehttps://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-0\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/24?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/24?closed=1\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.3.3\u003c/h2\u003e\n\u003cp\u003eReleased 2023-08-21\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.12 compatibility.\u003c/li\u003e\n\u003cli\u003eRequire Werkzeug \u0026gt;= 2.3.7.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eflit_core\u003c/code\u003e instead of \u003ccode\u003esetuptools\u003c/code\u003e as build backend.\u003c/li\u003e\n\u003cli\u003eRefactor how an app's root and instance paths are determined. :issue:\u003ccode\u003e5160\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.3.2\u003c/h2\u003e\n\u003cp\u003eReleased 2023-05-01\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSet \u003ccode\u003eVary: Cookie\u003c/code\u003e header when the session is accessed, modified, or refreshed.\u003c/li\u003e\n\u003cli\u003eUpdate Werkzeug requirement to \u0026gt;=2.3.3 to apply recent bug fixes.\n:ghsa:\u003ccode\u003em2qf-hxjv-5gpq\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2023-04-25\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRestore deprecated \u003ccode\u003efrom flask import Markup\u003c/code\u003e. :issue:\u003ccode\u003e5084\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2023-04-25\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support for Python 3.7. :pr:\u003ccode\u003e5072\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate minimum requirements to the latest versions: Werkzeug\u0026gt;=2.3.0, Jinja2\u0026gt;3.1.2,\nitsdangerous\u0026gt;=2.1.2, click\u0026gt;=8.1.3.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove previously deprecated code. :pr:\u003ccode\u003e4995\u003c/code\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003epush\u003c/code\u003e and \u003ccode\u003epop\u003c/code\u003e methods of the deprecated \u003ccode\u003e_app_ctx_stack\u003c/code\u003e and\n\u003ccode\u003e_request_ctx_stack\u003c/code\u003e objects are removed. \u003ccode\u003etop\u003c/code\u003e still exists to give\nextensions more time to update, but it will be removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eFLASK_ENV\u003c/code\u003e environment variable, \u003ccode\u003eENV\u003c/code\u003e config key, and \u003ccode\u003eapp.env\u003c/code\u003e\nproperty are removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003esession_cookie_name\u003c/code\u003e, \u003ccode\u003esend_file_max_age_default\u003c/code\u003e, \u003ccode\u003euse_x_sendfile\u003c/code\u003e,\n\u003ccode\u003epropagate_exceptions\u003c/code\u003e, and \u003ccode\u003etemplates_auto_reload\u003c/code\u003e properties on \u003ccode\u003eapp\u003c/code\u003e\nare removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eJSON_AS_ASCII\u003c/code\u003e, \u003ccode\u003eJSON_SORT_KEYS\u003c/code\u003e, \u003ccode\u003eJSONIFY_MIMETYPE\u003c/code\u003e, and\n\u003ccode\u003eJSONIFY_PRETTYPRINT_REGULAR\u003c/code\u003e config keys are removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eapp.before_first_request\u003c/code\u003e and \u003ccode\u003ebp.before_app_first_request\u003c/code\u003e decorators\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/pallets/flask/commit/3205b53c7cf69d17fee49cac6b84978175b7dd73\"\u003e\u003ccode\u003e3205b53\u003c/code\u003e\u003c/a\u003e release version 2.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/9f9550247a2798b9dcc28081c15e266442f4e28a\"\u003e\u003ccode\u003e9f95502\u003c/code\u003e\u003c/a\u003e bump werkzeug 2.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/02736640095ed6d5a4a409a9658eaca373fd1d48\"\u003e\u003ccode\u003e0273664\u003c/code\u003e\u003c/a\u003e Update dispatch by path example (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5217\"\u003e#5217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/a887e179b8af6a9c582a7918f9f8499ab58032cc\"\u003e\u003ccode\u003ea887e17\u003c/code\u003e\u003c/a\u003e clean up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/aa6d4c3e92bd11a7d449f49f524e54bbb88b89c0\"\u003e\u003ccode\u003eaa6d4c3\u003c/code\u003e\u003c/a\u003e update dispatch-by-path example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/826514b8eb18f6c314cf566630253d35c89e42c3\"\u003e\u003ccode\u003e826514b\u003c/code\u003e\u003c/a\u003e fix flake8 bugbear findings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/6d266f63633f5f127165d4ef836db14a59bbc106\"\u003e\u003ccode\u003e6d266f6\u003c/code\u003e\u003c/a\u003e Pass maxsplit via kwarg to re.split (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5215\"\u003e#5215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/17e146ad949b3d80438faf95e81b53c543cb50f5\"\u003e\u003ccode\u003e17e146a\u003c/code\u003e\u003c/a\u003e Pass maxsplit via kwarg to re.split\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/8a72b741616556b4f739ea79ab502c2d2038844a\"\u003e\u003ccode\u003e8a72b74\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5211\"\u003e#5211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/7255be9626ab56d81bc0ab86db939fcc1da9bca1\"\u003e\u003ccode\u003e7255be9\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/2.2.5...2.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask-caching` from 2.0.2 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets-eco/flask-caching/releases\"\u003eflask-caching's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/blob/v2.3.1/CHANGES.rst\"\u003ehttps://github.com/pallets-eco/flask-caching/blob/v2.3.1/CHANGES.rst\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/blob/v2.1.0/CHANGES.rst\"\u003ehttps://github.com/pallets-eco/flask-caching/blob/v2.1.0/CHANGES.rst\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/blob/v2.1.0/CHANGES.rst\"\u003ehttps://github.com/pallets-eco/flask-caching/blob/v2.1.0/CHANGES.rst\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.1.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/blob/v2.1.0/CHANGES.rst\"\u003ehttps://github.com/pallets-eco/flask-caching/blob/v2.1.0/CHANGES.rst\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/pallets-eco/flask-caching/blob/master/CHANGES.rst\"\u003eflask-caching's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelax cachelib version to allow latest releases\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-05-04\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eresponse_hit_indication\u003c/code\u003e flag to \u003ccode\u003eCache.cached\u003c/code\u003e decorator for appending 'hit_cache' headers to responses, indicating cache hits.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop python 3.7 support\u003c/li\u003e\n\u003cli\u003epython 3.11 officially supported\u003c/li\u003e\n\u003cli\u003eFix issue causing \u003ccode\u003eargs_to_ignore\u003c/code\u003e to not work with \u003ccode\u003eflask_caching.Cache.memoize\u003c/code\u003e decorator when keyword arguments were used in the decorated function call\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-10-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix type signature in \u003ccode\u003eflask_caching.utils.make_template_fragment_key\u003c/code\u003e. :pr:\u003ccode\u003e430\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdded docs and example for make_cache_key\u003c/li\u003e\n\u003cli\u003esupport Flask 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/e59bc040cd47cd2b43e501d636d43d442c50b3ff\"\u003e\u003ccode\u003ee59bc04\u003c/code\u003e\u003c/a\u003e release 2.3.1 (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/023491c1c44d03baafce2231d6532493bb945711\"\u003e\u003ccode\u003e023491c\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.10.0 to 1.11.1 in /requirements (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/580\"\u003e#580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/b786b9f9b7521ece065d8e202700fe2d1c1d5fd4\"\u003e\u003ccode\u003eb786b9f\u003c/code\u003e\u003c/a\u003e Bump pytest from 8.2.0 to 8.3.2 in /requirements (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/582\"\u003e#582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/20a8afdcb53da9725467e4ab2788cb9851f39c9c\"\u003e\u003ccode\u003e20a8afd\u003c/code\u003e\u003c/a\u003e Bump redis from 5.0.4 to 5.0.8 in /requirements (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/581\"\u003e#581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/33d673d89a644dba7716b65bf09e47046b33d6d6\"\u003e\u003ccode\u003e33d673d\u003c/code\u003e\u003c/a\u003e Bump tox from 4.15.0 to 4.16.0 in /requirements (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/3dddd9265879974d5e556704e44ef1c6cc09ce4d\"\u003e\u003ccode\u003e3dddd92\u003c/code\u003e\u003c/a\u003e Bump sphinx from 7.3.7 to 8.0.2 in /requirements (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/585\"\u003e#585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/5dffcf336042beb929d30a05647798ee4b3de6ab\"\u003e\u003ccode\u003e5dffcf3\u003c/code\u003e\u003c/a\u003e Bump pytest-asyncio from 0.23.7 to 0.23.8 in /requirements (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/b44676c4bf341493cd51cde7d3f82d1fcd7a0f6a\"\u003e\u003ccode\u003eb44676c\u003c/code\u003e\u003c/a\u003e Bump certifi from 2024.2.2 to 2024.7.4 in /requirements (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/578\"\u003e#578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/8d3e312615e2c2740f97e225e639bc61c8818edb\"\u003e\u003ccode\u003e8d3e312\u003c/code\u003e\u003c/a\u003e Bump types-redis from 4.6.0.20240425 to 4.6.0.20240726 in /requirements (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/584\"\u003e#584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/7a14296cf2f9c72f760297fbc4d531b5c6c1dd46\"\u003e\u003ccode\u003e7a14296\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.2.1 to 2.2.2 in /requirements (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets-eco/flask-caching/compare/v2.0.2...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prometheus-client` from 0.17.1 to 0.24.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prometheus/client_python/releases\"\u003eprometheus-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.24.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Django] Pass correct registry to MultiProcessCollector by \u003ca href=\"https://github.com/jelly\"\u003e\u003ccode\u003e@​jelly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1152\"\u003eprometheus/client_python#1152\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an AIOHTTP exporter by \u003ca href=\"https://github.com/Lexicality\"\u003e\u003ccode\u003e@​Lexicality\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1139\"\u003eprometheus/client_python#1139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd remove_matching() method for metric label deletion by \u003ca href=\"https://github.com/hazel-shen\"\u003e\u003ccode\u003e@​hazel-shen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1121\"\u003eprometheus/client_python#1121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(multiprocess): avoid double-building child metric names (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1035\"\u003e#1035\u003c/a\u003e) by \u003ca href=\"https://github.com/hazel-shen\"\u003e\u003ccode\u003e@​hazel-shen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1146\"\u003eprometheus/client_python#1146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't interleave histogram metrics in multi-process collector by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1148\"\u003eprometheus/client_python#1148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax registry type annotations for exposition by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1149\"\u003eprometheus/client_python#1149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded compression support in pushgateway by \u003ca href=\"https://github.com/ritesh-avesha\"\u003e\u003ccode\u003e@​ritesh-avesha\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1144\"\u003eprometheus/client_python#1144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Django exporter (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1088\"\u003e#1088\u003c/a\u003e) by \u003ca href=\"https://github.com/Chadys\"\u003e\u003ccode\u003e@​Chadys\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1143\"\u003eprometheus/client_python#1143\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_python/compare/v0.23.1...v0.24.0\"\u003ehttps://github.com/prometheus/client_python/compare/v0.23.1...v0.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.23.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: use tuples instead of packaging Version by \u003ca href=\"https://github.com/efiop\"\u003e\u003ccode\u003e@​efiop\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1136\"\u003eprometheus/client_python#1136\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/efiop\"\u003e\u003ccode\u003e@​efiop\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1136\"\u003eprometheus/client_python#1136\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_python/compare/v0.23.0...v0.23.1\"\u003ehttps://github.com/prometheus/client_python/compare/v0.23.0...v0.23.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUTF-8 Content Negotiation by \u003ca href=\"https://github.com/ywwg\"\u003e\u003ccode\u003e@​ywwg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1102\"\u003eprometheus/client_python#1102\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe include test data by \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1113\"\u003eprometheus/client_python#1113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove parser performance by \u003ca href=\"https://github.com/csmarchbanks\"\u003e\u003ccode\u003e@​csmarchbanks\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1117\"\u003eprometheus/client_python#1117\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support to \u003ccode\u003ewrite_to_textfile\u003c/code\u003e for custom tmpdir by \u003ca href=\"https://github.com/aadityadhruv\"\u003e\u003ccode\u003e@​aadityadhruv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1115\"\u003eprometheus/client_python#1115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOM text exposition for NH by \u003ca href=\"https://github.com/vesari\"\u003e\u003ccode\u003e@​vesari\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1087\"\u003eprometheus/client_python#1087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix bug which caused metric publishing to not accept query string parameters in ASGI app by \u003ca href=\"https://github.com/hacksparr0w\"\u003e\u003ccode\u003e@​hacksparr0w\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1125\"\u003eprometheus/client_python#1125\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmit native histograms only when OM 2.0.0 is requested by \u003ca href=\"https://github.com/vesari\"\u003e\u003ccode\u003e@​vesari\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1128\"\u003eprometheus/client_python#1128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove space after comma in openmetrics exposition by \u003ca href=\"https://github.com/theSuess\"\u003e\u003ccode\u003e@​theSuess\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1132\"\u003eprometheus/client_python#1132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix issue parsing double spaces after # HELP/# TYPE by \u003ca href=\"https://github.com/csmarchbanks\"\u003e\u003ccode\u003e@​csmarchbanks\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1134\"\u003eprometheus/client_python#1134\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/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1113\"\u003eprometheus/client_python#1113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aadityadhruv\"\u003e\u003ccode\u003e@​aadityadhruv\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1115\"\u003eprometheus/client_python#1115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hacksparr0w\"\u003e\u003ccode\u003e@​hacksparr0w\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1125\"\u003eprometheus/client_python#1125\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theSuess\"\u003e\u003ccode\u003e@​theSuess\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1132\"\u003eprometheus/client_python#1132\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_python/compare/v0.22.1...v0.23.0\"\u003ehttps://github.com/prometheus/client_python/compare/v0.22.1...v0.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.22.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugFix: Skip validating and parsing comment lines early (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1108\"\u003e#1108\u003c/a\u003e) by \u003ca href=\"https://github.com/wissamir\"\u003e\u003ccode\u003e@​wissamir\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1109\"\u003eprometheus/client_python#1109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse License Expressions in pyproject.toml by \u003ca href=\"https://github.com/csmarchbanks\"\u003e\u003ccode\u003e@​csmarchbanks\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1111\"\u003eprometheus/client_python#1111\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_python/compare/v0.22.0...v0.22.1\"\u003ehttps://github.com/prometheus/client_python/compare/v0.22.0...v0.22.1\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/prometheus/client_python/commit/f417f6ea8f058165a1934e368fed245e91aafc14\"\u003e\u003ccode\u003ef417f6e\u003c/code\u003e\u003c/a\u003e Release 0.24.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_python/commit/6f0e967c1f7a408b75861d6833a8d303874be95d\"\u003e\u003ccode\u003e6f0e967\u003c/code\u003e\u003c/a\u003e Pass correct registry to MultiProcessCollector (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1152\"\u003e#1152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_python/commit/c5024d310fbfcba45a5e9db62e337a3a7930ea16\"\u003e\u003ccode\u003ec5024d3\u003c/code\u003e\u003c/a\u003e Release 0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_python/commit/e1cdc203b1cf5f15c7b9a64d79fccc7907a62ca3\"\u003e\u003ccode\u003ee1cdc20\u003c/code\u003e\u003c/a\u003e Add Django exporter (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1088\"\u003e#1088\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1143\"\u003e#1143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_python/commit/7b9959209492c06968785c66bc6ea2316d156f91\"\u003e\u003ccode\u003e7b99592\u003c/code\u003e\u003c/a\u003e Added compression support in pushgateway (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1144\"\u003e#1144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_python/commit/13df12421e1ba9c621246b9084229e24fda4074e\"\u003e\u003ccode\u003e13df124\u003c/code\u003e\u003c/a\u003e Relax registry type annotations for exposition (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1149\"\u003e#1149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_python/commit/a264ec0d85600decfb0681d00ed1566186bebfb3\"\u003e\u003ccode\u003ea264ec0\u003c/code\u003e\u003c/a\u003e Don't interleave histogram metrics in multi-process collector (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1148\"\u003e#1148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_python/commit/e8f8bae6554de11ebffffcc878ab19abd67528f2\"\u003e\u003ccode\u003ee8f8bae\u003c/code\u003e\u003c/a\u003e fix(multiprocess): avoid double-building child metric names (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1035\"\u003e#1035\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1146\"\u003e#1146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_python/commit/1783ca87acbed1d45ebaa124b7b22244f9c9c2e8\"\u003e\u003ccode\u003e1783ca8\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1142\"\u003e#1142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_python/commit/378510b8ae91d23383cd1c7e0be180b374a1c84c\"\u003e\u003ccode\u003e378510b\u003c/code\u003e\u003c/a\u003e Add remove_matching() method for metric label deletion (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1121\"\u003e#1121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prometheus/client_python/compare/v0.17.1...v0.24.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyjwt` from 2.6.0 to 2.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jpadilla/pyjwt/releases\"\u003epyjwt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.11.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed type error in comment by \u003ca href=\"https://github.com/shuhaib-aot\"\u003e\u003ccode\u003e@​shuhaib-aot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1026\"\u003ejpadilla/pyjwt#1026\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1018\"\u003ejpadilla/pyjwt#1018\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1033\"\u003ejpadilla/pyjwt#1033\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake note of use of leeway with nbf by \u003ca href=\"https://github.com/djw8605\"\u003e\u003ccode\u003e@​djw8605\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1034\"\u003ejpadilla/pyjwt#1034\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1035\"\u003ejpadilla/pyjwt#1035\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/964\"\u003e#964\u003c/a\u003e: Validate key against allowed types for Algorithm family by \u003ca href=\"https://github.com/pachewise\"\u003e\u003ccode\u003e@​pachewise\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/985\"\u003ejpadilla/pyjwt#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1024\"\u003e#1024\u003c/a\u003e: Add iterator for PyJWKSet by \u003ca href=\"https://github.com/pachewise\"\u003e\u003ccode\u003e@​pachewise\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1041\"\u003ejpadilla/pyjwt#1041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1039\"\u003e#1039\u003c/a\u003e: Add iss, issuer type checks by \u003ca href=\"https://github.com/pachewise\"\u003e\u003ccode\u003e@​pachewise\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1040\"\u003ejpadilla/pyjwt#1040\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/660\"\u003e#660\u003c/a\u003e: Improve typing/logic for \u003ccode\u003eoptions\u003c/code\u003e in decode, decode_complete; Improve docs by \u003ca href=\"https://github.com/pachewise\"\u003e\u003ccode\u003e@​pachewise\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1045\"\u003ejpadilla/pyjwt#1045\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1042\"\u003ejpadilla/pyjwt#1042\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1052\"\u003ejpadilla/pyjwt#1052\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1053\"\u003ejpadilla/pyjwt#1053\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1022\"\u003e#1022\u003c/a\u003e: Map \u003ccode\u003ealgorithm=None\u003c/code\u003e to \u0026quot;none\u0026quot; by \u003ca href=\"https://github.com/qqii\"\u003e\u003ccode\u003e@​qqii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1056\"\u003ejpadilla/pyjwt#1056\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1055\"\u003ejpadilla/pyjwt#1055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1058\"\u003ejpadilla/pyjwt#1058\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1060\"\u003ejpadilla/pyjwt#1060\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1061\"\u003ejpadilla/pyjwt#1061\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1047\"\u003e#1047\u003c/a\u003e: Correct \u003ccode\u003ePyJWKClient.get_signing_key_from_jwt\u003c/code\u003e annotation  by \u003ca href=\"https://github.com/khvn26\"\u003e\u003ccode\u003e@​khvn26\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1048\"\u003ejpadilla/pyjwt#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1062\"\u003ejpadilla/pyjwt#1062\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed doc string typo in _validate_jti() function \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1063\"\u003e#1063\u003c/a\u003e by \u003ca href=\"https://github.com/kuldeepkhatke\"\u003e\u003ccode\u003e@​kuldeepkhatke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1064\"\u003ejpadilla/pyjwt#1064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1065\"\u003ejpadilla/pyjwt#1065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate SECURITY.md by \u003ca href=\"https://github.com/auvipy\"\u003e\u003ccode\u003e@​auvipy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1057\"\u003ejpadilla/pyjwt#1057\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTyping fix: use \u003ccode\u003efloat\u003c/code\u003e instead of \u003ccode\u003eint\u003c/code\u003e for \u003ccode\u003elifespan\u003c/code\u003e and \u003ccode\u003etimeout\u003c/code\u003e by \u003ca href=\"https://github.com/nikitagashkov\"\u003e\u003ccode\u003e@​nikitagashkov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1068\"\u003ejpadilla/pyjwt#1068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1067\"\u003ejpadilla/pyjwt#1067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1071\"\u003ejpadilla/pyjwt#1071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1076\"\u003ejpadilla/pyjwt#1076\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix TYP header documentation by \u003ca href=\"https://github.com/fobiasmog\"\u003e\u003ccode\u003e@​fobiasmog\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1046\"\u003ejpadilla/pyjwt#1046\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: Document claims sub and jti by \u003ca href=\"https://github.com/cleder\"\u003e\u003ccode\u003e@​cleder\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1088\"\u003ejpadilla/pyjwt#1088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1077\"\u003ejpadilla/pyjwt#1077\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/jpadilla/pyjwt/pull/1089\"\u003ejpadilla/pyjwt#1089\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/stale from 8 to 10 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/jpadilla/pyjwt/pull/1090\"\u003ejpadilla/pyjwt#1090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1083\"\u003ejpadilla/pyjwt#1083\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1091\"\u003ejpadilla/pyjwt#1091\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1093\"\u003ejpadilla/pyjwt#1093\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1096\"\u003ejpadilla/pyjwt#1096\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve package build warnings by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1105\"\u003ejpadilla/pyjwt#1105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport Python 3.14, and test against PyPy 3.10+ by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1104\"\u003ejpadilla/pyjwt#1104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix a \u003ccode\u003eSyntaxWarning\u003c/code\u003e caused by invalid escape sequences by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1103\"\u003ejpadilla/pyjwt#1103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStandardize CHANGELOG links to PRs by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1110\"\u003ejpadilla/pyjwt#1110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from \u003ccode\u003epep517\u003c/code\u003e, which is deprecated, to \u003ccode\u003ebuild\u003c/code\u003e by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode...\n\n_Description has been truncated_","html_url":"https://github.com/CybercentreCanada/howler/pull/171","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/CybercentreCanada%2Fhowler/issues/171","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/171/packages"},{"uuid":"3885622134","node_id":"PR_kwDOQmboGc7A5fFl","number":22,"state":"closed","title":"chore(deps)(deps): bump the python-minor-patch group across 1 directory with 49 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["KyaRhamil"],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-02-09T01:17:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-02T12:16:45.000Z","updated_at":"2026-02-09T01:17:04.000Z","time_to_close":565218,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"python-minor-patch","update_count":49,"packages":[{"name":"flask","old_version":"3.0.3","new_version":"3.1.2","repository_url":"https://github.com/pallets/flask"},{"name":"flask-cors","old_version":"6.0.0","new_version":"6.0.2","repository_url":"https://github.com/corydolphin/flask-cors"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"numpy","old_version":"2.1.3","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"joblib","old_version":"1.4.2","new_version":"1.5.3","repository_url":"https://github.com/joblib/joblib"},{"name":"scipy","old_version":"1.14.1","new_version":"1.17.0","repository_url":"https://github.com/scipy/scipy"},{"name":"apscheduler","old_version":"3.10.4","new_version":"3.11.2","repository_url":"https://github.com/agronholm/apscheduler"},{"name":"celery","old_version":"5.4.0","new_version":"5.6.2","repository_url":"https://github.com/celery/celery"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"sqlalchemy","old_version":"2.0.35","new_version":"2.0.46","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"alembic","old_version":"1.13.3","new_version":"1.18.3","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"matplotlib","old_version":"3.9.2","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"pyjwt","old_version":"2.9.0","new_version":"2.11.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"email-validator","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/JoshData/python-email-validator"},{"name":"flask-compress","old_version":"1.15","new_version":"1.23","repository_url":"https://github.com/colour-science/flask-compress"},{"name":"flask-caching","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/pallets-eco/flask-caching"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"prometheus-flask-exporter","old_version":"0.23.1","new_version":"0.23.2","repository_url":"https://github.com/rycus86/prometheus_flask_exporter"},{"name":"sentry-sdk","old_version":"2.18.0","new_version":"2.51.0"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.67.2","repository_url":"https://github.com/tqdm/tqdm"},{"name":"openmeteo-requests","old_version":"1.2.0","new_version":"1.7.5","repository_url":"https://github.com/open-meteo/python-requests"},{"name":"beautifulsoup4","old_version":"4.12.3","new_version":"4.14.3"},{"name":"tabula-py","old_version":"2.9.3","new_version":"2.10.0","repository_url":"https://github.com/chezou/tabula-py"},{"name":"folium","old_version":"0.18.0","new_version":"0.20.0","repository_url":"https://github.com/python-visualization/folium"},{"name":"shapely","old_version":"2.0.6","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"},{"name":"statsmodels","old_version":"0.14.4","new_version":"0.14.6","repository_url":"https://github.com/statsmodels/statsmodels"},{"name":"prophet","old_version":"1.1.6","new_version":"1.3.0","repository_url":"https://github.com/facebook/prophet"},{"name":"graphql-core","old_version":"3.2.5","new_version":"3.2.7","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"earthengine-api","old_version":"1.4.3","new_version":"1.7.10","repository_url":"https://github.com/google/earthengine-api"},{"name":"google-cloud-bigquery","old_version":"3.27.0","new_version":"3.40.0","repository_url":"https://github.com/googleapis/python-bigquery"},{"name":"google-auth","old_version":"2.37.0","new_version":"2.48.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-auth-oauthlib","old_version":"1.2.1","new_version":"1.2.4","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib"},{"name":"google-auth-httplib2","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2"},{"name":"jupyter","old_version":"1.0.0","new_version":"1.1.1"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-xdist","old_version":"3.5.0","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"responses","old_version":"0.24.1","new_version":"0.25.8","repository_url":"https://github.com/getsentry/responses"},{"name":"httpx","old_version":"0.25.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"locust","old_version":"2.20.1","new_version":"2.43.2","repository_url":"https://github.com/locustio/locust"},{"name":"bandit","old_version":"1.7.6","new_version":"1.9.3","repository_url":"https://github.com/PyCQA/bandit"},{"name":"safety","old_version":"3.2.0","new_version":"3.7.0","repository_url":"https://github.com/pyupio/safety"},{"name":"pip-audit","old_version":"2.7.3","new_version":"2.10.0","repository_url":"https://github.com/pypa/pip-audit"},{"name":"coverage","old_version":"7.6.0","new_version":"7.13.2","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"coverage-badge","old_version":"1.1.0","new_version":"1.1.2","repository_url":"https://github.com/dbrgn/coverage-badge"},{"name":"pytest-html","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/pytest-dev/pytest-html"},{"name":"google-cloud-bigquery-storage","old_version":"2.27.0","new_version":"2.36.0","repository_url":"https://github.com/googleapis/google-cloud-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 49 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `3.0.3` | `3.1.2` |\n| [flask-cors](https://github.com/corydolphin/flask-cors) | `6.0.0` | `6.0.2` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [numpy](https://github.com/numpy/numpy) | `2.1.3` | `2.4.2` |\n| [joblib](https://github.com/joblib/joblib) | `1.4.2` | `1.5.3` |\n| [scipy](https://github.com/scipy/scipy) | `1.14.1` | `1.17.0` |\n| [apscheduler](https://github.com/agronholm/apscheduler) | `3.10.4` | `3.11.2` |\n| [celery](https://github.com/celery/celery) | `5.4.0` | `5.6.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.35` | `2.0.46` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.13.3` | `1.18.3` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.9.2` | `3.10.8` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.9.0` | `2.11.0` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [email-validator](https://github.com/JoshData/python-email-validator) | `2.2.0` | `2.3.0` |\n| [flask-compress](https://github.com/colour-science/flask-compress) | `1.15` | `1.23` |\n| [flask-caching](https://github.com/pallets-eco/flask-caching) | `2.3.0` | `2.3.1` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [prometheus-flask-exporter](https://github.com/rycus86/prometheus_flask_exporter) | `0.23.1` | `0.23.2` |\n| [sentry-sdk[flask]](https://github.com/getsentry/sentry-python) | `2.18.0` | `2.51.0` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.1` | `4.67.2` |\n| [openmeteo-requests](https://github.com/open-meteo/python-requests) | `1.2.0` | `1.7.5` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.12.3` | `4.14.3` |\n| [tabula-py](https://github.com/chezou/tabula-py) | `2.9.3` | `2.10.0` |\n| [folium](https://github.com/python-visualization/folium) | `0.18.0` | `0.20.0` |\n| [shapely](https://github.com/shapely/shapely) | `2.0.6` | `2.1.2` |\n| [statsmodels](https://github.com/statsmodels/statsmodels) | `0.14.4` | `0.14.6` |\n| [prophet](https://github.com/facebook/prophet) | `1.1.6` | `1.3.0` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.5` | `3.2.7` |\n| [earthengine-api](https://github.com/google/earthengine-api) | `1.4.3` | `1.7.10` |\n| [google-cloud-bigquery](https://github.com/googleapis/python-bigquery) | `3.27.0` | `3.40.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.37.0` | `2.48.0` |\n| [google-auth-oauthlib](https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib) | `1.2.1` | `1.2.4` |\n| [google-auth-httplib2](https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2) | `0.2.0` | `0.3.0` |\n| [jupyter](https://jupyter.org) | `1.0.0` | `1.1.1` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.15.1` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.5.0` | `3.8.0` |\n| [responses](https://github.com/getsentry/responses) | `0.24.1` | `0.25.8` |\n| [httpx](https://github.com/encode/httpx) | `0.25.2` | `0.28.1` |\n| [locust](https://github.com/locustio/locust) | `2.20.1` | `2.43.2` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.7.6` | `1.9.3` |\n| [safety](https://github.com/pyupio/safety) | `3.2.0` | `3.7.0` |\n| [pip-audit](https://github.com/pypa/pip-audit) | `2.7.3` | `2.10.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.6.0` | `7.13.2` |\n| [coverage-badge](https://github.com/dbrgn/coverage-badge) | `1.1.0` | `1.1.2` |\n| [pytest-html](https://github.com/pytest-dev/pytest-html) | `4.1.1` | `4.2.0` |\n| [google-cloud-bigquery-storage](https://github.com/googleapis/google-cloud-python) | `2.27.0` | `2.36.0` |\n\n\nUpdates `flask` from 3.0.3 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\n\u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation\nabout resource limits to the security page. :issue:\u003ccode\u003e5625\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the\n\u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. :issue:\u003ccode\u003e5472\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files.\n\u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless\n\u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. :issue:\u003ccode\u003e5628\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old\nsecret keys that can still be used for unsigning. Extensions will need to\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/flask/commit/2c1b30d0503cfb064f1cb252e6614a06915a362a\"\u003e\u003ccode\u003e2c1b30d\u003c/code\u003e\u003c/a\u003e release version 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/1292419ddfc6a14fc7f85b5ed7efcc2d215f1ad3\"\u003e\u003ccode\u003e1292419\u003c/code\u003e\u003c/a\u003e Update GitHub Actions workflow for artifact handling (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5795\"\u003e#5795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4dd52ca9c768c9b6d04180f0547d6f4b6e34f211\"\u003e\u003ccode\u003e4dd52ca\u003c/code\u003e\u003c/a\u003e Update GitHub Actions workflow for artifact handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/55c62556571ee46a94da174643b50ece06edead4\"\u003e\u003ccode\u003e55c6255\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/d8259eb11900285af9b80b0fa47f841174c054e3\"\u003e\u003ccode\u003ed8259eb\u003c/code\u003e\u003c/a\u003e use Jinja name consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/38b4c1e19b50494cfcdc9332899e09b7fed34979\"\u003e\u003ccode\u003e38b4c1e\u003c/code\u003e\u003c/a\u003e refactor stream_with_context for async views (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5799\"\u003e#5799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/9822a0351574790cb66c652fcc396ad7aa2b09d8\"\u003e\u003ccode\u003e9822a03\u003c/code\u003e\u003c/a\u003e refactor stream_with_context for async views\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/49b7e7bc8fb69d605719991d1c0a99fcee689053\"\u003e\u003ccode\u003e49b7e7b\u003c/code\u003e\u003c/a\u003e security docs for TRUSTED_HOSTS (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5798\"\u003e#5798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/b228ca3d87745b746d904a2108429617a814ffda\"\u003e\u003ccode\u003eb228ca3\u003c/code\u003e\u003c/a\u003e security docs for TRUSTED_HOSTS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ff64079a516c269f171ababf3d92b86886a62ffd\"\u003e\u003ccode\u003eff64079\u003c/code\u003e\u003c/a\u003e update flask-talisman link\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.0.3...3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask-cors` from 6.0.0 to 6.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/corydolphin/flask-cors/releases\"\u003eflask-cors's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate license pyproject.toml by \u003ca href=\"https://github.com/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\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/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInvert regex sorting to make it correctly match the intent (sorting by specificity descending) \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1.dev\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\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/corydolphin/flask-cors/commit/fa55dcbec68b3524a39e5057c35c29c221a27d64\"\u003e\u003ccode\u003efa55dcb\u003c/code\u003e\u003c/a\u003e Update license pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/a5003f391e56f74f11a3e509cd180787c75eb6b0\"\u003e\u003ccode\u003ea5003f3\u003c/code\u003e\u003c/a\u003e Fix README file extension in pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/4ad56d6c20252d36031c74ba8386a81e94286f40\"\u003e\u003ccode\u003e4ad56d6\u003c/code\u003e\u003c/a\u003e Fix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.1.3 to 2.4.2\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.2 (Feb 1, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.2 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.2 is a patch release that fixes bugs discovered after the\n2.4.1 release. Highlights are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixes memory leaks\u003c/li\u003e\n\u003cli\u003eUpdates OpenBLAS to fix hangs\u003c/li\u003e\n\u003c/ul\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 9 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 Tang +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eKumar Aditya\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eVikram Kumar +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 12 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/30629\"\u003e#30629\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/30636\"\u003e#30636\u003c/a\u003e: TYP: \u003ccode\u003earange\u003c/code\u003e: accept datetime strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30657\"\u003e#30657\u003c/a\u003e: MAINT: avoid possible race condition by not touching \u003ccode\u003eos.environ\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30700\"\u003e#30700\u003c/a\u003e: BUG: validate contraction axes in tensordot (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30521\"\u003e#30521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30701\"\u003e#30701\u003c/a\u003e: DOC: __array_namespace__info__: set_module not __module__ (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30679\"\u003e#30679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30702\"\u003e#30702\u003c/a\u003e: BUG: fix free-threaded PyObject layout in replace_scalar_type_names...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30703\"\u003e#30703\u003c/a\u003e: TST: fix limited API example in tests for latest Cython\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30709\"\u003e#30709\u003c/a\u003e: BUG: Fix some bugs found via valgrind (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30680\"\u003e#30680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30712\"\u003e#30712\u003c/a\u003e: MAINT: replace ob_type access with Py_TYPE in PyArray_CheckExact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30713\"\u003e#30713\u003c/a\u003e: BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30736\"\u003e#30736\u003c/a\u003e: BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30737\"\u003e#30737\u003c/a\u003e: backport scipy-openblas version change\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.1 (Jan 10, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.1 is a patch release that fixes bugs discoved after the\n2.4.0 release. In particular, the typo \u003ccode\u003eSeedlessSequence\u003c/code\u003e is preserved to\nenable wheels using the random Cython API and built against NumPy \u0026lt; 2.4.0\nto run without errors.\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/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003cli\u003eYou can use the \u003ccode\u003ekeyring\u003c/code\u003e app to store the PyPI password for twine. See the\nonline twine documentation for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003cp\u003eCheck the numpy-release repo\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/c81c49f77451340651a751e76bca607d85e4fd55\"\u003e\u003ccode\u003ec81c49f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30757\"\u003e#30757\u003c/a\u003e from charris/prepare-2.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b3ae9c59de627110458653836f1be81280222f85\"\u003e\u003ccode\u003eb3ae9c5\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9de89843c3918fa133f1aab9fb4435c38a3b0ba6\"\u003e\u003ccode\u003e9de8984\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30737\"\u003e#30737\u003c/a\u003e from mattip/scipy-openblas-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b7be329895e32de44578742b2745fb307cdf8625\"\u003e\u003ccode\u003eb7be329\u003c/code\u003e\u003c/a\u003e backport scipy-openblas version change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7ff98637f80dc1ff7a18fce8025ffabdded76094\"\u003e\u003ccode\u003e7ff9863\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30736\"\u003e#30736\u003c/a\u003e from charris/backport-30667\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/431fffbe91d86c04738f039e0048441f8f9b5fff\"\u003e\u003ccode\u003e431fffb\u003c/code\u003e\u003c/a\u003e MAINT: Skip tests that require \u003cstrong\u003ebuffer\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/127235fcd9b2e80764da8f6c64f942a6bddb093a\"\u003e\u003ccode\u003e127235f\u003c/code\u003e\u003c/a\u003e BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/18bdb2e675b68daa5afc3250c41982ff77b3867f\"\u003e\u003ccode\u003e18bdb2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30713\"\u003e#30713\u003c/a\u003e from charris/backport-30710\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/41dd7512de6dc3dd665b71d4e3a321aa1150dc48\"\u003e\u003ccode\u003e41dd751\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30712\"\u003e#30712\u003c/a\u003e from charris/backport-30705\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7a278da99943376313b8f631905c3baaa7a82a30\"\u003e\u003ccode\u003e7a278da\u003c/code\u003e\u003c/a\u003e BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.1.3...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `joblib` from 1.4.2 to 1.5.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/joblib/joblib/blob/main/CHANGES.rst\"\u003ejoblib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.5.3 - 2025/12/15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eMemory\u003c/code\u003e object won't overwrite an already existing \u003ccode\u003e.gitignore\u003c/code\u003e file in its\ncache directory anymore.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1742\"\u003ejoblib/joblib#1742\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHarden the safety checks in \u003ccode\u003eeval_expr(pre_dispatch)\u003c/code\u003e to prevent excessive\nmemory allocation and potential crashes by limiting the allowed length of the\nexpression and the maximum numeric value of sub-expressions and not\nevaluating expressions with non-numeric literals.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1744\"\u003ejoblib/joblib#1744\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor cloudpickle 3.1.2 to fix a pickling problem with interactively\ndefined abstract base classes and type annotations in Python 3.14+.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.2 - 2025/08/27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendor \u003ccode\u003eloky3.5.6\u003c/code\u003e fixing the resource tracker for python 3.13.7+\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1740\"\u003ejoblib/joblib#1740\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMemory:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Ensure that temporary files managed by the ``Memory`` object do not collide\n  when using the same cache directory when the cache directory is accessed\n  concurrently from different nodes on a cluster with a shared filesystem.\n  https://github.com/joblib/joblib/pull/1656\n\u003ch2\u003eRelease 1.5.1 - 2025/05/23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix backend hints causing errors when no multiprocessing is present\u003cbr /\u003e\n\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1721\"\u003ejoblib/joblib#1721\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor \u003ccode\u003eloky3.5.5\u003c/code\u003e fixing the resource_tracker clean up with earlier Python\u003cbr /\u003e\nversions. \u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1724\"\u003ejoblib/joblib#1724\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.0 -- 2025/05/03\u003c/h2\u003e\n\u003cp\u003eMemory:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eEnforce \u003ccode\u003eage_limit\u003c/code\u003e is a positive timedelta for \u003ccode\u003eMemory.reduce_size\u003c/code\u003e,\nto avoid silently ignoring it.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1613\"\u003ejoblib/joblib#1613\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003ebytes_limit\u003c/code\u003e argument for \u003ccode\u003eMemory\u003c/code\u003e, which should\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/joblib/joblib/commit/40cd002ae1765195dfc4738a6bc7f5534b420a21\"\u003e\u003ccode\u003e40cd002\u003c/code\u003e\u003c/a\u003e RELEASE 1.5.3 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f05be6705e0f56856b76d76fecdddab95de394c8\"\u003e\u003ccode\u003ef05be67\u003c/code\u003e\u003c/a\u003e MNT Remove last usage of distutils (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1760\"\u003e#1760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/4273f396b7fb66da7f72f603a6bf6651393c5be1\"\u003e\u003ccode\u003e4273f39\u003c/code\u003e\u003c/a\u003e MNT bump actions/checkout from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1762\"\u003e#1762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f465f0245d20c1e793d98b8071a9604623ffd528\"\u003e\u003ccode\u003ef465f02\u003c/code\u003e\u003c/a\u003e FIX don't overwrite existing .gitignore (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1742\"\u003e#1742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/cca7d87a94a1bd141c6c505a909becd4c1854fde\"\u003e\u003ccode\u003ecca7d87\u003c/code\u003e\u003c/a\u003e MNT bump sklearn test on python 3.12 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1759\"\u003e#1759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f7775ad30051d95d83da76125b176962989bf763\"\u003e\u003ccode\u003ef7775ad\u003c/code\u003e\u003c/a\u003e MNT remove deprecated pytest feature (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1757\"\u003e#1757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/3c58aab890faad3b01eda5e6b35f382edcd71f91\"\u003e\u003ccode\u003e3c58aab\u003c/code\u003e\u003c/a\u003e Add Python 3.14 and 3.14t to the testing (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1747\"\u003e#1747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/9b96664daa07e11f6bee797f55567ac28a961cdb\"\u003e\u003ccode\u003e9b96664\u003c/code\u003e\u003c/a\u003e Bump cloudpickle to 3.1.2 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1752\"\u003e#1752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/c3bdbd9511da485c7036a433dce1924bdbbd1313\"\u003e\u003ccode\u003ec3bdbd9\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 5 updates (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1749\"\u003e#1749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/a09bb30b22b286ee8b233fe9391b21560e1799a9\"\u003e\u003ccode\u003ea09bb30\u003c/code\u003e\u003c/a\u003e Keep GitHub Actions up to date with GitHub's Dependabot (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1748\"\u003e#1748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/joblib/joblib/compare/1.4.2...1.5.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.14.1 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy/releases\"\u003escipy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSciPy 1.17.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.0\u003c/code\u003e is the culmination of 6 months of hard work. It contains\nmany new features, numerous bug-fixes, improved test coverage and better\ndocumentation. There have been a number of deprecations and API changes\nin this release, which are documented below. All users are encouraged to\nupgrade to this release, as there are a large number of bug-fixes and\noptimizations. Before upgrading, we recommend that users check that\ntheir own code does not use deprecated SciPy functionality (to do so,\nrun your code with \u003ccode\u003epython -Wd\u003c/code\u003e and check for \u003ccode\u003eDeprecationWarning\u003c/code\u003e s).\nOur development attention will now shift to bug-fix releases on the\n\u003ccode\u003e1.17.x\u003c/code\u003e branch, and on adding new features on the main branch.\u003c/p\u003e\n\u003cp\u003eThis release requires Python \u003ccode\u003e3.11\u003c/code\u003e-\u003ccode\u003e3.14\u003c/code\u003e and NumPy \u003ccode\u003e1.26.4\u003c/code\u003e or greater.\u003c/p\u003e\n\u003ch1\u003eHighlights of this release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMany SciPy functions have gained native support for batching of N-dimensional\narray input and additional support for the array API standard. An overall\nsummary of the latter is now available in a \u003ca href=\"https://scipy.github.io/devdocs/dev/api-dev/array_api.html#api-coverage\"\u003eset of tables\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003escipy.sparse\u003c/code\u003e, \u003ccode\u003ecoo_array\u003c/code\u003e now supports indexing. This includes integers,\nslices, arrays, \u003ccode\u003enp.newaxis\u003c/code\u003e, \u003ccode\u003eEllipsis\u003c/code\u003e, in 1D, 2D and the relatively\nnew nD. In \u003ccode\u003escipy.sparse.linalg\u003c/code\u003e, ARPACK and PROPACK rewrites from Fortran77\nto C now empower the use of external pseudorandom number generators, e.g.\nfrom numpy.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003escipy.spatial\u003c/code\u003e, \u003ccode\u003etransform.Rotation\u003c/code\u003e and \u003ccode\u003etransform.RigidTransform\u003c/code\u003e\nhave been extended to support N-D arrays. \u003ccode\u003egeometric_slerp\u003c/code\u003e now has support\nfor extrapolation.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003escipy.stats\u003c/code\u003e has gained the matrix t and logistic distributions and many\nperformance and accuracy improvements.\u003c/li\u003e\n\u003cli\u003eInitial support for 64-bit integer (ILP64) BLAS and LAPACK libraries has\nbeen added, including for MKL and Apple Accelerate. Please report any issues with\nILP64 you encounter.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eNew features\u003c/h1\u003e\n\u003ch1\u003e\u003ccode\u003escipy.integrate\u003c/code\u003e improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eThe integration routines \u003ccode\u003edopri5\u003c/code\u003e, \u003ccode\u003edopri853\u003c/code\u003e, \u003ccode\u003eLSODA\u003c/code\u003e, \u003ccode\u003evode\u003c/code\u003e, and\n\u003ccode\u003ezvode\u003c/code\u003e have been ported from Fortran77 to C.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003escipy.integrate.quad\u003c/code\u003e now has a fast path for returning 0 when the integration\ninterval is empty.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eBDF\u003c/code\u003e, \u003ccode\u003eDOP853\u003c/code\u003e, \u003ccode\u003eRK23\u003c/code\u003e, \u003ccode\u003eRK45\u003c/code\u003e, \u003ccode\u003eOdeSolver\u003c/code\u003e, \u003ccode\u003eDenseOutput\u003c/code\u003e,\n\u003ccode\u003eode\u003c/code\u003e, and \u003ccode\u003ecomplex_ode\u003c/code\u003e classes now support subscription, making them\ngeneric types, for compatibility with \u003ccode\u003escipy-stubs\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/scipy/scipy/commit/8c75ae75176236f233824e9a0483c26a69e6dfec\"\u003e\u003ccode\u003e8c75ae7\u003c/code\u003e\u003c/a\u003e REL: 1.17.0 \u0026quot;final\u0026quot; release commit [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/9d7f110540b5f054cfd99820b5eb02b56a7f2aab\"\u003e\u003ccode\u003e9d7f110\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24298\"\u003e#24298\u003c/a\u003e from tylerjereddy/treddy_prep_1.17.0_final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/94373b602e384cf613e1287b209609a7908c6f5e\"\u003e\u003ccode\u003e94373b6\u003c/code\u003e\u003c/a\u003e MAINT: test wheels [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/723f4e2f83214c237d6afa8a9761f4ef1e00c1fe\"\u003e\u003ccode\u003e723f4e2\u003c/code\u003e\u003c/a\u003e DOC: update 1.17.0 relnotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/bf042f043f1f59a1856827c249453d899abc12fc\"\u003e\u003ccode\u003ebf042f0\u003c/code\u003e\u003c/a\u003e CI: ensure we use pinned scipy-openblas version also in ILP64 job\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/3e00a04941ca2e7cacf6130fd9c28a8aeeefcad8\"\u003e\u003ccode\u003e3e00a04\u003c/code\u003e\u003c/a\u003e CI: fix issue with ILP64 job; point to fixed numpy/meson commit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/39bceab6f85ae717595c2291f6efe0ca29c53ee0\"\u003e\u003ccode\u003e39bceab\u003c/code\u003e\u003c/a\u003e BUG: stats: fix va_args memory corruption bug\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/8f563872fa61c891fede2b547c02190413ec9858\"\u003e\u003ccode\u003e8f56387\u003c/code\u003e\u003c/a\u003e DOC: update 1.17.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/c50e9c03eafec0bb7703acafffc948deb78a567c\"\u003e\u003ccode\u003ec50e9c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24304\"\u003e#24304\u003c/a\u003e from ev-br/edit_relnotes_for_ILP64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/b204495c6122f3670c67000ae29963676024be87\"\u003e\u003ccode\u003eb204495\u003c/code\u003e\u003c/a\u003e DOC: clarify ILP64 support caveats in the release notes, remove mentions of O...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy/compare/v1.14.1...v1.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `apscheduler` from 3.10.4 to 3.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/apscheduler/releases\"\u003eapscheduler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where a job using a \u003ccode\u003eCronTrigger\u003c/code\u003e scheduled in a repeated time interval during DST transitions could cause the scheduler to get stuck in an infinite loop (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e; PR by \u003ca href=\"https://github.com/soulofakuma\"\u003e\u003ccode\u003e@​soulofakuma\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003escheduler.shutdown()\u003c/code\u003e not raising \u003ccode\u003eSchedulerNotRunning\u003c/code\u003e (or raising the wrong exception) for asynchronous schedulers when the scheduler is in fact not running\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCronTrigger\u003c/code\u003e sticking on a folded datetime during the fall-back DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e \u0026lt;\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003eagronholm/apscheduler#1021\u003c/a\u003e\u0026gt;_; PR by \u003ca href=\"https://github.com/berianjames\"\u003e\u003ccode\u003e@​berianjames\u003c/code\u003e\u003c/a\u003e)`\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.6 and 3.7\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eZoneInfo\u003c/code\u003e time zones and deprecated support for pytz time zones\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCalendarIntervalTrigger\u003c/code\u003e, backported from the 4.x series\u003c/li\u003e\n\u003cli\u003eAdded the ability to export and import jobs via \u003ccode\u003escheduler.export_jobs()\u003c/code\u003e and \u003ccode\u003escheduler.import_jobs()\u003c/code\u003e, respectively\u003c/li\u003e\n\u003cli\u003eRemoved the dependency on \u003ccode\u003esix\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e to spawn new subprocesses from scratch instead of forking on all platform\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eAsyncIOScheduler\u003c/code\u003e inadvertently creating a defunct event loop at start, leading to the scheduler not working at all\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e not respecting the passed keyword arguments when a broken pool was being replaced\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/0f70950e320f3a7924dcd404c6c379143fb68b23\"\u003e\u003ccode\u003e0f70950\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/bc404e63af18bd8e493e0765f2ad0b51e6df0ef1\"\u003e\u003ccode\u003ebc404e6\u003c/code\u003e\u003c/a\u003e Updated publish actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/c3aa155bd39fe54639d69b396f9ad720246f0c98\"\u003e\u003ccode\u003ec3aa155\u003c/code\u003e\u003c/a\u003e Updated pre-commit modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/ad6b2dc766cd6722c8aa51543f988b9ee7b13110\"\u003e\u003ccode\u003ead6b2dc\u003c/code\u003e\u003c/a\u003e Added fix for get_next_fire_time not advancing through fold with unfolded pre...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/f4df139771b7741f58f0eb456f091d3f659555c1\"\u003e\u003ccode\u003ef4df139\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/25be7b77afca892d152441d4a61402623af7f943\"\u003e\u003ccode\u003e25be7b7\u003c/code\u003e\u003c/a\u003e Fixed CronTrigger getting stuck on fallback DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1079\"\u003e#1079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/12613862e34456215dc98574f6cf594f77d66f47\"\u003e\u003ccode\u003e1261386\u003c/code\u003e\u003c/a\u003e Updated etcd image repository name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/b1f5636ccaf6a2fe86b208d7bd6b43024a1546b3\"\u003e\u003ccode\u003eb1f5636\u003c/code\u003e\u003c/a\u003e Fixed shutdown() not raising the correct exception for some schedulers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/6c72a51416893eb0eebbe63d0f2a0151952cab59\"\u003e\u003ccode\u003e6c72a51\u003c/code\u003e\u003c/a\u003e Backported release job from master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/4b965109548e528c061cf32b672de1a6f65f2c2a\"\u003e\u003ccode\u003e4b96510\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/apscheduler/compare/3.10.4...3.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `celery` from 5.4.0 to 5.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/releases\"\u003ecelery's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.6.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string by \u003ca href=\"https://github.com/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix: Revoked tasks now immediately update backend status to REVOKED by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9869\"\u003ecelery/celery#9869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.2 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10049\"\u003ecelery/celery#10049\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.1...v5.6.2\"\u003ehttps://github.com/celery/celery/compare/v5.6.1...v5.6.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support by \u003ca href=\"https://github.com/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown by \u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option by \u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10020\"\u003ecelery/celery#10020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup by \u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereliable prefork detection by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10023\"\u003ecelery/celery#10023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebetter coverage by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10029\"\u003ecelery/celery#10029\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example by \u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10032\"\u003ecelery/celery#10032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10033\"\u003ecelery/celery#10033\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10037\"\u003ecelery/celery#10037\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.0...v5.6.1\"\u003ehttps://github.com/celery/celery/compare/v5.6.0...v5.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.0\u003c/h2\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003ch2\u003eKey Highlights\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.celeryq.dev/en/stable/history/whatsnew-5.6.html\"\u003eWhat's new in Celery 5.6\u003c/a\u003e for a complete overview or read the main highlights below.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Minimum Version\u003c/h3\u003e\n\u003cp\u003eCelery 5.6.0 drops support for Python 3.8 (EOL). The minimum required Python version is now 3.9. Users still on Python 3.8 must upgrade their Python version before upgrading to Celery 5.6.0.\u003c/p\u003e\n\u003cp\u003eAdditionally, this release includes initial support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eSQS: Reverted to \u003ccode\u003epycurl\u003c/code\u003e from \u003ccode\u003eurllib3\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003eThe switch from \u003ccode\u003epycurl\u003c/code\u003e to \u003ccode\u003eurllib3\u003c/code\u003e for the SQS transport (introduced in Celery 5.5.0 via Kombu) has been reverted due to critical issues affecting SQS users.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/blob/main/Changelog.rst\"\u003ecelery's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.6.2\u003c/h1\u003e\n\u003cp\u003e:release-date: 2026-01-04\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string ([#10045](https://github.com/celery/celery/issues/10045))\n- Bugfix: Revoked tasks now immediately update backend status to REVOKED ([#9869](https://github.com/celery/celery/issues/9869))\n- Prepare for release: v5.6.2 ([#10049](https://github.com/celery/celery/issues/10049))\n\u003cp\u003e.. _version-5.6.1:\u003c/p\u003e\n\u003ch1\u003e5.6.1\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-12-29\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10013\"\u003e#10013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9986\"\u003e#9986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10016\"\u003e#10016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10020\"\u003e#10020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10015\"\u003e#10015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereliable prefork detection (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10023\"\u003e#10023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebetter coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#10029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10030\"\u003e#10030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10032\"\u003e#10032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _version-5.6.0:\u003c/p\u003e\n\u003ch1\u003e5.6.0\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-11-30\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003cp\u003eKey Highlights\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nSee :ref:`whatsnew-5.6` for a complete overview or read the main highlights below.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6a43c846f183ef0cbade24f4b9a8f7a6ea113b44\"\u003e\u003ccode\u003e6a43c84\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.2 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10049\"\u003e#10049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/333a82f746734151c5cbe848916085455b0a3748\"\u003e\u003ccode\u003e333a82f\u003c/code\u003e\u003c/a\u003e Bugfix: Revoked tasks now immediately update backend status to REVOKED (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9869\"\u003e#9869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/9d6ab110d947270c4edf0b42454266d2954e653d\"\u003e\u003ccode\u003e9d6ab11\u003c/code\u003e\u003c/a\u003e Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeEr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21dbc73f81d2fae058de49e665afaa1cd92da5c0\"\u003e\u003ccode\u003e21dbc73\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/ba20bed7723c684d12ddd62d6a7c0c0d901b3351\"\u003e\u003ccode\u003eba20bed\u003c/code\u003e\u003c/a\u003e Only use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21675299bc2d10c648448ec5221136e07c1eec1a\"\u003e\u003ccode\u003e2167529\u003c/code\u003e\u003c/a\u003e Stop importing pytest_subtests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/0527296acb1f1790788301d4395ba6d5ce2a9704\"\u003e\u003ccode\u003e0527296\u003c/code\u003e\u003c/a\u003e Bump google-cloud-firestore from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/5f8659bdba4561796d66e938a1e2c71d4489562f\"\u003e\u003ccode\u003e5f8659b\u003c/code\u003e\u003c/a\u003e Clarify 'result_extended' setting usage in tasks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/f19db7008682c782d85e69b5ce736970491752ea\"\u003e\u003ccode\u003ef19db70\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.19.0 to 1.19.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10028\"\u003e#10028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6da72bde60553a1c350eef1e17d834d004ed099d\"\u003e\u003ccode\u003e6da72bd\u003c/code\u003e\u003c/a\u003e better coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#10029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/celery/celery/compare/v5.4.0...v5.6.2\"\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.1\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.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env 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/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\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.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff 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/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() 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/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) 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/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini 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/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory 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/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml 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/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure find_dotenv 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/pull/563\"\u003etheskumar/python-dotenv#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): issue with execvpe on Windows by \u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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.1.0...v1.1.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a security policy 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/512\"\u003etheskumar/python-dotenv#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep GitHub Actions up to date with GitHub's Dependabot by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/506\"\u003etheskumar/python-dotenv#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix multiline string in test.yml \u0026amp; use fail-fast strategy by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/514\"\u003etheskumar/python-dotenv#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance dotenv run: Switch to execvpe for better resource management and signal handling by \u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/523\"\u003etheskumar/python-dotenv#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add py3.13 to test.yml by \u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/527\"\u003etheskumar/python-dotenv#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.13 trove classifier by \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/535\"\u003etheskumar/python-dotenv#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/529\"\u003etheskumar/python-dotenv#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.13 and drop 3.8 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/551\"\u003etheskumar/python-dotenv#551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update README.md by \u003ca href=\"https://github.com/chapeupreto\"\u003e\u003ccode\u003e@​chapeupreto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/516\"\u003etheskumar/python-dotenv#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome more s/Python-dotenv/python-dotenv/ 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/552\"\u003etheskumar/python-dotenv#552\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/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.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/pull/563\"\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-do...\n\n_Description has been truncated_","html_url":"https://github.com/KyaRhamil/floodingnaque/pull/22","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyaRhamil%2Ffloodingnaque/issues/22","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/22/packages"},{"uuid":"3883626870","node_id":"PR_kwDOL3PqEc7Ay3w-","number":740,"state":"open","title":"chore(deps): bump the python-dependencies group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["security","backend","dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-02T02:41:53.000Z","updated_at":"2026-02-02T02:42:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-dependencies","update_count":28,"packages":[{"name":"pytest-html","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/pytest-dev/pytest-html"},{"name":"minio","old_version":"7.2.19","new_version":"7.2.20","repository_url":"https://github.com/minio/minio-py"},{"name":"matplotlib","old_version":"3.10.7","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"ruff","old_version":"0.14.6","new_version":"0.14.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"bandit","old_version":"1.9.2","new_version":"1.9.3","repository_url":"https://github.com/PyCQA/bandit"},{"name":"pylint","old_version":"4.0.3","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"fastapi","old_version":"0.122.0","new_version":"0.128.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.40.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"pydantic-settings","old_version":"2.6.1","new_version":"2.12.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"pymilvus","old_version":"2.4.9","new_version":"2.6.8","repository_url":"https://github.com/milvus-io/pymilvus"},{"name":"scikit-learn","old_version":"1.6.0","new_version":"1.8.0","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"weaviate-client","old_version":"4.16.9","new_version":"4.19.2","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"sqlalchemy","old_version":"2.0.36","new_version":"2.0.46","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"pymupdf","old_version":"1.25.0","new_version":"1.26.7","repository_url":"https://github.com/pymupdf/pymupdf"},{"name":"chromadb","old_version":"1.2.0","new_version":"1.4.1","repository_url":"https://github.com/chroma-core/chroma"},{"name":"setuptools","old_version":"80.9.0","new_version":"80.10.2","repository_url":"https://github.com/pypa/setuptools"},{"name":"authlib","old_version":"1.6.5","new_version":"1.6.6","repository_url":"https://github.com/authlib/authlib"},{"name":"ibm-watsonx-ai","old_version":"1.3.37","new_version":"1.5.1","repository_url":"https://github.com/IBM/watsonx-ai-samples"},{"name":"json-repair","old_version":"0.30.3","new_version":"0.55.1","repository_url":"https://github.com/mangiucugna/json_repair"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"docling","old_version":"2.55.0","new_version":"2.71.0","repository_url":"https://github.com/docling-project/docling"},{"name":"spacy","old_version":"3.8.7","new_version":"3.8.11","repository_url":"https://github.com/explosion/spaCy"},{"name":"sentence-transformers","old_version":"5.1.2","new_version":"5.2.2","repository_url":"https://github.com/huggingface/sentence-transformers"},{"name":"spiffe","old_version":"0.2.2","new_version":"0.2.3","repository_url":"https://github.com/HewlettPackard/py-spiffe"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pytest-html](https://github.com/pytest-dev/pytest-html) | `4.1.1` | `4.2.0` |\n| [minio](https://github.com/minio/minio-py) | `7.2.19` | `7.2.20` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.7` | `3.10.8` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.6` | `0.14.14` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.1` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.9.2` | `1.9.3` |\n| [pylint](https://github.com/pylint-dev/pylint) | `4.0.3` | `4.0.4` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.122.0` | `0.128.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.40.0` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.6.1` | `2.12.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [pymilvus](https://github.com/milvus-io/pymilvus) | `2.4.9` | `2.6.8` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.0` | `1.8.0` |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.16.9` | `4.19.2` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.36` | `2.0.46` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [pymupdf](https://github.com/pymupdf/pymupdf) | `1.25.0` | `1.26.7` |\n| [chromadb](https://github.com/chroma-core/chroma) | `1.2.0` | `1.4.1` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.9.0` | `80.10.2` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.5` | `1.6.6` |\n| [ibm-watsonx-ai](https://github.com/IBM/watsonx-ai-samples) | `1.3.37` | `1.5.1` |\n| [json-repair](https://github.com/mangiucugna/json_repair) | `0.30.3` | `0.55.1` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [docling](https://github.com/docling-project/docling) | `2.55.0` | `2.71.0` |\n| [spacy](https://github.com/explosion/spaCy) | `3.8.7` | `3.8.11` |\n| [sentence-transformers](https://github.com/huggingface/sentence-transformers) | `5.1.2` | `5.2.2` |\n| [spiffe](https://github.com/HewlettPackard/py-spiffe) | `0.2.2` | `0.2.3` |\n\n\nUpdates `pytest-html` from 4.1.1 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-html/releases\"\u003epytest-html's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Extras from setup/teardown missing in report by \u003ca href=\"https://github.com/BeyondEvil\"\u003e\u003ccode\u003e@​BeyondEvil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/784\"\u003epytest-dev/pytest-html#784\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Total duration when running in parallel by \u003ca href=\"https://github.com/BeyondEvil\"\u003e\u003ccode\u003e@​BeyondEvil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/785\"\u003epytest-dev/pytest-html#785\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix license classifier in pyproject.toml by \u003ca href=\"https://github.com/tapdiego-amzn\"\u003e\u003ccode\u003e@​tapdiego-amzn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/789\"\u003epytest-dev/pytest-html#789\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/771\"\u003epytest-dev/pytest-html#771\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/806\"\u003e#806\u003c/a\u003e (if results table order changed, hide/show details hover over broken) by \u003ca href=\"https://github.com/volkan-aslan\"\u003e\u003ccode\u003e@​volkan-aslan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/807\"\u003epytest-dev/pytest-html#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump certifi from 2023.5.7 to 2023.7.22 in /docs 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/pytest-dev/pytest-html/pull/699\"\u003epytest-dev/pytest-html#699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStart tag has wrong closing tag by \u003ca href=\"https://github.com/zingero\"\u003e\u003ccode\u003e@​zingero\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/834\"\u003epytest-dev/pytest-html#834\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop python 3.8, add support for 3.12, 3.13 by \u003ca href=\"https://github.com/Pierre-Sassoulas\"\u003e\u003ccode\u003e@​Pierre-Sassoulas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/842\"\u003epytest-dev/pytest-html#842\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump elliptic from 6.5.4 to 6.6.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/843\"\u003epytest-dev/pytest-html#843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump browserify-sign from 4.2.1 to 4.2.3 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/pytest-dev/pytest-html/pull/831\"\u003epytest-dev/pytest-html#831\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump requests from 2.30.0 to 2.32.2 in /docs 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/pytest-dev/pytest-html/pull/832\"\u003epytest-dev/pytest-html#832\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump urllib3 from 2.0.2 to 2.2.2 in /docs 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/pytest-dev/pytest-html/pull/830\"\u003epytest-dev/pytest-html#830\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump certifi from 2023.7.22 to 2024.7.4 in /docs 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/pytest-dev/pytest-html/pull/829\"\u003epytest-dev/pytest-html#829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump braces from 3.0.2 to 3.0.3 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/pytest-dev/pytest-html/pull/826\"\u003epytest-dev/pytest-html#826\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump idna from 3.4 to 3.7 in /docs 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/pytest-dev/pytest-html/pull/827\"\u003epytest-dev/pytest-html#827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump \u003ccode\u003e@​babel/traverse\u003c/code\u003e from 7.21.3 to 7.25.9 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/pytest-dev/pytest-html/pull/844\"\u003epytest-dev/pytest-html#844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump jinja2 from 3.1.2 to 3.1.4 in /docs 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/pytest-dev/pytest-html/pull/828\"\u003epytest-dev/pytest-html#828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump word-wrap from 1.2.3 to 1.2.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/pytest-dev/pytest-html/pull/845\"\u003epytest-dev/pytest-html#845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/800\"\u003epytest-dev/pytest-html#800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd mypy to CI pipeline and begin typing modules by \u003ca href=\"https://github.com/gnikonorov\"\u003e\u003ccode\u003e@​gnikonorov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/435\"\u003epytest-dev/pytest-html#435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit] Add pyproject-fmt to normalize the pyproject.toml by \u003ca href=\"https://github.com/Pierre-Sassoulas\"\u003e\u003ccode\u003e@​Pierre-Sassoulas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/846\"\u003epytest-dev/pytest-html#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the pyproject.toml following concurrent merge by \u003ca href=\"https://github.com/Pierre-Sassoulas\"\u003e\u003ccode\u003e@​Pierre-Sassoulas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/847\"\u003epytest-dev/pytest-html#847\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade tool for python 3.9 by \u003ca href=\"https://github.com/Pierre-Sassoulas\"\u003e\u003ccode\u003e@​Pierre-Sassoulas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/848\"\u003epytest-dev/pytest-html#848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix report template by \u003ca href=\"https://github.com/hendzeld\"\u003e\u003ccode\u003e@​hendzeld\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/804\"\u003epytest-dev/pytest-html#804\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/851\"\u003epytest-dev/pytest-html#851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump jinja2 from 3.1.4 to 3.1.5 in /docs 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/pytest-dev/pytest-html/pull/855\"\u003epytest-dev/pytest-html#855\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/854\"\u003epytest-dev/pytest-html#854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate a dependabot.yml to be explicit about what need to be updated by \u003ca href=\"https://github.com/Pierre-Sassoulas\"\u003e\u003ccode\u003e@​Pierre-Sassoulas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/861\"\u003epytest-dev/pytest-html#861\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump actions/cache from 3 to 4 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/pytest-dev/pytest-html/pull/862\"\u003epytest-dev/pytest-html#862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump codecov/codecov-action from 3 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/863\"\u003epytest-dev/pytest-html#863\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump release-drafter/release-drafter 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/pytest-dev/pytest-html/pull/864\"\u003epytest-dev/pytest-html#864\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump actions/setup-python from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/865\"\u003epytest-dev/pytest-html#865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump sphinx-rtd-theme from 1.2.0 to 3.0.2 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/pytest-dev/pytest-html/pull/871\"\u003epytest-dev/pytest-html#871\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump sass from 1.58.0 to 1.83.4 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/pytest-dev/pytest-html/pull/867\"\u003epytest-dev/pytest-html#867\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump sinon from 14.0.2 to 19.0.2 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/pytest-dev/pytest-html/pull/868\"\u003epytest-dev/pytest-html#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump nyc from 15.1.0 to 17.1.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/869\"\u003epytest-dev/pytest-html#869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump browserify from 17.0.0 to 17.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/876\"\u003epytest-dev/pytest-html#876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump mocha from 10.2.0 to 11.1.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/875\"\u003epytest-dev/pytest-html#875\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump sass from 1.83.4 to 1.84.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/874\"\u003epytest-dev/pytest-html#874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump sphinx from 6.2.1 to 7.2.2 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/pytest-dev/pytest-html/pull/877\"\u003epytest-dev/pytest-html#877\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/878\"\u003epytest-dev/pytest-html#878\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/882\"\u003epytest-dev/pytest-html#882\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump sphinx from 7.2.2 to 8.1.3 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/pytest-dev/pytest-html/pull/881\"\u003epytest-dev/pytest-html#881\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump sass from 1.84.0 to 1.85.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/879\"\u003epytest-dev/pytest-html#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate index.jinja2 by \u003ca href=\"https://github.com/TCMPK\"\u003e\u003ccode\u003e@​TCMPK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/883\"\u003epytest-dev/pytest-html#883\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump sphinx from 8.1.3 to 8.2.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/885\"\u003epytest-dev/pytest-html#885\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/886\"\u003epytest-dev/pytest-html#886\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump sphinx from 8.2.1 to 8.2.3 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/pytest-dev/pytest-html/pull/888\"\u003epytest-dev/pytest-html#888\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/pytest-dev/pytest-html/blob/master/docs/changelog.rst\"\u003epytest-html's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eVersions follow \u003ccode\u003eSemantic Versioning\u003c/code\u003e_ (\u003ccode\u003e\u0026lt;major\u0026gt;.\u0026lt;minor\u0026gt;.\u0026lt;patch\u0026gt;\u003c/code\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion History\u003c/h2\u003e\n\u003c/blockquote\u003e\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-html/commit/d8fa812281d735948fd6678e680fbfe6316d9f4b\"\u003e\u003ccode\u003ed8fa812\u003c/code\u003e\u003c/a\u003e ci: switch to trusted publishing (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/992\"\u003e#992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-html/commit/36a2911d1177113e2737755616c7339a37a5f92c\"\u003e\u003ccode\u003e36a2911\u003c/code\u003e\u003c/a\u003e Chore(deps-dev): Bump sass from 1.97.1 to 1.97.2 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-html/commit/6c8a66e89d4f2fdcb19582bb8ccdae899ab1ab0f\"\u003e\u003ccode\u003e6c8a66e\u003c/code\u003e\u003c/a\u003e Chore(deps-dev): Bump chai from 6.2.1 to 6.2.2 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/989\"\u003e#989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-html/commit/aca223fb39f30ce795afa8916f26fb7300c5d855\"\u003e\u003ccode\u003eaca223f\u003c/code\u003e\u003c/a\u003e Chore(deps-dev): Bump sinon from 21.0.0 to 21.0.1 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/987\"\u003e#987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-html/commit/9ad73892ca4420478f8d04e8b47509f3d9057846\"\u003e\u003ccode\u003e9ad7389\u003c/code\u003e\u003c/a\u003e Chore(deps-dev): Bump sass from 1.96.0 to 1.97.1 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/988\"\u003e#988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-html/commit/ffec3a50da100dac782b7eb659340d659f5077c7\"\u003e\u003ccode\u003effec3a5\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-html/commit/c965f6dfbc3fe230656abfdbaa8348a6e9521804\"\u003e\u003ccode\u003ec965f6d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-html/commit/ba3790382be6dc72cf213518510c0c68641aeb77\"\u003e\u003ccode\u003eba37903\u003c/code\u003e\u003c/a\u003e Chore(deps-dev): Bump sass from 1.94.2 to 1.96.0 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/983\"\u003e#983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-html/commit/5ddb4bce264f451e0aadb16ecb3f13c008074cc5\"\u003e\u003ccode\u003e5ddb4bc\u003c/code\u003e\u003c/a\u003e Chore(deps): Bump actions/cache from 4 to 5 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-html/commit/e5ac7de16ca2a7a797924d8952f30a986df5d293\"\u003e\u003ccode\u003ee5ac7de\u003c/code\u003e\u003c/a\u003e Fix rst-lint: error: unrecognized arguments: --encoding\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-html/compare/4.1.1...4.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minio` from 7.2.19 to 7.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minio/minio-py/releases\"\u003eminio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBugfix Release 7.2.20\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable github CI run by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1543\"\u003eminio/minio-py#1543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake BaseException internals to be set (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1521\"\u003e#1521\u003c/a\u003e) by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1539\"\u003eminio/minio-py#1539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Add missing type annotations to serialization dataclass fields (… by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1540\"\u003eminio/minio-py#1540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport optional parameters in LdapIdentityProvider (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1528\"\u003e#1528\u003c/a\u003e) by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1541\"\u003eminio/minio-py#1541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix object_size/headers in ComposeSource by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1545\"\u003eminio/minio-py#1545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix complete_multipart_upload() to support SSE-C by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1544\"\u003eminio/minio-py#1544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.18...7.2.20\"\u003ehttps://github.com/minio/minio-py/compare/7.2.18...7.2.20\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/minio/minio-py/commit/f671ca948b35978c39a3100e4ae0e9b93416b911\"\u003e\u003ccode\u003ef671ca9\u003c/code\u003e\u003c/a\u003e Update version to next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/53c8c93f78acae9bfbd48974e8de82f831e74927\"\u003e\u003ccode\u003e53c8c93\u003c/code\u003e\u003c/a\u003e fix complete_multipart_upload() to support SSE-C (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/27997bdc71e0360ca5dabf87193b5bde2be38e31\"\u003e\u003ccode\u003e27997bd\u003c/code\u003e\u003c/a\u003e fix object_size/headers in ComposeSource (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1545\"\u003e#1545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/dd17dfb9bc5482a160f667ece87c128fa9cd9fe7\"\u003e\u003ccode\u003edd17dfb\u003c/code\u003e\u003c/a\u003e support optional parameters in LdapIdentityProvider (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1528\"\u003e#1528\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/4170c34351595f0890e4b7d2dfbc03cccc401e3b\"\u003e\u003ccode\u003e4170c34\u003c/code\u003e\u003c/a\u003e Fix: Add missing type annotations to serialization dataclass fields (… (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/da273039c52a48f838f74a83520d59d5a3c12adf\"\u003e\u003ccode\u003eda27303\u003c/code\u003e\u003c/a\u003e Make BaseException internals to be set (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1521\"\u003e#1521\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/535ac42819272894e030a390904f917dd5ec675d\"\u003e\u003ccode\u003e535ac42\u003c/code\u003e\u003c/a\u003e Enable github CI run (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.19...7.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib` from 3.10.7 to 3.10.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/matplotlib/releases\"\u003ematplotlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREL: v3.10.8\u003c/h2\u003e\n\u003cp\u003eThis is a bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eThe primary highlights of this release are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eProperly allow freethreaded mode in the MacOS backend\u003c/li\u003e\n\u003cli\u003eBetter error handling for MacOS backend\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/1392cbe3c79cdb93f9282747841d648770f60249\"\u003e\u003ccode\u003e1392cbe\u003c/code\u003e\u003c/a\u003e REL: v3.10.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/0b9ebb35f8310f22eb7f932b2ae14befb1f40b6f\"\u003e\u003ccode\u003e0b9ebb3\u003c/code\u003e\u003c/a\u003e Doc release prep v3.10.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/bc7b5c4377ce2544e8936255c51c1ff7cd0c5a85\"\u003e\u003ccode\u003ebc7b5c4\u003c/code\u003e\u003c/a\u003e Merge branch 'v3.10.7-doc' into v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/86b38d3f29aa2af2ddcbd1895433117caa0fba47\"\u003e\u003ccode\u003e86b38d3\u003c/code\u003e\u003c/a\u003e Github stats v3.10.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/9512188e42f9d221f83869113c44f99fe1832a0f\"\u003e\u003ccode\u003e9512188\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30717\"\u003e#30717\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-30714-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/d300769285e2c920804134e40ec83837eabe16d8\"\u003e\u003ccode\u003ed300769\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30714\"\u003e#30714\u003c/a\u003e: FIX: Gracefully handle numpy arrays as input to check_in_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/799bc9561daea5b5578f888817cb45c9321a0463\"\u003e\u003ccode\u003e799bc95\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30711\"\u003e#30711\u003c/a\u003e from ngoldbaum/v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/134000ba19a4354da2ad1084627039e05c936754\"\u003e\u003ccode\u003e134000b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30697\"\u003e#30697\u003c/a\u003e from ngoldbaum/fix-plotting-on-worker-threads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/5b8e219d70f1daa443330eb6a5a6211506b37362\"\u003e\u003ccode\u003e5b8e219\u003c/code\u003e\u003c/a\u003e TST: Run macosx backends in a subprocess\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/878e71a95006d3aec9505f3bd836968951fdd163\"\u003e\u003ccode\u003e878e71a\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/29810\"\u003e#29810\u003c/a\u003e: Declare free-threaded support in MacOS backend extension ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/matplotlib/matplotlib/compare/v3.10.7...v3.10.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.6 to 0.14.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.14\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-22.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve required parentheses in lambda bodies (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22747\"\u003e#22747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCombine range suppression code diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22613\"\u003e#22613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Second positional argument to \u003ccode\u003eAsset\u003c/code\u003e/\u003ccode\u003eDataset\u003c/code\u003e should not be a dictionary (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22453\"\u003e#22453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Detect duplicate entries in \u003ccode\u003e__all__\u003c/code\u003e (\u003ccode\u003eRUF068\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22114\"\u003e#22114\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Allow shadowing non-builtin bindings (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22749\"\u003e#22749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pie\u003c/code\u003e] Detect duplicated declared class fields in \u003ccode\u003ePIE794\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22717\"\u003e#22717\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e, \u003ccode\u003e__enter__\u003c/code\u003e, \u003ccode\u003e__aenter__\u003c/code\u003e in \u003ccode\u003ePYI034\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22798\"\u003e#22798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Support \u003ccode\u003echeck\u003c/code\u003e parameter in \u003ccode\u003ePT011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22725\"\u003e#22725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add exception for \u003ccode\u003ectypes.Structure._fields_\u003c/code\u003e (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22559\"\u003e#22559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany fixes are now marked unsafe if they would remove comments:\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22656\"\u003e\u003ccode\u003eB009\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22657\"\u003e\u003ccode\u003eB010\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22658\"\u003e\u003ccode\u003eB013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22659\"\u003e\u003ccode\u003eB014\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22632\"\u003e\u003ccode\u003eB033\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22662\"\u003e\u003ccode\u003eSIM910\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22661\"\u003e\u003ccode\u003eSIM911\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22774\"\u003e\u003ccode\u003eUP039\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22773\"\u003e\u003ccode\u003eUP041\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP045\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22767\"\u003e\u003ccode\u003eFURB105\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22681\"\u003e\u003ccode\u003eFURB116\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22680\"\u003e\u003ccode\u003eFURB136\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22679\"\u003e\u003ccode\u003eFURB140\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22670\"\u003e\u003ccode\u003eFURB145\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22669\"\u003e\u003ccode\u003eFURB154\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22668\"\u003e\u003ccode\u003eFURB157\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22667\"\u003e\u003ccode\u003eFURB164\u003c/code\u003e\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22666\"\u003e\u003ccode\u003eFURB181\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22665\"\u003e\u003ccode\u003eFURB188\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22663\"\u003e\u003ccode\u003eRUF019\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22664\"\u003e\u003ccode\u003eRUF020\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--exit-non-zero-on-format\u003c/code\u003e to formatter exit codes section (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22761\"\u003e#22761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eFastAPI\u003c/code\u003e] Document fix safety for \u003ccode\u003eFAST001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22655\"\u003e#22655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Tweak explanation to focus on latency/efficiency tradeoff (\u003ccode\u003eASYNC110\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22715\"\u003e#22715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003ePD002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22561\"\u003e#22561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22770\"\u003e#22770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22769\"\u003e#22769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/caiquejjx\"\u003e\u003ccode\u003e@​caiquejjx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sjyangkevin\"\u003e\u003ccode\u003e@​sjyangkevin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leandrobbraga\"\u003e\u003ccode\u003e@​leandrobbraga\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.14\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-22.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve required parentheses in lambda bodies (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22747\"\u003e#22747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCombine range suppression code diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22613\"\u003e#22613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Second positional argument to \u003ccode\u003eAsset\u003c/code\u003e/\u003ccode\u003eDataset\u003c/code\u003e should not be a dictionary (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22453\"\u003e#22453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Detect duplicate entries in \u003ccode\u003e__all__\u003c/code\u003e (\u003ccode\u003eRUF068\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22114\"\u003e#22114\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Allow shadowing non-builtin bindings (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22749\"\u003e#22749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pie\u003c/code\u003e] Detect duplicated declared class fields in \u003ccode\u003ePIE794\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22717\"\u003e#22717\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e, \u003ccode\u003e__enter__\u003c/code\u003e, \u003ccode\u003e__aenter__\u003c/code\u003e in \u003ccode\u003ePYI034\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22798\"\u003e#22798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Support \u003ccode\u003echeck\u003c/code\u003e parameter in \u003ccode\u003ePT011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22725\"\u003e#22725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add exception for \u003ccode\u003ectypes.Structure._fields_\u003c/code\u003e (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22559\"\u003e#22559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany fixes are now marked unsafe if they would remove comments:\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22656\"\u003e\u003ccode\u003eB009\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22657\"\u003e\u003ccode\u003eB010\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22658\"\u003e\u003ccode\u003eB013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22659\"\u003e\u003ccode\u003eB014\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22632\"\u003e\u003ccode\u003eB033\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22662\"\u003e\u003ccode\u003eSIM910\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22661\"\u003e\u003ccode\u003eSIM911\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22774\"\u003e\u003ccode\u003eUP039\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22773\"\u003e\u003ccode\u003eUP041\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP045\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22767\"\u003e\u003ccode\u003eFURB105\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22681\"\u003e\u003ccode\u003eFURB116\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22680\"\u003e\u003ccode\u003eFURB136\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22679\"\u003e\u003ccode\u003eFURB140\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22670\"\u003e\u003ccode\u003eFURB145\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22669\"\u003e\u003ccode\u003eFURB154\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22668\"\u003e\u003ccode\u003eFURB157\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22667\"\u003e\u003ccode\u003eFURB164\u003c/code\u003e\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22666\"\u003e\u003ccode\u003eFURB181\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22665\"\u003e\u003ccode\u003eFURB188\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22663\"\u003e\u003ccode\u003eRUF019\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22664\"\u003e\u003ccode\u003eRUF020\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--exit-non-zero-on-format\u003c/code\u003e to formatter exit codes section (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22761\"\u003e#22761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eFastAPI\u003c/code\u003e] Document fix safety for \u003ccode\u003eFAST001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22655\"\u003e#22655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Tweak explanation to focus on latency/efficiency tradeoff (\u003ccode\u003eASYNC110\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22715\"\u003e#22715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003ePD002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22561\"\u003e#22561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22770\"\u003e#22770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22769\"\u003e#22769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/caiquejjx\"\u003e\u003ccode\u003e@​caiquejjx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sjyangkevin\"\u003e\u003ccode\u003e@​sjyangkevin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leandrobbraga\"\u003e\u003ccode\u003e@​leandrobbraga\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8b2e7b36f246b990fe473a84eef25ff429e59ecf\"\u003e\u003ccode\u003e8b2e7b3\u003c/code\u003e\u003c/a\u003e Prepare release v0.14.14 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22813\"\u003e#22813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4c7d1f50fd8d1baf06a3c8885ecd0ded0113d383\"\u003e\u003ccode\u003e4c7d1f5\u003c/code\u003e\u003c/a\u003e [ty] Infer \u003ccode\u003eTypedDict\u003c/code\u003e types with \u0026gt;=1 required key as being always truthy (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b7de4341535ff2b299695335e0a7b9ebaf297348\"\u003e\u003ccode\u003eb7de434\u003c/code\u003e\u003c/a\u003e add CCfW hooks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22803\"\u003e#22803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b912dfc8788f8f8c351767899df6b72ce3366352\"\u003e\u003ccode\u003eb912dfc\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1ff062d1cccb8025de184a55c6dfe469a4293249\"\u003e\u003ccode\u003e1ff062d\u003c/code\u003e\u003c/a\u003e [ty] Improve completion rankings for raise-from/except contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22775\"\u003e#22775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7e408a51d24db2bca248bb90f2f7938f83efd22b\"\u003e\u003ccode\u003e7e408a5\u003c/code\u003e\u003c/a\u003e Update dependency wrangler to v4.59.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22793\"\u003e#22793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ceb876b82300bd237d11e3eb77c46fcf3d3afe85\"\u003e\u003ccode\u003eceb876b\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e,...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c5b4ee68c90faf0e609fa6553a171a7ba60ebdcb\"\u003e\u003ccode\u003ec5b4ee6\u003c/code\u003e\u003c/a\u003e [ty] Support solving generics involving PEP 695 type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22678\"\u003e#22678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b9a61293153f43df9963c727539309b76ac4756d\"\u003e\u003ccode\u003eb9a6129\u003c/code\u003e\u003c/a\u003e [ty] Improve support for kwarg splats in dictionary literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22781\"\u003e#22781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f516d47ceb7f6a0c3a95eaaa2c7451a32b5d7120\"\u003e\u003ccode\u003ef516d47\u003c/code\u003e\u003c/a\u003e Update contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.6...0.14.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.18.2 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.18.2...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bandit` from 1.9.2 to 1.9.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/bandit/releases\"\u003ebandit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout 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/PyCQA/bandit/pull/1334\"\u003ePyCQA/bandit#1334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1335\"\u003ePyCQA/bandit#1335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix B608 to detect \u003ccode\u003eVALUES(\u003c/code\u003e without space by \u003ca href=\"https://github.com/kfess\"\u003e\u003ccode\u003e@​kfess\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1337\"\u003ePyCQA/bandit#1337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd check for hardcoded passwords in dicts. by \u003ca href=\"https://github.com/alanverresen\"\u003e\u003ccode\u003e@​alanverresen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1338\"\u003ePyCQA/bandit#1338\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1341\"\u003ePyCQA/bandit#1341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate tox tests for Python 3.10 by \u003ca href=\"https://github.com/willschlitzer\"\u003e\u003ccode\u003e@​willschlitzer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1346\"\u003ePyCQA/bandit#1346\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump docker/setup-buildx-action from 3.11.1 to 3.12.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1347\"\u003ePyCQA/bandit#1347\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLimit B614 to torch.load deserializers by \u003ca href=\"https://github.com/dibussoc\"\u003e\u003ccode\u003e@​dibussoc\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1348\"\u003ePyCQA/bandit#1348\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/kfess\"\u003e\u003ccode\u003e@​kfess\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1337\"\u003ePyCQA/bandit#1337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alanverresen\"\u003e\u003ccode\u003e@​alanverresen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1338\"\u003ePyCQA/bandit#1338\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/willschlitzer\"\u003e\u003ccode\u003e@​willschlitzer\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1346\"\u003ePyCQA/bandit#1346\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dibussoc\"\u003e\u003ccode\u003e@​dibussoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1348\"\u003ePyCQA/bandit#1348\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.9.2...1.9.3\"\u003ehttps://github.com/PyCQA/bandit/compare/1.9.2...1.9.3\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/PyCQA/bandit/commit/765f00d3f202f83f61d03f882f80a2d5142d81f8\"\u003e\u003ccode\u003e765f00d\u003c/code\u003e\u003c/a\u003e Limit B614 to torch.load deserializers (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1348\"\u003e#1348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/06fbbab0df3374ffa8ef24c6f601b2d5e1d4d429\"\u003e\u003ccode\u003e06fbbab\u003c/code\u003e\u003c/a\u003e Bump docker/setup-buildx-action from 3.11.1 to 3.12.0 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1347\"\u003e#1347\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/36d6f3c091d84dc547019d773ab6e63a1cbc23af\"\u003e\u003ccode\u003e36d6f3c\u003c/code\u003e\u003c/a\u003e Update tox tests for Python 3.10 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1346\"\u003e#1346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/da0d33816ba5c5f8f72a380720ad054596867807\"\u003e\u003ccode\u003eda0d338\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/649b9bdf87f4f9d850b29819b14b847bd3b8f970\"\u003e\u003ccode\u003e649b9bd\u003c/code\u003e\u003c/a\u003e Add check for hardcoded passwords in dicts. (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/3c56109061524f5907cc4d475b7370bac47a451b\"\u003e\u003ccode\u003e3c56109\u003c/code\u003e\u003c/a\u003e Fix B608 to detect \u003ccode\u003eVALUES(\u003c/code\u003e without space (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1337\"\u003e#1337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/b790ce22f0a69f53468c1755e9d37e6349a2c8c2\"\u003e\u003ccode\u003eb790ce2\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1335\"\u003e#1335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/0b73bbe59642097050d5c698e55d13bae2c6b78c\"\u003e\u003ccode\u003e0b73bbe\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.9.2...1.9.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pylint` from 4.0.3 to 4.0.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/e16f942166511d6fb4427e503a734152fae0c4fe\"\u003e\u003ccode\u003ee16f942\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/657b386c0a83202faa95c9a525b8feb80a4c11ab\"\u003e\u003ccode\u003e657b386\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [invalid-name] Fix FP for exclusive assignment o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/03f8a922a2eabe5b517457807cc992e122dcc9c0\"\u003e\u003ccode\u003e03f8a92\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix: avoid false positive when module-level name...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pylint-dev/pylint/compare/v4.0.3...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.122.0 to 0.128.0\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.128.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14609\"\u003e#14609\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✅ Run performance tests only on Pydantic v2. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14608\"\u003e#14608\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.127.1\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔊 Add a custom \u003ccode\u003eFastAPIDeprecationWarning\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14605\"\u003e#14605\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📝 Add documentary to website. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14600\"\u003e#14600\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\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update translations for de (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14602\"\u003e#14602\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\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/14581\"\u003e#14581\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\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 pre-commit to use local Ruff instead of hook. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14604\"\u003e#14604\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 missing tests for code examples. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14569\"\u003e#14569\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👷 Remove \u003ccode\u003elint\u003c/code\u003e job from \u003ccode\u003etest\u003c/code\u003e CI workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14593\"\u003e#14593\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 secrets check. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14592\"\u003e#14592\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 CodSpeed tests in parallel to other tests to speed up CI. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14586\"\u003e#14586\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 scripts and pre-commit to autofix files. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14585\"\u003e#14585\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.127.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔊 Add deprecation warnings when using \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14583\"\u003e#14583\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\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add LLM prompt file for Korean, generated from the existing translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14546\"\u003e#14546\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 LLM prompt file for Japanese, generated from the existing translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14545\"\u003e#14545\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⬆️ Upgrade OpenAI model for translations to gpt-5.2. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14579\"\u003e#14579\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.126.0\u003c/h2\u003e\n\u003ch3\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14575\"\u003e#14575\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/8322a4445a3b25acd9b26b61192571b2d92f9bcd\"\u003e\u003ccode\u003e8322a44\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.128.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4b2cfcfd34d0b2e158a05b377426e0c8376b94de\"\u003e\u003ccode\u003e4b2cfcf\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e3006305518a56ea35f62a31748ad26fe4356fcc\"\u003e\u003ccode\u003ee300630\u003c/code\u003e\u003c/a\u003e ➖ Drop support for \u003ccode\u003epydantic.v1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14609\"\u003e#14609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/1b3bea8b6be2220cc1544653ea785d2134fcb35b\"\u003e\u003ccode\u003e1b3bea8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/34e884156f38dff4094a7764ff895c4d4b872060\"\u003e\u003ccode\u003e34e8841\u003c/code\u003e\u003c/a\u003e ✅ Run performance tests only on Pydantic v2 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14608\"\u003e#14608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cd90c78391f86f3fd06d5b327bffad9666b05b44\"\u003e\u003ccode\u003ecd90c78\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.127.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/93f4dfd88b7d62bda89eb521ebd9322e357e6fff\"\u003e\u003ccode\u003e93f4dfd\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/535b5daa317a9d1d1f9a1058e57650a7beefa861\"\u003e\u003ccode\u003e535b5da\u003c/code\u003e\u003c/a\u003e 🔊 Add a custom \u003ccode\u003eFastAPIDeprecationWarning\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14605\"\u003e#14605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6b53786f626db95a42fd0f66afd360bab161f4b1\"\u003e\u003ccode\u003e6b53786\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d98f4eb56eae3155034fe631d9639d95171fb9ab\"\u003e\u003ccode\u003ed98f4eb\u003c/code\u003e\u003c/a\u003e 🔧 Update pre-commit to use local Ruff instead of hook (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14604\"\u003e#14604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.122.0...0.128.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.35.0 to 0.40.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.40.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop Python 3.9 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/2772\"\u003eKludex/uvicorn#2772\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.39.0...0.40.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.39.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eexplicitly start ASGI run with empty context by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(websockets): Send close frame on ASGI return by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2769\"\u003eKludex/uvicorn#2769\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.38.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2723\"\u003eKludex/uvicorn#2723\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NGANAMODEIJunior\"\u003e\u003ccode\u003e@​NGANAMODEIJunior\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2713\"\u003eKludex/uvicorn#2713\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.37.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e setting by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2711\"\u003eKludex/uvicorn#2711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e by \u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LincolnPuzey\"\u003e\u003ccode\u003e@​LincolnPuzey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2669\"\u003eKludex/uvicorn#2669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2709\"\u003eKludex/uvicorn#2709\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs by \u003ca href=\"https://github.com/gnir-work\"\u003e\u003ccode\u003e@​gnir-work\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2435\"\u003eKludex/uvicorn#2435\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.40.0 (December 21, 2025)\u003c/h2\u003e\n\u003ch3\u003eRemove\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.39.0 (December 21, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSend close frame on ASGI return for WebSockets (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExplicitly start ASGI run with empty context (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2742\"\u003e#2742\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.38.0 (October 18, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.1 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.0 (September 20, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2435\"\u003e#2435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow to provide importable string in \u003ccode\u003e--http\u003c/code\u003e, \u003ccode\u003e--ws\u003c/code\u003e and \u003ccode\u003e--loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2658\"\u003e#2658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9ff60042a53cd1bbfd5580ab0a91ea2d1d8f2f8c\"\u003e\u003ccode\u003e9ff6004\u003c/code\u003e\u003c/a\u003e Version 0.40.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2773\"\u003e#2773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/19df042c54c1562f058daf021d6f7bd1d5ed621c\"\u003e\u003ccode\u003e19df042\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/865ce7c0b4329a384273a6628eceb8d597989521\"\u003e\u003ccode\u003e865ce7c\u003c/code\u003e\u003c/a\u003e Run strict mypy on test suite (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2771\"\u003e#2771\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/4f40b8495772eb3a1ab3613ffd7be5156f8e1389\"\u003e\u003ccode\u003e4f40b84\u003c/code\u003e\u003c/a\u003e Version 0.39.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2770\"\u003e#2770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/5692dfc416f9e65aee5028e55d119313d8d3ab0f\"\u003e\u003ccode\u003e5692dfc\u003c/code\u003e\u003c/a\u003e fix(websockets): Send close frame on ASGI return (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/4194764a26824e5d8ddd1fa673df78dff82966e0\"\u003e\u003ccode\u003e4194764\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2763\"\u003e#2763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/d94bf28743de545d2d4b150f022203a5178cb705\"\u003e\u003ccode\u003ed94bf28\u003c/code\u003e\u003c/a\u003e explicitly start ASGI run with empty context (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2742\"\u003e#2742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/8ae0bcbecb0a655789abf0c2dd4200848fc68a30\"\u003e\u003ccode\u003e8ae0bcb\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2748\"\u003e#2748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/4744ff9a1a4888c76ea160328cc9dcc2680c2c71\"\u003e\u003ccode\u003e4744ff9\u003c/code\u003e\u003c/a\u003e Add groups configuration for GitHub Actions (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2747\"\u003e#2747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/0391372376c264604a0475b0864bcbf3a8705352\"\u003e\u003ccode\u003e0391372\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from 6.8.0 to 7.1.2 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2746\"\u003e#2746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional com...\n\n_Description has been truncated_","html_url":"https://github.com/manavgup/rag_modulo/pull/740","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/manavgup%2Frag_modulo/issues/740","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/740/packages"},{"uuid":"3883492533","node_id":"PR_kwDOQmboGc7Aycts","number":21,"state":"open","title":"chore(deps)(deps): bump the python-minor-patch group across 1 directory with 50 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["KyaRhamil"],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-02T01:25:14.000Z","updated_at":"2026-02-02T14:02:02.098Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"python-minor-patch","update_count":50,"packages":[{"name":"flask","old_version":"3.0.3","new_version":"3.1.2","repository_url":"https://github.com/pallets/flask"},{"name":"flask-cors","old_version":"6.0.0","new_version":"6.0.2","repository_url":"https://github.com/corydolphin/flask-cors"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"numpy","old_version":"2.1.3","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"joblib","old_version":"1.4.2","new_version":"1.5.3","repository_url":"https://github.com/joblib/joblib"},{"name":"scipy","old_version":"1.14.1","new_version":"1.17.0","repository_url":"https://github.com/scipy/scipy"},{"name":"apscheduler","old_version":"3.10.4","new_version":"3.11.2","repository_url":"https://github.com/agronholm/apscheduler"},{"name":"celery","old_version":"5.4.0","new_version":"5.6.2","repository_url":"https://github.com/celery/celery"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"sqlalchemy","old_version":"2.0.35","new_version":"2.0.46","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"alembic","old_version":"1.13.3","new_version":"1.18.3","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"matplotlib","old_version":"3.9.2","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"pyjwt","old_version":"2.9.0","new_version":"2.11.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"email-validator","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/JoshData/python-email-validator"},{"name":"flask-compress","old_version":"1.15","new_version":"1.23","repository_url":"https://github.com/colour-science/flask-compress"},{"name":"flask-caching","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/pallets-eco/flask-caching"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"prometheus-flask-exporter","old_version":"0.23.1","new_version":"0.23.2","repository_url":"https://github.com/rycus86/prometheus_flask_exporter"},{"name":"sentry-sdk","old_version":"2.18.0","new_version":"2.51.0"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.67.2","repository_url":"https://github.com/tqdm/tqdm"},{"name":"openmeteo-requests","old_version":"1.2.0","new_version":"1.7.5","repository_url":"https://github.com/open-meteo/python-requests"},{"name":"beautifulsoup4","old_version":"4.12.3","new_version":"4.14.3"},{"name":"tabula-py","old_version":"2.9.3","new_version":"2.10.0","repository_url":"https://github.com/chezou/tabula-py"},{"name":"geopandas","old_version":"1.0.1","new_version":"1.1.2","repository_url":"https://github.com/geopandas/geopandas"},{"name":"folium","old_version":"0.18.0","new_version":"0.20.0","repository_url":"https://github.com/python-visualization/folium"},{"name":"shapely","old_version":"2.0.6","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"},{"name":"statsmodels","old_version":"0.14.4","new_version":"0.14.6","repository_url":"https://github.com/statsmodels/statsmodels"},{"name":"prophet","old_version":"1.1.6","new_version":"1.3.0","repository_url":"https://github.com/facebook/prophet"},{"name":"graphql-core","old_version":"3.2.5","new_version":"3.2.7","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"earthengine-api","old_version":"1.4.3","new_version":"1.7.10","repository_url":"https://github.com/google/earthengine-api"},{"name":"google-cloud-bigquery","old_version":"3.27.0","new_version":"3.40.0","repository_url":"https://github.com/googleapis/python-bigquery"},{"name":"google-auth","old_version":"2.37.0","new_version":"2.48.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-auth-oauthlib","old_version":"1.2.1","new_version":"1.2.4","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib"},{"name":"google-auth-httplib2","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2"},{"name":"jupyter","old_version":"1.0.0","new_version":"1.1.1"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-xdist","old_version":"3.5.0","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"responses","old_version":"0.24.1","new_version":"0.25.8","repository_url":"https://github.com/getsentry/responses"},{"name":"httpx","old_version":"0.25.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"locust","old_version":"2.20.1","new_version":"2.43.2","repository_url":"https://github.com/locustio/locust"},{"name":"bandit","old_version":"1.7.6","new_version":"1.9.3","repository_url":"https://github.com/PyCQA/bandit"},{"name":"safety","old_version":"3.2.0","new_version":"3.7.0","repository_url":"https://github.com/pyupio/safety"},{"name":"pip-audit","old_version":"2.7.3","new_version":"2.10.0","repository_url":"https://github.com/pypa/pip-audit"},{"name":"coverage","old_version":"7.6.0","new_version":"7.13.2","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"coverage-badge","old_version":"1.1.0","new_version":"1.1.2","repository_url":"https://github.com/dbrgn/coverage-badge"},{"name":"pytest-html","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/pytest-dev/pytest-html"},{"name":"google-cloud-bigquery-storage","old_version":"2.27.0","new_version":"2.36.0","repository_url":"https://github.com/googleapis/google-cloud-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 50 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `3.0.3` | `3.1.2` |\n| [flask-cors](https://github.com/corydolphin/flask-cors) | `6.0.0` | `6.0.2` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [numpy](https://github.com/numpy/numpy) | `2.1.3` | `2.4.2` |\n| [joblib](https://github.com/joblib/joblib) | `1.4.2` | `1.5.3` |\n| [scipy](https://github.com/scipy/scipy) | `1.14.1` | `1.17.0` |\n| [apscheduler](https://github.com/agronholm/apscheduler) | `3.10.4` | `3.11.2` |\n| [celery](https://github.com/celery/celery) | `5.4.0` | `5.6.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.35` | `2.0.46` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.13.3` | `1.18.3` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.9.2` | `3.10.8` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.9.0` | `2.11.0` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [email-validator](https://github.com/JoshData/python-email-validator) | `2.2.0` | `2.3.0` |\n| [flask-compress](https://github.com/colour-science/flask-compress) | `1.15` | `1.23` |\n| [flask-caching](https://github.com/pallets-eco/flask-caching) | `2.3.0` | `2.3.1` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [prometheus-flask-exporter](https://github.com/rycus86/prometheus_flask_exporter) | `0.23.1` | `0.23.2` |\n| [sentry-sdk[flask]](https://github.com/getsentry/sentry-python) | `2.18.0` | `2.51.0` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.1` | `4.67.2` |\n| [openmeteo-requests](https://github.com/open-meteo/python-requests) | `1.2.0` | `1.7.5` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.12.3` | `4.14.3` |\n| [tabula-py](https://github.com/chezou/tabula-py) | `2.9.3` | `2.10.0` |\n| [geopandas](https://github.com/geopandas/geopandas) | `1.0.1` | `1.1.2` |\n| [folium](https://github.com/python-visualization/folium) | `0.18.0` | `0.20.0` |\n| [shapely](https://github.com/shapely/shapely) | `2.0.6` | `2.1.2` |\n| [statsmodels](https://github.com/statsmodels/statsmodels) | `0.14.4` | `0.14.6` |\n| [prophet](https://github.com/facebook/prophet) | `1.1.6` | `1.3.0` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.5` | `3.2.7` |\n| [earthengine-api](https://github.com/google/earthengine-api) | `1.4.3` | `1.7.10` |\n| [google-cloud-bigquery](https://github.com/googleapis/python-bigquery) | `3.27.0` | `3.40.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.37.0` | `2.48.0` |\n| [google-auth-oauthlib](https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib) | `1.2.1` | `1.2.4` |\n| [google-auth-httplib2](https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2) | `0.2.0` | `0.3.0` |\n| [jupyter](https://jupyter.org) | `1.0.0` | `1.1.1` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.15.1` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.5.0` | `3.8.0` |\n| [responses](https://github.com/getsentry/responses) | `0.24.1` | `0.25.8` |\n| [httpx](https://github.com/encode/httpx) | `0.25.2` | `0.28.1` |\n| [locust](https://github.com/locustio/locust) | `2.20.1` | `2.43.2` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.7.6` | `1.9.3` |\n| [safety](https://github.com/pyupio/safety) | `3.2.0` | `3.7.0` |\n| [pip-audit](https://github.com/pypa/pip-audit) | `2.7.3` | `2.10.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.6.0` | `7.13.2` |\n| [coverage-badge](https://github.com/dbrgn/coverage-badge) | `1.1.0` | `1.1.2` |\n| [pytest-html](https://github.com/pytest-dev/pytest-html) | `4.1.1` | `4.2.0` |\n| [google-cloud-bigquery-storage](https://github.com/googleapis/google-cloud-python) | `2.27.0` | `2.36.0` |\n\n\nUpdates `flask` from 3.0.3 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\n\u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation\nabout resource limits to the security page. :issue:\u003ccode\u003e5625\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the\n\u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. :issue:\u003ccode\u003e5472\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files.\n\u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless\n\u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. :issue:\u003ccode\u003e5628\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old\nsecret keys that can still be used for unsigning. Extensions will need to\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/flask/commit/2c1b30d0503cfb064f1cb252e6614a06915a362a\"\u003e\u003ccode\u003e2c1b30d\u003c/code\u003e\u003c/a\u003e release version 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/1292419ddfc6a14fc7f85b5ed7efcc2d215f1ad3\"\u003e\u003ccode\u003e1292419\u003c/code\u003e\u003c/a\u003e Update GitHub Actions workflow for artifact handling (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5795\"\u003e#5795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4dd52ca9c768c9b6d04180f0547d6f4b6e34f211\"\u003e\u003ccode\u003e4dd52ca\u003c/code\u003e\u003c/a\u003e Update GitHub Actions workflow for artifact handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/55c62556571ee46a94da174643b50ece06edead4\"\u003e\u003ccode\u003e55c6255\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/d8259eb11900285af9b80b0fa47f841174c054e3\"\u003e\u003ccode\u003ed8259eb\u003c/code\u003e\u003c/a\u003e use Jinja name consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/38b4c1e19b50494cfcdc9332899e09b7fed34979\"\u003e\u003ccode\u003e38b4c1e\u003c/code\u003e\u003c/a\u003e refactor stream_with_context for async views (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5799\"\u003e#5799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/9822a0351574790cb66c652fcc396ad7aa2b09d8\"\u003e\u003ccode\u003e9822a03\u003c/code\u003e\u003c/a\u003e refactor stream_with_context for async views\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/49b7e7bc8fb69d605719991d1c0a99fcee689053\"\u003e\u003ccode\u003e49b7e7b\u003c/code\u003e\u003c/a\u003e security docs for TRUSTED_HOSTS (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5798\"\u003e#5798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/b228ca3d87745b746d904a2108429617a814ffda\"\u003e\u003ccode\u003eb228ca3\u003c/code\u003e\u003c/a\u003e security docs for TRUSTED_HOSTS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ff64079a516c269f171ababf3d92b86886a62ffd\"\u003e\u003ccode\u003eff64079\u003c/code\u003e\u003c/a\u003e update flask-talisman link\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.0.3...3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask-cors` from 6.0.0 to 6.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/corydolphin/flask-cors/releases\"\u003eflask-cors's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate license pyproject.toml by \u003ca href=\"https://github.com/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\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/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInvert regex sorting to make it correctly match the intent (sorting by specificity descending) \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1.dev\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\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/corydolphin/flask-cors/commit/fa55dcbec68b3524a39e5057c35c29c221a27d64\"\u003e\u003ccode\u003efa55dcb\u003c/code\u003e\u003c/a\u003e Update license pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/a5003f391e56f74f11a3e509cd180787c75eb6b0\"\u003e\u003ccode\u003ea5003f3\u003c/code\u003e\u003c/a\u003e Fix README file extension in pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/4ad56d6c20252d36031c74ba8386a81e94286f40\"\u003e\u003ccode\u003e4ad56d6\u003c/code\u003e\u003c/a\u003e Fix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.1.3 to 2.4.2\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.2 (Feb 1, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.2 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.2 is a patch release that fixes bugs discovered after the\n2.4.1 release. Highlights are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixes memory leaks\u003c/li\u003e\n\u003cli\u003eUpdates OpenBLAS to fix hangs\u003c/li\u003e\n\u003c/ul\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 9 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 Tang +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eKumar Aditya\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eVikram Kumar +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 12 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/30629\"\u003e#30629\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/30636\"\u003e#30636\u003c/a\u003e: TYP: \u003ccode\u003earange\u003c/code\u003e: accept datetime strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30657\"\u003e#30657\u003c/a\u003e: MAINT: avoid possible race condition by not touching \u003ccode\u003eos.environ\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30700\"\u003e#30700\u003c/a\u003e: BUG: validate contraction axes in tensordot (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30521\"\u003e#30521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30701\"\u003e#30701\u003c/a\u003e: DOC: __array_namespace__info__: set_module not __module__ (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30679\"\u003e#30679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30702\"\u003e#30702\u003c/a\u003e: BUG: fix free-threaded PyObject layout in replace_scalar_type_names...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30703\"\u003e#30703\u003c/a\u003e: TST: fix limited API example in tests for latest Cython\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30709\"\u003e#30709\u003c/a\u003e: BUG: Fix some bugs found via valgrind (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30680\"\u003e#30680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30712\"\u003e#30712\u003c/a\u003e: MAINT: replace ob_type access with Py_TYPE in PyArray_CheckExact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30713\"\u003e#30713\u003c/a\u003e: BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30736\"\u003e#30736\u003c/a\u003e: BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30737\"\u003e#30737\u003c/a\u003e: backport scipy-openblas version change\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.1 (Jan 10, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.1 is a patch release that fixes bugs discoved after the\n2.4.0 release. In particular, the typo \u003ccode\u003eSeedlessSequence\u003c/code\u003e is preserved to\nenable wheels using the random Cython API and built against NumPy \u0026lt; 2.4.0\nto run without errors.\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/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003cli\u003eYou can use the \u003ccode\u003ekeyring\u003c/code\u003e app to store the PyPI password for twine. See the\nonline twine documentation for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003cp\u003eCheck the numpy-release repo\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/c81c49f77451340651a751e76bca607d85e4fd55\"\u003e\u003ccode\u003ec81c49f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30757\"\u003e#30757\u003c/a\u003e from charris/prepare-2.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b3ae9c59de627110458653836f1be81280222f85\"\u003e\u003ccode\u003eb3ae9c5\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9de89843c3918fa133f1aab9fb4435c38a3b0ba6\"\u003e\u003ccode\u003e9de8984\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30737\"\u003e#30737\u003c/a\u003e from mattip/scipy-openblas-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b7be329895e32de44578742b2745fb307cdf8625\"\u003e\u003ccode\u003eb7be329\u003c/code\u003e\u003c/a\u003e backport scipy-openblas version change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7ff98637f80dc1ff7a18fce8025ffabdded76094\"\u003e\u003ccode\u003e7ff9863\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30736\"\u003e#30736\u003c/a\u003e from charris/backport-30667\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/431fffbe91d86c04738f039e0048441f8f9b5fff\"\u003e\u003ccode\u003e431fffb\u003c/code\u003e\u003c/a\u003e MAINT: Skip tests that require \u003cstrong\u003ebuffer\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/127235fcd9b2e80764da8f6c64f942a6bddb093a\"\u003e\u003ccode\u003e127235f\u003c/code\u003e\u003c/a\u003e BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/18bdb2e675b68daa5afc3250c41982ff77b3867f\"\u003e\u003ccode\u003e18bdb2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30713\"\u003e#30713\u003c/a\u003e from charris/backport-30710\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/41dd7512de6dc3dd665b71d4e3a321aa1150dc48\"\u003e\u003ccode\u003e41dd751\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30712\"\u003e#30712\u003c/a\u003e from charris/backport-30705\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7a278da99943376313b8f631905c3baaa7a82a30\"\u003e\u003ccode\u003e7a278da\u003c/code\u003e\u003c/a\u003e BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.1.3...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `joblib` from 1.4.2 to 1.5.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/joblib/joblib/blob/main/CHANGES.rst\"\u003ejoblib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.5.3 - 2025/12/15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eMemory\u003c/code\u003e object won't overwrite an already existing \u003ccode\u003e.gitignore\u003c/code\u003e file in its\ncache directory anymore.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1742\"\u003ejoblib/joblib#1742\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHarden the safety checks in \u003ccode\u003eeval_expr(pre_dispatch)\u003c/code\u003e to prevent excessive\nmemory allocation and potential crashes by limiting the allowed length of the\nexpression and the maximum numeric value of sub-expressions and not\nevaluating expressions with non-numeric literals.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1744\"\u003ejoblib/joblib#1744\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor cloudpickle 3.1.2 to fix a pickling problem with interactively\ndefined abstract base classes and type annotations in Python 3.14+.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.2 - 2025/08/27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendor \u003ccode\u003eloky3.5.6\u003c/code\u003e fixing the resource tracker for python 3.13.7+\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1740\"\u003ejoblib/joblib#1740\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMemory:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Ensure that temporary files managed by the ``Memory`` object do not collide\n  when using the same cache directory when the cache directory is accessed\n  concurrently from different nodes on a cluster with a shared filesystem.\n  https://github.com/joblib/joblib/pull/1656\n\u003ch2\u003eRelease 1.5.1 - 2025/05/23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix backend hints causing errors when no multiprocessing is present\u003cbr /\u003e\n\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1721\"\u003ejoblib/joblib#1721\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor \u003ccode\u003eloky3.5.5\u003c/code\u003e fixing the resource_tracker clean up with earlier Python\u003cbr /\u003e\nversions. \u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1724\"\u003ejoblib/joblib#1724\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.0 -- 2025/05/03\u003c/h2\u003e\n\u003cp\u003eMemory:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eEnforce \u003ccode\u003eage_limit\u003c/code\u003e is a positive timedelta for \u003ccode\u003eMemory.reduce_size\u003c/code\u003e,\nto avoid silently ignoring it.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1613\"\u003ejoblib/joblib#1613\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003ebytes_limit\u003c/code\u003e argument for \u003ccode\u003eMemory\u003c/code\u003e, which should\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/joblib/joblib/commit/40cd002ae1765195dfc4738a6bc7f5534b420a21\"\u003e\u003ccode\u003e40cd002\u003c/code\u003e\u003c/a\u003e RELEASE 1.5.3 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f05be6705e0f56856b76d76fecdddab95de394c8\"\u003e\u003ccode\u003ef05be67\u003c/code\u003e\u003c/a\u003e MNT Remove last usage of distutils (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1760\"\u003e#1760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/4273f396b7fb66da7f72f603a6bf6651393c5be1\"\u003e\u003ccode\u003e4273f39\u003c/code\u003e\u003c/a\u003e MNT bump actions/checkout from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1762\"\u003e#1762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f465f0245d20c1e793d98b8071a9604623ffd528\"\u003e\u003ccode\u003ef465f02\u003c/code\u003e\u003c/a\u003e FIX don't overwrite existing .gitignore (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1742\"\u003e#1742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/cca7d87a94a1bd141c6c505a909becd4c1854fde\"\u003e\u003ccode\u003ecca7d87\u003c/code\u003e\u003c/a\u003e MNT bump sklearn test on python 3.12 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1759\"\u003e#1759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f7775ad30051d95d83da76125b176962989bf763\"\u003e\u003ccode\u003ef7775ad\u003c/code\u003e\u003c/a\u003e MNT remove deprecated pytest feature (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1757\"\u003e#1757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/3c58aab890faad3b01eda5e6b35f382edcd71f91\"\u003e\u003ccode\u003e3c58aab\u003c/code\u003e\u003c/a\u003e Add Python 3.14 and 3.14t to the testing (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1747\"\u003e#1747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/9b96664daa07e11f6bee797f55567ac28a961cdb\"\u003e\u003ccode\u003e9b96664\u003c/code\u003e\u003c/a\u003e Bump cloudpickle to 3.1.2 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1752\"\u003e#1752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/c3bdbd9511da485c7036a433dce1924bdbbd1313\"\u003e\u003ccode\u003ec3bdbd9\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 5 updates (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1749\"\u003e#1749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/a09bb30b22b286ee8b233fe9391b21560e1799a9\"\u003e\u003ccode\u003ea09bb30\u003c/code\u003e\u003c/a\u003e Keep GitHub Actions up to date with GitHub's Dependabot (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1748\"\u003e#1748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/joblib/joblib/compare/1.4.2...1.5.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.14.1 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy/releases\"\u003escipy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSciPy 1.17.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.0\u003c/code\u003e is the culmination of 6 months of hard work. It contains\nmany new features, numerous bug-fixes, improved test coverage and better\ndocumentation. There have been a number of deprecations and API changes\nin this release, which are documented below. All users are encouraged to\nupgrade to this release, as there are a large number of bug-fixes and\noptimizations. Before upgrading, we recommend that users check that\ntheir own code does not use deprecated SciPy functionality (to do so,\nrun your code with \u003ccode\u003epython -Wd\u003c/code\u003e and check for \u003ccode\u003eDeprecationWarning\u003c/code\u003e s).\nOur development attention will now shift to bug-fix releases on the\n\u003ccode\u003e1.17.x\u003c/code\u003e branch, and on adding new features on the main branch.\u003c/p\u003e\n\u003cp\u003eThis release requires Python \u003ccode\u003e3.11\u003c/code\u003e-\u003ccode\u003e3.14\u003c/code\u003e and NumPy \u003ccode\u003e1.26.4\u003c/code\u003e or greater.\u003c/p\u003e\n\u003ch1\u003eHighlights of this release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMany SciPy functions have gained native support for batching of N-dimensional\narray input and additional support for the array API standard. An overall\nsummary of the latter is now available in a \u003ca href=\"https://scipy.github.io/devdocs/dev/api-dev/array_api.html#api-coverage\"\u003eset of tables\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003escipy.sparse\u003c/code\u003e, \u003ccode\u003ecoo_array\u003c/code\u003e now supports indexing. This includes integers,\nslices, arrays, \u003ccode\u003enp.newaxis\u003c/code\u003e, \u003ccode\u003eEllipsis\u003c/code\u003e, in 1D, 2D and the relatively\nnew nD. In \u003ccode\u003escipy.sparse.linalg\u003c/code\u003e, ARPACK and PROPACK rewrites from Fortran77\nto C now empower the use of external pseudorandom number generators, e.g.\nfrom numpy.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003escipy.spatial\u003c/code\u003e, \u003ccode\u003etransform.Rotation\u003c/code\u003e and \u003ccode\u003etransform.RigidTransform\u003c/code\u003e\nhave been extended to support N-D arrays. \u003ccode\u003egeometric_slerp\u003c/code\u003e now has support\nfor extrapolation.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003escipy.stats\u003c/code\u003e has gained the matrix t and logistic distributions and many\nperformance and accuracy improvements.\u003c/li\u003e\n\u003cli\u003eInitial support for 64-bit integer (ILP64) BLAS and LAPACK libraries has\nbeen added, including for MKL and Apple Accelerate. Please report any issues with\nILP64 you encounter.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eNew features\u003c/h1\u003e\n\u003ch1\u003e\u003ccode\u003escipy.integrate\u003c/code\u003e improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eThe integration routines \u003ccode\u003edopri5\u003c/code\u003e, \u003ccode\u003edopri853\u003c/code\u003e, \u003ccode\u003eLSODA\u003c/code\u003e, \u003ccode\u003evode\u003c/code\u003e, and\n\u003ccode\u003ezvode\u003c/code\u003e have been ported from Fortran77 to C.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003escipy.integrate.quad\u003c/code\u003e now has a fast path for returning 0 when the integration\ninterval is empty.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eBDF\u003c/code\u003e, \u003ccode\u003eDOP853\u003c/code\u003e, \u003ccode\u003eRK23\u003c/code\u003e, \u003ccode\u003eRK45\u003c/code\u003e, \u003ccode\u003eOdeSolver\u003c/code\u003e, \u003ccode\u003eDenseOutput\u003c/code\u003e,\n\u003ccode\u003eode\u003c/code\u003e, and \u003ccode\u003ecomplex_ode\u003c/code\u003e classes now support subscription, making them\ngeneric types, for compatibility with \u003ccode\u003escipy-stubs\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/scipy/scipy/commit/8c75ae75176236f233824e9a0483c26a69e6dfec\"\u003e\u003ccode\u003e8c75ae7\u003c/code\u003e\u003c/a\u003e REL: 1.17.0 \u0026quot;final\u0026quot; release commit [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/9d7f110540b5f054cfd99820b5eb02b56a7f2aab\"\u003e\u003ccode\u003e9d7f110\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24298\"\u003e#24298\u003c/a\u003e from tylerjereddy/treddy_prep_1.17.0_final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/94373b602e384cf613e1287b209609a7908c6f5e\"\u003e\u003ccode\u003e94373b6\u003c/code\u003e\u003c/a\u003e MAINT: test wheels [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/723f4e2f83214c237d6afa8a9761f4ef1e00c1fe\"\u003e\u003ccode\u003e723f4e2\u003c/code\u003e\u003c/a\u003e DOC: update 1.17.0 relnotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/bf042f043f1f59a1856827c249453d899abc12fc\"\u003e\u003ccode\u003ebf042f0\u003c/code\u003e\u003c/a\u003e CI: ensure we use pinned scipy-openblas version also in ILP64 job\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/3e00a04941ca2e7cacf6130fd9c28a8aeeefcad8\"\u003e\u003ccode\u003e3e00a04\u003c/code\u003e\u003c/a\u003e CI: fix issue with ILP64 job; point to fixed numpy/meson commit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/39bceab6f85ae717595c2291f6efe0ca29c53ee0\"\u003e\u003ccode\u003e39bceab\u003c/code\u003e\u003c/a\u003e BUG: stats: fix va_args memory corruption bug\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/8f563872fa61c891fede2b547c02190413ec9858\"\u003e\u003ccode\u003e8f56387\u003c/code\u003e\u003c/a\u003e DOC: update 1.17.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/c50e9c03eafec0bb7703acafffc948deb78a567c\"\u003e\u003ccode\u003ec50e9c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24304\"\u003e#24304\u003c/a\u003e from ev-br/edit_relnotes_for_ILP64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/b204495c6122f3670c67000ae29963676024be87\"\u003e\u003ccode\u003eb204495\u003c/code\u003e\u003c/a\u003e DOC: clarify ILP64 support caveats in the release notes, remove mentions of O...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy/compare/v1.14.1...v1.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `apscheduler` from 3.10.4 to 3.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/apscheduler/releases\"\u003eapscheduler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where a job using a \u003ccode\u003eCronTrigger\u003c/code\u003e scheduled in a repeated time interval during DST transitions could cause the scheduler to get stuck in an infinite loop (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e; PR by \u003ca href=\"https://github.com/soulofakuma\"\u003e\u003ccode\u003e@​soulofakuma\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003escheduler.shutdown()\u003c/code\u003e not raising \u003ccode\u003eSchedulerNotRunning\u003c/code\u003e (or raising the wrong exception) for asynchronous schedulers when the scheduler is in fact not running\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCronTrigger\u003c/code\u003e sticking on a folded datetime during the fall-back DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e \u0026lt;\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003eagronholm/apscheduler#1021\u003c/a\u003e\u0026gt;_; PR by \u003ca href=\"https://github.com/berianjames\"\u003e\u003ccode\u003e@​berianjames\u003c/code\u003e\u003c/a\u003e)`\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.6 and 3.7\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eZoneInfo\u003c/code\u003e time zones and deprecated support for pytz time zones\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCalendarIntervalTrigger\u003c/code\u003e, backported from the 4.x series\u003c/li\u003e\n\u003cli\u003eAdded the ability to export and import jobs via \u003ccode\u003escheduler.export_jobs()\u003c/code\u003e and \u003ccode\u003escheduler.import_jobs()\u003c/code\u003e, respectively\u003c/li\u003e\n\u003cli\u003eRemoved the dependency on \u003ccode\u003esix\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e to spawn new subprocesses from scratch instead of forking on all platform\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eAsyncIOScheduler\u003c/code\u003e inadvertently creating a defunct event loop at start, leading to the scheduler not working at all\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e not respecting the passed keyword arguments when a broken pool was being replaced\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/0f70950e320f3a7924dcd404c6c379143fb68b23\"\u003e\u003ccode\u003e0f70950\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/bc404e63af18bd8e493e0765f2ad0b51e6df0ef1\"\u003e\u003ccode\u003ebc404e6\u003c/code\u003e\u003c/a\u003e Updated publish actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/c3aa155bd39fe54639d69b396f9ad720246f0c98\"\u003e\u003ccode\u003ec3aa155\u003c/code\u003e\u003c/a\u003e Updated pre-commit modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/ad6b2dc766cd6722c8aa51543f988b9ee7b13110\"\u003e\u003ccode\u003ead6b2dc\u003c/code\u003e\u003c/a\u003e Added fix for get_next_fire_time not advancing through fold with unfolded pre...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/f4df139771b7741f58f0eb456f091d3f659555c1\"\u003e\u003ccode\u003ef4df139\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/25be7b77afca892d152441d4a61402623af7f943\"\u003e\u003ccode\u003e25be7b7\u003c/code\u003e\u003c/a\u003e Fixed CronTrigger getting stuck on fallback DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1079\"\u003e#1079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/12613862e34456215dc98574f6cf594f77d66f47\"\u003e\u003ccode\u003e1261386\u003c/code\u003e\u003c/a\u003e Updated etcd image repository name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/b1f5636ccaf6a2fe86b208d7bd6b43024a1546b3\"\u003e\u003ccode\u003eb1f5636\u003c/code\u003e\u003c/a\u003e Fixed shutdown() not raising the correct exception for some schedulers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/6c72a51416893eb0eebbe63d0f2a0151952cab59\"\u003e\u003ccode\u003e6c72a51\u003c/code\u003e\u003c/a\u003e Backported release job from master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/4b965109548e528c061cf32b672de1a6f65f2c2a\"\u003e\u003ccode\u003e4b96510\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/apscheduler/compare/3.10.4...3.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `celery` from 5.4.0 to 5.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/releases\"\u003ecelery's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.6.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string by \u003ca href=\"https://github.com/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix: Revoked tasks now immediately update backend status to REVOKED by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9869\"\u003ecelery/celery#9869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.2 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10049\"\u003ecelery/celery#10049\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.1...v5.6.2\"\u003ehttps://github.com/celery/celery/compare/v5.6.1...v5.6.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support by \u003ca href=\"https://github.com/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown by \u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option by \u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10020\"\u003ecelery/celery#10020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup by \u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereliable prefork detection by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10023\"\u003ecelery/celery#10023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebetter coverage by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10029\"\u003ecelery/celery#10029\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example by \u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10032\"\u003ecelery/celery#10032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10033\"\u003ecelery/celery#10033\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10037\"\u003ecelery/celery#10037\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.0...v5.6.1\"\u003ehttps://github.com/celery/celery/compare/v5.6.0...v5.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.0\u003c/h2\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003ch2\u003eKey Highlights\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.celeryq.dev/en/stable/history/whatsnew-5.6.html\"\u003eWhat's new in Celery 5.6\u003c/a\u003e for a complete overview or read the main highlights below.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Minimum Version\u003c/h3\u003e\n\u003cp\u003eCelery 5.6.0 drops support for Python 3.8 (EOL). The minimum required Python version is now 3.9. Users still on Python 3.8 must upgrade their Python version before upgrading to Celery 5.6.0.\u003c/p\u003e\n\u003cp\u003eAdditionally, this release includes initial support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eSQS: Reverted to \u003ccode\u003epycurl\u003c/code\u003e from \u003ccode\u003eurllib3\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003eThe switch from \u003ccode\u003epycurl\u003c/code\u003e to \u003ccode\u003eurllib3\u003c/code\u003e for the SQS transport (introduced in Celery 5.5.0 via Kombu) has been reverted due to critical issues affecting SQS users.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/blob/main/Changelog.rst\"\u003ecelery's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.6.2\u003c/h1\u003e\n\u003cp\u003e:release-date: 2026-01-04\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string ([#10045](https://github.com/celery/celery/issues/10045))\n- Bugfix: Revoked tasks now immediately update backend status to REVOKED ([#9869](https://github.com/celery/celery/issues/9869))\n- Prepare for release: v5.6.2 ([#10049](https://github.com/celery/celery/issues/10049))\n\u003cp\u003e.. _version-5.6.1:\u003c/p\u003e\n\u003ch1\u003e5.6.1\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-12-29\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10013\"\u003e#10013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9986\"\u003e#9986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10016\"\u003e#10016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10020\"\u003e#10020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10015\"\u003e#10015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereliable prefork detection (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10023\"\u003e#10023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebetter coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#10029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10030\"\u003e#10030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10032\"\u003e#10032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _version-5.6.0:\u003c/p\u003e\n\u003ch1\u003e5.6.0\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-11-30\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003cp\u003eKey Highlights\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nSee :ref:`whatsnew-5.6` for a complete overview or read the main highlights below.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6a43c846f183ef0cbade24f4b9a8f7a6ea113b44\"\u003e\u003ccode\u003e6a43c84\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.2 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10049\"\u003e#10049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/333a82f746734151c5cbe848916085455b0a3748\"\u003e\u003ccode\u003e333a82f\u003c/code\u003e\u003c/a\u003e Bugfix: Revoked tasks now immediately update backend status to REVOKED (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9869\"\u003e#9869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/9d6ab110d947270c4edf0b42454266d2954e653d\"\u003e\u003ccode\u003e9d6ab11\u003c/code\u003e\u003c/a\u003e Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeEr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21dbc73f81d2fae058de49e665afaa1cd92da5c0\"\u003e\u003ccode\u003e21dbc73\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/ba20bed7723c684d12ddd62d6a7c0c0d901b3351\"\u003e\u003ccode\u003eba20bed\u003c/code\u003e\u003c/a\u003e Only use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21675299bc2d10c648448ec5221136e07c1eec1a\"\u003e\u003ccode\u003e2167529\u003c/code\u003e\u003c/a\u003e Stop importing pytest_subtests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/0527296acb1f1790788301d4395ba6d5ce2a9704\"\u003e\u003ccode\u003e0527296\u003c/code\u003e\u003c/a\u003e Bump google-cloud-firestore from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/5f8659bdba4561796d66e938a1e2c71d4489562f\"\u003e\u003ccode\u003e5f8659b\u003c/code\u003e\u003c/a\u003e Clarify 'result_extended' setting usage in tasks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/f19db7008682c782d85e69b5ce736970491752ea\"\u003e\u003ccode\u003ef19db70\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.19.0 to 1.19.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10028\"\u003e#10028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6da72bde60553a1c350eef1e17d834d004ed099d\"\u003e\u003ccode\u003e6da72bd\u003c/code\u003e\u003c/a\u003e better coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#10029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/celery/celery/compare/v5.4.0...v5.6.2\"\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.1\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.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env 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/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\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.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff 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/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() 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/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) 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/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini 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/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory 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/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml 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/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure find_dotenv 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/pull/563\"\u003etheskumar/python-dotenv#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): issue with execvpe on Windows by \u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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.1.0...v1.1.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a security policy 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/512\"\u003etheskumar/python-dotenv#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep GitHub Actions up to date with GitHub's Dependabot by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/506\"\u003etheskumar/python-dotenv#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix multiline string in test.yml \u0026amp; use fail-fast strategy by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/514\"\u003etheskumar/python-dotenv#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance dotenv run: Switch to execvpe for better resource management and signal handling by \u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/523\"\u003etheskumar/python-dotenv#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add py3.13 to test.yml by \u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/527\"\u003etheskumar/python-dotenv#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.13 trove classifier by \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/535\"\u003etheskumar/python-dotenv#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/529\"\u003etheskumar/python-dotenv#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.13 and drop 3.8 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/551\"\u003etheskumar/python-dotenv#551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update README.md by \u003ca href=\"https://github.com/chapeupreto\"\u003e\u003ccode\u003e@​chapeupreto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/516\"\u003etheskumar/python-dotenv#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome more s/Python-dotenv/python-dotenv/ 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/552\"\u003etheskumar/python-dotenv#552\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/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.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/pull/563\"\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@​thesk...\n\n_Description has been truncated_","html_url":"https://github.com/KyaRhamil/floodingnaque/pull/21","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyaRhamil%2Ffloodingnaque/issues/21","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/21/packages"},{"uuid":"3854773565","node_id":"PR_kwDOQmboGc6_Thcz","number":10,"state":"open","title":"chore(deps)(deps): bump the python-minor-patch group in /backend with 49 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["KyaRhamil"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-26T07:12:11.000Z","updated_at":"2026-01-26T07:12:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"python-minor-patch","update_count":49,"packages":[{"name":"flask","old_version":"3.0.3","new_version":"3.1.2","repository_url":"https://github.com/pallets/flask"},{"name":"flask-cors","old_version":"6.0.0","new_version":"6.0.2","repository_url":"https://github.com/corydolphin/flask-cors"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"numpy","old_version":"2.1.3","new_version":"2.4.1","repository_url":"https://github.com/numpy/numpy"},{"name":"joblib","old_version":"1.4.2","new_version":"1.5.3","repository_url":"https://github.com/joblib/joblib"},{"name":"scipy","old_version":"1.14.1","new_version":"1.17.0","repository_url":"https://github.com/scipy/scipy"},{"name":"apscheduler","old_version":"3.10.4","new_version":"3.11.2","repository_url":"https://github.com/agronholm/apscheduler"},{"name":"celery","old_version":"5.4.0","new_version":"5.6.2","repository_url":"https://github.com/celery/celery"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"sqlalchemy","old_version":"2.0.35","new_version":"2.0.46","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"alembic","old_version":"1.13.3","new_version":"1.18.1","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"matplotlib","old_version":"3.9.2","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"pyjwt","old_version":"2.9.0","new_version":"2.10.1","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"email-validator","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/JoshData/python-email-validator"},{"name":"flask-compress","old_version":"1.15","new_version":"1.23","repository_url":"https://github.com/colour-science/flask-compress"},{"name":"flask-caching","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/pallets-eco/flask-caching"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"prometheus-flask-exporter","old_version":"0.23.1","new_version":"0.23.2","repository_url":"https://github.com/rycus86/prometheus_flask_exporter"},{"name":"sentry-sdk","old_version":"2.18.0","new_version":"2.50.0"},{"name":"openmeteo-requests","old_version":"1.2.0","new_version":"1.7.5","repository_url":"https://github.com/open-meteo/python-requests"},{"name":"beautifulsoup4","old_version":"4.12.3","new_version":"4.14.3"},{"name":"tabula-py","old_version":"2.9.3","new_version":"2.10.0","repository_url":"https://github.com/chezou/tabula-py"},{"name":"geopandas","old_version":"1.0.1","new_version":"1.1.2","repository_url":"https://github.com/geopandas/geopandas"},{"name":"folium","old_version":"0.18.0","new_version":"0.20.0","repository_url":"https://github.com/python-visualization/folium"},{"name":"shapely","old_version":"2.0.6","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"},{"name":"statsmodels","old_version":"0.14.4","new_version":"0.14.6","repository_url":"https://github.com/statsmodels/statsmodels"},{"name":"prophet","old_version":"1.1.6","new_version":"1.2.2","repository_url":"https://github.com/facebook/prophet"},{"name":"graphql-core","old_version":"3.2.5","new_version":"3.2.7","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"earthengine-api","old_version":"1.4.3","new_version":"1.7.10","repository_url":"https://github.com/google/earthengine-api"},{"name":"google-cloud-bigquery","old_version":"3.27.0","new_version":"3.40.0","repository_url":"https://github.com/googleapis/python-bigquery"},{"name":"google-auth","old_version":"2.37.0","new_version":"2.47.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-auth-oauthlib","old_version":"1.2.1","new_version":"1.2.4","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib"},{"name":"google-auth-httplib2","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2"},{"name":"jupyter","old_version":"1.0.0","new_version":"1.1.1"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-xdist","old_version":"3.5.0","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"responses","old_version":"0.24.1","new_version":"0.25.8","repository_url":"https://github.com/getsentry/responses"},{"name":"httpx","old_version":"0.25.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"locust","old_version":"2.20.1","new_version":"2.43.1","repository_url":"https://github.com/locustio/locust"},{"name":"bandit","old_version":"1.7.6","new_version":"1.9.3","repository_url":"https://github.com/PyCQA/bandit"},{"name":"safety","old_version":"3.2.0","new_version":"3.7.0","repository_url":"https://github.com/pyupio/safety"},{"name":"pip-audit","old_version":"2.7.3","new_version":"2.10.0","repository_url":"https://github.com/pypa/pip-audit"},{"name":"coverage","old_version":"7.6.0","new_version":"7.13.2","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"coverage-badge","old_version":"1.1.0","new_version":"1.1.2","repository_url":"https://github.com/dbrgn/coverage-badge"},{"name":"pytest-html","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/pytest-dev/pytest-html"},{"name":"google-cloud-bigquery-storage","old_version":"2.27.0","new_version":"2.36.0","repository_url":"https://github.com/googleapis/google-cloud-python"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps the python-minor-patch group in /backend with 49 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `3.0.3` | `3.1.2` |\n| [flask-cors](https://github.com/corydolphin/flask-cors) | `6.0.0` | `6.0.2` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [numpy](https://github.com/numpy/numpy) | `2.1.3` | `2.4.1` |\n| [joblib](https://github.com/joblib/joblib) | `1.4.2` | `1.5.3` |\n| [scipy](https://github.com/scipy/scipy) | `1.14.1` | `1.17.0` |\n| [apscheduler](https://github.com/agronholm/apscheduler) | `3.10.4` | `3.11.2` |\n| [celery](https://github.com/celery/celery) | `5.4.0` | `5.6.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.35` | `2.0.46` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.13.3` | `1.18.1` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.9.2` | `3.10.8` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.9.0` | `2.10.1` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [email-validator](https://github.com/JoshData/python-email-validator) | `2.2.0` | `2.3.0` |\n| [flask-compress](https://github.com/colour-science/flask-compress) | `1.15` | `1.23` |\n| [flask-caching](https://github.com/pallets-eco/flask-caching) | `2.3.0` | `2.3.1` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [prometheus-flask-exporter](https://github.com/rycus86/prometheus_flask_exporter) | `0.23.1` | `0.23.2` |\n| [sentry-sdk[flask]](https://github.com/getsentry/sentry-python) | `2.18.0` | `2.50.0` |\n| [openmeteo-requests](https://github.com/open-meteo/python-requests) | `1.2.0` | `1.7.5` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.12.3` | `4.14.3` |\n| [tabula-py](https://github.com/chezou/tabula-py) | `2.9.3` | `2.10.0` |\n| [geopandas](https://github.com/geopandas/geopandas) | `1.0.1` | `1.1.2` |\n| [folium](https://github.com/python-visualization/folium) | `0.18.0` | `0.20.0` |\n| [shapely](https://github.com/shapely/shapely) | `2.0.6` | `2.1.2` |\n| [statsmodels](https://github.com/statsmodels/statsmodels) | `0.14.4` | `0.14.6` |\n| [prophet](https://github.com/facebook/prophet) | `1.1.6` | `1.2.2` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.5` | `3.2.7` |\n| [earthengine-api](https://github.com/google/earthengine-api) | `1.4.3` | `1.7.10` |\n| [google-cloud-bigquery](https://github.com/googleapis/python-bigquery) | `3.27.0` | `3.40.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.37.0` | `2.47.0` |\n| [google-auth-oauthlib](https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib) | `1.2.1` | `1.2.4` |\n| [google-auth-httplib2](https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2) | `0.2.0` | `0.3.0` |\n| [jupyter](https://jupyter.org) | `1.0.0` | `1.1.1` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.15.1` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.5.0` | `3.8.0` |\n| [responses](https://github.com/getsentry/responses) | `0.24.1` | `0.25.8` |\n| [httpx](https://github.com/encode/httpx) | `0.25.2` | `0.28.1` |\n| [locust](https://github.com/locustio/locust) | `2.20.1` | `2.43.1` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.7.6` | `1.9.3` |\n| [safety](https://github.com/pyupio/safety) | `3.2.0` | `3.7.0` |\n| [pip-audit](https://github.com/pypa/pip-audit) | `2.7.3` | `2.10.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.6.0` | `7.13.2` |\n| [coverage-badge](https://github.com/dbrgn/coverage-badge) | `1.1.0` | `1.1.2` |\n| [pytest-html](https://github.com/pytest-dev/pytest-html) | `4.1.1` | `4.2.0` |\n| [google-cloud-bigquery-storage](https://github.com/googleapis/google-cloud-python) | `2.27.0` | `2.36.0` |\n\nUpdates `flask` from 3.0.3 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\n\u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation\nabout resource limits to the security page. :issue:\u003ccode\u003e5625\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the\n\u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. :issue:\u003ccode\u003e5472\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files.\n\u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless\n\u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. :issue:\u003ccode\u003e5628\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old\nsecret keys that can still be used for unsigning. Extensions will need to\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/flask/commit/2c1b30d0503cfb064f1cb252e6614a06915a362a\"\u003e\u003ccode\u003e2c1b30d\u003c/code\u003e\u003c/a\u003e release version 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/1292419ddfc6a14fc7f85b5ed7efcc2d215f1ad3\"\u003e\u003ccode\u003e1292419\u003c/code\u003e\u003c/a\u003e Update GitHub Actions workflow for artifact handling (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5795\"\u003e#5795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4dd52ca9c768c9b6d04180f0547d6f4b6e34f211\"\u003e\u003ccode\u003e4dd52ca\u003c/code\u003e\u003c/a\u003e Update GitHub Actions workflow for artifact handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/55c62556571ee46a94da174643b50ece06edead4\"\u003e\u003ccode\u003e55c6255\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/d8259eb11900285af9b80b0fa47f841174c054e3\"\u003e\u003ccode\u003ed8259eb\u003c/code\u003e\u003c/a\u003e use Jinja name consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/38b4c1e19b50494cfcdc9332899e09b7fed34979\"\u003e\u003ccode\u003e38b4c1e\u003c/code\u003e\u003c/a\u003e refactor stream_with_context for async views (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5799\"\u003e#5799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/9822a0351574790cb66c652fcc396ad7aa2b09d8\"\u003e\u003ccode\u003e9822a03\u003c/code\u003e\u003c/a\u003e refactor stream_with_context for async views\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/49b7e7bc8fb69d605719991d1c0a99fcee689053\"\u003e\u003ccode\u003e49b7e7b\u003c/code\u003e\u003c/a\u003e security docs for TRUSTED_HOSTS (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5798\"\u003e#5798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/b228ca3d87745b746d904a2108429617a814ffda\"\u003e\u003ccode\u003eb228ca3\u003c/code\u003e\u003c/a\u003e security docs for TRUSTED_HOSTS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ff64079a516c269f171ababf3d92b86886a62ffd\"\u003e\u003ccode\u003eff64079\u003c/code\u003e\u003c/a\u003e update flask-talisman link\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.0.3...3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask-cors` from 6.0.0 to 6.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/corydolphin/flask-cors/releases\"\u003eflask-cors's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate license pyproject.toml by \u003ca href=\"https://github.com/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\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/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInvert regex sorting to make it correctly match the intent (sorting by specificity descending) \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1.dev\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\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/corydolphin/flask-cors/commit/fa55dcbec68b3524a39e5057c35c29c221a27d64\"\u003e\u003ccode\u003efa55dcb\u003c/code\u003e\u003c/a\u003e Update license pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/a5003f391e56f74f11a3e509cd180787c75eb6b0\"\u003e\u003ccode\u003ea5003f3\u003c/code\u003e\u003c/a\u003e Fix README file extension in pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/4ad56d6c20252d36031c74ba8386a81e94286f40\"\u003e\u003ccode\u003e4ad56d6\u003c/code\u003e\u003c/a\u003e Fix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.1.3 to 2.4.1\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.1 (Jan 10, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.1 is a patch release that fixes bugs discoved after the\n2.4.0 release. In particular, the typo \u003ccode\u003eSeedlessSequence\u003c/code\u003e is preserved to\nenable wheels using the random Cython API and built against NumPy \u0026lt; 2.4.0\nto run without errors.\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 9 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\u003eAlexander Shadchin\u003c/li\u003e\n\u003cli\u003eBill Tompkins +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMarten van Kerkwijk\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRaghuveer Devulapalli\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 15 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/30490\"\u003e#30490\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/30503\"\u003e#30503\u003c/a\u003e: DOC: \u003ccode\u003enumpy.select\u003c/code\u003e: fix \u003ccode\u003edefault\u003c/code\u003e parameter docstring...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30504\"\u003e#30504\u003c/a\u003e: REV: Revert part of \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30164\"\u003e#30164\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30500\"\u003e#30500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30506\"\u003e#30506\u003c/a\u003e: TYP: \u003ccode\u003enumpy.select\u003c/code\u003e: allow passing array-like \u003ccode\u003edefault\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30507\"\u003e#30507\u003c/a\u003e: MNT: use if constexpr for compile-time branch selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30513\"\u003e#30513\u003c/a\u003e: BUG: Fix leak in flat assignment iterator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30516\"\u003e#30516\u003c/a\u003e: BUG: fix heap overflow in fixed-width string multiply (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30511\"\u003e#30511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30523\"\u003e#30523\u003c/a\u003e: BUG: Ensure summed weights returned by np.average always are...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30527\"\u003e#30527\u003c/a\u003e: TYP: Fix return type of histogram2d\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30594\"\u003e#30594\u003c/a\u003e: MAINT: avoid passing ints to random functions that take double...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30595\"\u003e#30595\u003c/a\u003e: BLD: Avoiding conflict with pygit2 for static build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30596\"\u003e#30596\u003c/a\u003e: MAINT: Fix msvccompiler missing error on FreeBSD\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30608\"\u003e#30608\u003c/a\u003e: BLD: update vendored Meson to 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30620\"\u003e#30620\u003c/a\u003e: ENH: use more fine-grained critical sections in array coercion...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30623\"\u003e#30623\u003c/a\u003e: BUG: Undo result type change of quantile/percentile but keep...\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.0 (Dec 20, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.0 release continues the work to improve free threaded Python\nsupport, user dtypes implementation, and annotations. There are many expired\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/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003cli\u003eYou can use the \u003ccode\u003ekeyring\u003c/code\u003e app to store the PyPI password for twine. See the\nonline twine documentation for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003cp\u003eCheck the numpy-release repo\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/d24bb7f48d3b0e3471c68f1309c130d0b65ee72a\"\u003e\u003ccode\u003ed24bb7f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30624\"\u003e#30624\u003c/a\u003e from charris/prepare-for-2.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/d3bfd6d61d8b5a9429aebe2b58070381a289aeac\"\u003e\u003ccode\u003ed3bfd6d\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/abe3d863a1e945183f173cf29428699965c10b1c\"\u003e\u003ccode\u003eabe3d86\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30623\"\u003e#30623\u003c/a\u003e from charris/backport-30601\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/5d8907855c225864d7d741254d48448119b41a84\"\u003e\u003ccode\u003e5d89078\u003c/code\u003e\u003c/a\u003e TST: Add test showing that q promotes (for \u0026quot;interpolating ones\u0026quot;)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/16890cea47e717ae3d7cea546797f1e4a1959c75\"\u003e\u003ccode\u003e16890ce\u003c/code\u003e\u003c/a\u003e BUG: Fix result type change and make weak q safe\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/bf7ef0be8532985cd5d05424e0f7747a4750f7cc\"\u003e\u003ccode\u003ebf7ef0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30620\"\u003e#30620\u003c/a\u003e from charris/backport-30514\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/3d3af25fe7830f66fbf903aebd765999404376c4\"\u003e\u003ccode\u003e3d3af25\u003c/code\u003e\u003c/a\u003e ENH: use more fine-grained critical sections in array coercion internals (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30\"\u003e#30\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/8b7f19798e654c572d1a918da35f73933b6d6047\"\u003e\u003ccode\u003e8b7f197\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30608\"\u003e#30608\u003c/a\u003e from charris/update-vendored-meson\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/30999f623181dc4b8c71cf359463484b9aab4157\"\u003e\u003ccode\u003e30999f6\u003c/code\u003e\u003c/a\u003e BLD: update vendored Meson to 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/e6bea65b639820b5672a5dced69a231ed5f01176\"\u003e\u003ccode\u003ee6bea65\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30596\"\u003e#30596\u003c/a\u003e from charris/remove-msvccompiler-check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.1.3...v2.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `joblib` from 1.4.2 to 1.5.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/joblib/joblib/blob/main/CHANGES.rst\"\u003ejoblib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.5.3 - 2025/12/15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eMemory\u003c/code\u003e object won't overwrite an already existing \u003ccode\u003e.gitignore\u003c/code\u003e file in its\ncache directory anymore.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1742\"\u003ejoblib/joblib#1742\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHarden the safety checks in \u003ccode\u003eeval_expr(pre_dispatch)\u003c/code\u003e to prevent excessive\nmemory allocation and potential crashes by limiting the allowed length of the\nexpression and the maximum numeric value of sub-expressions and not\nevaluating expressions with non-numeric literals.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1744\"\u003ejoblib/joblib#1744\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor cloudpickle 3.1.2 to fix a pickling problem with interactively\ndefined abstract base classes and type annotations in Python 3.14+.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.2 - 2025/08/27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendor \u003ccode\u003eloky3.5.6\u003c/code\u003e fixing the resource tracker for python 3.13.7+\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1740\"\u003ejoblib/joblib#1740\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMemory:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Ensure that temporary files managed by the ``Memory`` object do not collide\n  when using the same cache directory when the cache directory is accessed\n  concurrently from different nodes on a cluster with a shared filesystem.\n  https://github.com/joblib/joblib/pull/1656\n\u003ch2\u003eRelease 1.5.1 - 2025/05/23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix backend hints causing errors when no multiprocessing is present\u003cbr /\u003e\n\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1721\"\u003ejoblib/joblib#1721\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor \u003ccode\u003eloky3.5.5\u003c/code\u003e fixing the resource_tracker clean up with earlier Python\u003cbr /\u003e\nversions. \u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1724\"\u003ejoblib/joblib#1724\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.0 -- 2025/05/03\u003c/h2\u003e\n\u003cp\u003eMemory:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eEnforce \u003ccode\u003eage_limit\u003c/code\u003e is a positive timedelta for \u003ccode\u003eMemory.reduce_size\u003c/code\u003e,\nto avoid silently ignoring it.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1613\"\u003ejoblib/joblib#1613\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003ebytes_limit\u003c/code\u003e argument for \u003ccode\u003eMemory\u003c/code\u003e, which should\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/joblib/joblib/commit/40cd002ae1765195dfc4738a6bc7f5534b420a21\"\u003e\u003ccode\u003e40cd002\u003c/code\u003e\u003c/a\u003e RELEASE 1.5.3 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f05be6705e0f56856b76d76fecdddab95de394c8\"\u003e\u003ccode\u003ef05be67\u003c/code\u003e\u003c/a\u003e MNT Remove last usage of distutils (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1760\"\u003e#1760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/4273f396b7fb66da7f72f603a6bf6651393c5be1\"\u003e\u003ccode\u003e4273f39\u003c/code\u003e\u003c/a\u003e MNT bump actions/checkout from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1762\"\u003e#1762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f465f0245d20c1e793d98b8071a9604623ffd528\"\u003e\u003ccode\u003ef465f02\u003c/code\u003e\u003c/a\u003e FIX don't overwrite existing .gitignore (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1742\"\u003e#1742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/cca7d87a94a1bd141c6c505a909becd4c1854fde\"\u003e\u003ccode\u003ecca7d87\u003c/code\u003e\u003c/a\u003e MNT bump sklearn test on python 3.12 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1759\"\u003e#1759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f7775ad30051d95d83da76125b176962989bf763\"\u003e\u003ccode\u003ef7775ad\u003c/code\u003e\u003c/a\u003e MNT remove deprecated pytest feature (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1757\"\u003e#1757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/3c58aab890faad3b01eda5e6b35f382edcd71f91\"\u003e\u003ccode\u003e3c58aab\u003c/code\u003e\u003c/a\u003e Add Python 3.14 and 3.14t to the testing (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1747\"\u003e#1747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/9b96664daa07e11f6bee797f55567ac28a961cdb\"\u003e\u003ccode\u003e9b96664\u003c/code\u003e\u003c/a\u003e Bump cloudpickle to 3.1.2 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1752\"\u003e#1752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/c3bdbd9511da485c7036a433dce1924bdbbd1313\"\u003e\u003ccode\u003ec3bdbd9\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 5 updates (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1749\"\u003e#1749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/a09bb30b22b286ee8b233fe9391b21560e1799a9\"\u003e\u003ccode\u003ea09bb30\u003c/code\u003e\u003c/a\u003e Keep GitHub Actions up to date with GitHub's Dependabot (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1748\"\u003e#1748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/joblib/joblib/compare/1.4.2...1.5.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.14.1 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy/releases\"\u003escipy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSciPy 1.17.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.0\u003c/code\u003e is the culmination of 6 months of hard work. It contains\nmany new features, numerous bug-fixes, improved test coverage and better\ndocumentation. There have been a number of deprecations and API changes\nin this release, which are documented below. All users are encouraged to\nupgrade to this release, as there are a large number of bug-fixes and\noptimizations. Before upgrading, we recommend that users check that\ntheir own code does not use deprecated SciPy functionality (to do so,\nrun your code with \u003ccode\u003epython -Wd\u003c/code\u003e and check for \u003ccode\u003eDeprecationWarning\u003c/code\u003e s).\nOur development attention will now shift to bug-fix releases on the\n\u003ccode\u003e1.17.x\u003c/code\u003e branch, and on adding new features on the main branch.\u003c/p\u003e\n\u003cp\u003eThis release requires Python \u003ccode\u003e3.11\u003c/code\u003e-\u003ccode\u003e3.14\u003c/code\u003e and NumPy \u003ccode\u003e1.26.4\u003c/code\u003e or greater.\u003c/p\u003e\n\u003ch1\u003eHighlights of this release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMany SciPy functions have gained native support for batching of N-dimensional\narray input and additional support for the array API standard. An overall\nsummary of the latter is now available in a \u003ca href=\"https://scipy.github.io/devdocs/dev/api-dev/array_api.html#api-coverage\"\u003eset of tables\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003escipy.sparse\u003c/code\u003e, \u003ccode\u003ecoo_array\u003c/code\u003e now supports indexing. This includes integers,\nslices, arrays, \u003ccode\u003enp.newaxis\u003c/code\u003e, \u003ccode\u003eEllipsis\u003c/code\u003e, in 1D, 2D and the relatively\nnew nD. In \u003ccode\u003escipy.sparse.linalg\u003c/code\u003e, ARPACK and PROPACK rewrites from Fortran77\nto C now empower the use of external pseudorandom number generators, e.g.\nfrom numpy.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003escipy.spatial\u003c/code\u003e, \u003ccode\u003etransform.Rotation\u003c/code\u003e and \u003ccode\u003etransform.RigidTransform\u003c/code\u003e\nhave been extended to support N-D arrays. \u003ccode\u003egeometric_slerp\u003c/code\u003e now has support\nfor extrapolation.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003escipy.stats\u003c/code\u003e has gained the matrix t and logistic distributions and many\nperformance and accuracy improvements.\u003c/li\u003e\n\u003cli\u003eInitial support for 64-bit integer (ILP64) BLAS and LAPACK libraries has\nbeen added, including for MKL and Apple Accelerate. Please report any issues with\nILP64 you encounter.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eNew features\u003c/h1\u003e\n\u003ch1\u003e\u003ccode\u003escipy.integrate\u003c/code\u003e improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eThe integration routines \u003ccode\u003edopri5\u003c/code\u003e, \u003ccode\u003edopri853\u003c/code\u003e, \u003ccode\u003eLSODA\u003c/code\u003e, \u003ccode\u003evode\u003c/code\u003e, and\n\u003ccode\u003ezvode\u003c/code\u003e have been ported from Fortran77 to C.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003escipy.integrate.quad\u003c/code\u003e now has a fast path for returning 0 when the integration\ninterval is empty.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eBDF\u003c/code\u003e, \u003ccode\u003eDOP853\u003c/code\u003e, \u003ccode\u003eRK23\u003c/code\u003e, \u003ccode\u003eRK45\u003c/code\u003e, \u003ccode\u003eOdeSolver\u003c/code\u003e, \u003ccode\u003eDenseOutput\u003c/code\u003e,\n\u003ccode\u003eode\u003c/code\u003e, and \u003ccode\u003ecomplex_ode\u003c/code\u003e classes now support subscription, making them\ngeneric types, for compatibility with \u003ccode\u003escipy-stubs\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/scipy/scipy/commit/8c75ae75176236f233824e9a0483c26a69e6dfec\"\u003e\u003ccode\u003e8c75ae7\u003c/code\u003e\u003c/a\u003e REL: 1.17.0 \u0026quot;final\u0026quot; release commit [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/9d7f110540b5f054cfd99820b5eb02b56a7f2aab\"\u003e\u003ccode\u003e9d7f110\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24298\"\u003e#24298\u003c/a\u003e from tylerjereddy/treddy_prep_1.17.0_final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/94373b602e384cf613e1287b209609a7908c6f5e\"\u003e\u003ccode\u003e94373b6\u003c/code\u003e\u003c/a\u003e MAINT: test wheels [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/723f4e2f83214c237d6afa8a9761f4ef1e00c1fe\"\u003e\u003ccode\u003e723f4e2\u003c/code\u003e\u003c/a\u003e DOC: update 1.17.0 relnotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/bf042f043f1f59a1856827c249453d899abc12fc\"\u003e\u003ccode\u003ebf042f0\u003c/code\u003e\u003c/a\u003e CI: ensure we use pinned scipy-openblas version also in ILP64 job\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/3e00a04941ca2e7cacf6130fd9c28a8aeeefcad8\"\u003e\u003ccode\u003e3e00a04\u003c/code\u003e\u003c/a\u003e CI: fix issue with ILP64 job; point to fixed numpy/meson commit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/39bceab6f85ae717595c2291f6efe0ca29c53ee0\"\u003e\u003ccode\u003e39bceab\u003c/code\u003e\u003c/a\u003e BUG: stats: fix va_args memory corruption bug\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/8f563872fa61c891fede2b547c02190413ec9858\"\u003e\u003ccode\u003e8f56387\u003c/code\u003e\u003c/a\u003e DOC: update 1.17.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/c50e9c03eafec0bb7703acafffc948deb78a567c\"\u003e\u003ccode\u003ec50e9c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24304\"\u003e#24304\u003c/a\u003e from ev-br/edit_relnotes_for_ILP64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/b204495c6122f3670c67000ae29963676024be87\"\u003e\u003ccode\u003eb204495\u003c/code\u003e\u003c/a\u003e DOC: clarify ILP64 support caveats in the release notes, remove mentions of O...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy/compare/v1.14.1...v1.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `apscheduler` from 3.10.4 to 3.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/apscheduler/releases\"\u003eapscheduler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where a job using a \u003ccode\u003eCronTrigger\u003c/code\u003e scheduled in a repeated time interval during DST transitions could cause the scheduler to get stuck in an infinite loop (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e; PR by \u003ca href=\"https://github.com/soulofakuma\"\u003e\u003ccode\u003e@​soulofakuma\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003escheduler.shutdown()\u003c/code\u003e not raising \u003ccode\u003eSchedulerNotRunning\u003c/code\u003e (or raising the wrong exception) for asynchronous schedulers when the scheduler is in fact not running\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCronTrigger\u003c/code\u003e sticking on a folded datetime during the fall-back DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e \u0026lt;\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003eagronholm/apscheduler#1021\u003c/a\u003e\u0026gt;_; PR by \u003ca href=\"https://github.com/berianjames\"\u003e\u003ccode\u003e@​berianjames\u003c/code\u003e\u003c/a\u003e)`\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.6 and 3.7\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eZoneInfo\u003c/code\u003e time zones and deprecated support for pytz time zones\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCalendarIntervalTrigger\u003c/code\u003e, backported from the 4.x series\u003c/li\u003e\n\u003cli\u003eAdded the ability to export and import jobs via \u003ccode\u003escheduler.export_jobs()\u003c/code\u003e and \u003ccode\u003escheduler.import_jobs()\u003c/code\u003e, respectively\u003c/li\u003e\n\u003cli\u003eRemoved the dependency on \u003ccode\u003esix\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e to spawn new subprocesses from scratch instead of forking on all platform\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eAsyncIOScheduler\u003c/code\u003e inadvertently creating a defunct event loop at start, leading to the scheduler not working at all\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e not respecting the passed keyword arguments when a broken pool was being replaced\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/0f70950e320f3a7924dcd404c6c379143fb68b23\"\u003e\u003ccode\u003e0f70950\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/bc404e63af18bd8e493e0765f2ad0b51e6df0ef1\"\u003e\u003ccode\u003ebc404e6\u003c/code\u003e\u003c/a\u003e Updated publish actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/c3aa155bd39fe54639d69b396f9ad720246f0c98\"\u003e\u003ccode\u003ec3aa155\u003c/code\u003e\u003c/a\u003e Updated pre-commit modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/ad6b2dc766cd6722c8aa51543f988b9ee7b13110\"\u003e\u003ccode\u003ead6b2dc\u003c/code\u003e\u003c/a\u003e Added fix for get_next_fire_time not advancing through fold with unfolded pre...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/f4df139771b7741f58f0eb456f091d3f659555c1\"\u003e\u003ccode\u003ef4df139\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/25be7b77afca892d152441d4a61402623af7f943\"\u003e\u003ccode\u003e25be7b7\u003c/code\u003e\u003c/a\u003e Fixed CronTrigger getting stuck on fallback DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1079\"\u003e#1079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/12613862e34456215dc98574f6cf594f77d66f47\"\u003e\u003ccode\u003e1261386\u003c/code\u003e\u003c/a\u003e Updated etcd image repository name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/b1f5636ccaf6a2fe86b208d7bd6b43024a1546b3\"\u003e\u003ccode\u003eb1f5636\u003c/code\u003e\u003c/a\u003e Fixed shutdown() not raising the correct exception for some schedulers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/6c72a51416893eb0eebbe63d0f2a0151952cab59\"\u003e\u003ccode\u003e6c72a51\u003c/code\u003e\u003c/a\u003e Backported release job from master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/4b965109548e528c061cf32b672de1a6f65f2c2a\"\u003e\u003ccode\u003e4b96510\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/apscheduler/compare/3.10.4...3.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `celery` from 5.4.0 to 5.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/releases\"\u003ecelery's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.6.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string by \u003ca href=\"https://github.com/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix: Revoked tasks now immediately update backend status to REVOKED by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9869\"\u003ecelery/celery#9869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.2 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10049\"\u003ecelery/celery#10049\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.1...v5.6.2\"\u003ehttps://github.com/celery/celery/compare/v5.6.1...v5.6.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support by \u003ca href=\"https://github.com/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown by \u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option by \u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10020\"\u003ecelery/celery#10020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup by \u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereliable prefork detection by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10023\"\u003ecelery/celery#10023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebetter coverage by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10029\"\u003ecelery/celery#10029\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example by \u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10032\"\u003ecelery/celery#10032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10033\"\u003ecelery/celery#10033\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10037\"\u003ecelery/celery#10037\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.0...v5.6.1\"\u003ehttps://github.com/celery/celery/compare/v5.6.0...v5.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.0\u003c/h2\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003ch2\u003eKey Highlights\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.celeryq.dev/en/stable/history/whatsnew-5.6.html\"\u003eWhat's new in Celery 5.6\u003c/a\u003e for a complete overview or read the main highlights below.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Minimum Version\u003c/h3\u003e\n\u003cp\u003eCelery 5.6.0 drops support for Python 3.8 (EOL). The minimum required Python version is now 3.9. Users still on Python 3.8 must upgrade their Python version before upgrading to Celery 5.6.0.\u003c/p\u003e\n\u003cp\u003eAdditionally, this release includes initial support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eSQS: Reverted to \u003ccode\u003epycurl\u003c/code\u003e from \u003ccode\u003eurllib3\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003eThe switch from \u003ccode\u003epycurl\u003c/code\u003e to \u003ccode\u003eurllib3\u003c/code\u003e for the SQS transport (introduced in Celery 5.5.0 via Kombu) has been reverted due to critical issues affecting SQS users.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/blob/main/Changelog.rst\"\u003ecelery's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.6.2\u003c/h1\u003e\n\u003cp\u003e:release-date: 2026-01-04\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string ([#10045](https://github.com/celery/celery/issues/10045))\n- Bugfix: Revoked tasks now immediately update backend status to REVOKED ([#9869](https://github.com/celery/celery/issues/9869))\n- Prepare for release: v5.6.2 ([#10049](https://github.com/celery/celery/issues/10049))\n\u003cp\u003e.. _version-5.6.1:\u003c/p\u003e\n\u003ch1\u003e5.6.1\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-12-29\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10013\"\u003e#10013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9986\"\u003e#9986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10016\"\u003e#10016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10020\"\u003e#10020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10015\"\u003e#10015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereliable prefork detection (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10023\"\u003e#10023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebetter coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#10029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10030\"\u003e#10030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10032\"\u003e#10032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _version-5.6.0:\u003c/p\u003e\n\u003ch1\u003e5.6.0\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-11-30\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003cp\u003eKey Highlights\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nSee :ref:`whatsnew-5.6` for a complete overview or read the main highlights below.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6a43c846f183ef0cbade24f4b9a8f7a6ea113b44\"\u003e\u003ccode\u003e6a43c84\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.2 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10049\"\u003e#10049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/333a82f746734151c5cbe848916085455b0a3748\"\u003e\u003ccode\u003e333a82f\u003c/code\u003e\u003c/a\u003e Bugfix: Revoked tasks now immediately update backend status to REVOKED (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9869\"\u003e#9869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/9d6ab110d947270c4edf0b42454266d2954e653d\"\u003e\u003ccode\u003e9d6ab11\u003c/code\u003e\u003c/a\u003e Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeEr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21dbc73f81d2fae058de49e665afaa1cd92da5c0\"\u003e\u003ccode\u003e21dbc73\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/ba20bed7723c684d12ddd62d6a7c0c0d901b3351\"\u003e\u003ccode\u003eba20bed\u003c/code\u003e\u003c/a\u003e Only use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21675299bc2d10c648448ec5221136e07c1eec1a\"\u003e\u003ccode\u003e2167529\u003c/code\u003e\u003c/a\u003e Stop importing pytest_subtests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/0527296acb1f1790788301d4395ba6d5ce2a9704\"\u003e\u003ccode\u003e0527296\u003c/code\u003e\u003c/a\u003e Bump google-cloud-firestore from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/5f8659bdba4561796d66e938a1e2c71d4489562f\"\u003e\u003ccode\u003e5f8659b\u003c/code\u003e\u003c/a\u003e Clarify 'result_extended' setting usage in tasks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/f19db7008682c782d85e69b5ce736970491752ea\"\u003e\u003ccode\u003ef19db70\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.19.0 to 1.19.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10028\"\u003e#10028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6da72bde60553a1c350eef1e17d834d004ed099d\"\u003e\u003ccode\u003e6da72bd\u003c/code\u003e\u003c/a\u003e better coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#10029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/celery/celery/compare/v5.4.0...v5.6.2\"\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.1\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.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env 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/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\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.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff 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/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() 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/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) 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/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini 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/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory 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/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml 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/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure find_dotenv 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/pull/563\"\u003etheskumar/python-dotenv#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): issue with execvpe on Windows by \u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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.1.0...v1.1.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a security policy 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/512\"\u003etheskumar/python-dotenv#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep GitHub Actions up to date with GitHub's Dependabot by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/506\"\u003etheskumar/python-dotenv#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix multiline string in test.yml \u0026amp; use fail-fast strategy by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/514\"\u003etheskumar/python-dotenv#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance dotenv run: Switch to execvpe for better resource management and signal handling by \u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/523\"\u003etheskumar/python-dotenv#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add py3.13 to test.yml by \u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/527\"\u003etheskumar/python-dotenv#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.13 trove classifier by \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/535\"\u003etheskumar/python-dotenv#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/529\"\u003etheskumar/python-dotenv#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.13 and drop 3.8 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/551\"\u003etheskumar/python-dotenv#551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update README.md by \u003ca href=\"https://github.com/chapeupreto\"\u003e\u003ccode\u003e@​chapeupreto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/516\"\u003etheskumar/python-dotenv#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome more s/Python-dotenv/python-dotenv/ 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/552\"\u003etheskumar/python-dotenv#552\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/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.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/pull/563\"\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...\n\n_Description has been truncated_","html_url":"https://github.com/KyaRhamil/floodingnaque/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyaRhamil%2Ffloodingnaque/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"},{"uuid":"3705077254","node_id":"PR_kwDOLzgXB863nCne","number":623,"state":"closed","title":"Bump the allpip group across 1 directory with 79 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-09T09:28:56.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-08T07:45:59.000Z","updated_at":"2025-12-09T09:28:58.000Z","time_to_close":92577,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"allpip","update_count":79,"packages":[{"name":"fastapi","old_version":"0.121.0","new_version":"0.124.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"alembic","old_version":"1.16.5","new_version":"1.17.2","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"pydantic","old_version":"2.11.9","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-settings","old_version":"2.10.1","new_version":"2.12.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"uvicorn","old_version":"0.36.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"click","old_version":"8.3.0","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"sqlalchemy","old_version":"2.0.43","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"asyncpg","old_version":"0.30.0","new_version":"0.31.0","repository_url":"https://github.com/MagicStack/asyncpg"},{"name":"minio","old_version":"7.2.16","new_version":"7.2.20","repository_url":"https://github.com/minio/minio-py"},{"name":"pytest-asyncio","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"coverage","old_version":"7.10.7","new_version":"7.12.0","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"playwright","old_version":"1.55.0","new_version":"1.56.0","repository_url":"https://github.com/microsoft/playwright-python"},{"name":"pytest-playwright","old_version":"0.7.1","new_version":"0.7.2","repository_url":"https://github.com/microsoft/playwright-pytest"},{"name":"vcrpy","old_version":"7.0.0","new_version":"8.0.0","repository_url":"https://github.com/kevin1024/vcrpy"},{"name":"ruff","old_version":"0.13.1","new_version":"0.14.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pre-commit","old_version":"4.3.0","new_version":"4.5.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"pyright","old_version":"1.1.405","new_version":"1.1.407","repository_url":"https://github.com/RobertCraigie/pyright-python"},{"name":"annotated-doc","old_version":"0.0.3","new_version":"0.0.4","repository_url":"https://github.com/fastapi/annotated-doc"},{"name":"anyio","old_version":"4.8.0","new_version":"4.12.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"argon2-cffi","old_version":"23.1.0","new_version":"25.1.0","repository_url":"https://github.com/hynek/argon2-cffi"},{"name":"argon2-cffi-bindings","old_version":"21.2.0","new_version":"25.1.0","repository_url":"https://github.com/hynek/argon2-cffi-bindings"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"cachecontrol","old_version":"0.14.1","new_version":"0.14.4","repository_url":"https://github.com/psf/cachecontrol"},{"name":"certifi","old_version":"2024.12.14","new_version":"2025.11.12","repository_url":"https://github.com/certifi/python-certifi"},{"name":"cfgv","old_version":"3.4.0","new_version":"3.5.0","repository_url":"https://github.com/asottile/cfgv"},{"name":"charset-normalizer","old_version":"3.4.1","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"cryptography","old_version":"44.0.1","new_version":"46.0.3","repository_url":"https://github.com/pyca/cryptography"},{"name":"cssbeautifier","old_version":"1.15.1","new_version":"1.15.4","repository_url":"https://github.com/beautifier/js-beautify"},{"name":"distlib","old_version":"0.3.9","new_version":"0.4.0","repository_url":"https://github.com/pypa/distlib"},{"name":"dulwich","old_version":"0.24.1","new_version":"0.24.10","repository_url":"https://github.com/dulwich/dulwich"},{"name":"editorconfig","old_version":"0.17.0","new_version":"0.17.1","repository_url":"https://github.com/editorconfig/editorconfig-core-py"},{"name":"fastjsonschema","old_version":"2.21.1","new_version":"2.21.2","repository_url":"https://github.com/horejsek/python-fastjsonschema"},{"name":"filelock","old_version":"3.16.1","new_version":"3.20.0","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"findpython","old_version":"0.6.2","new_version":"0.7.1","repository_url":"https://github.com/frostming/findpython"},{"name":"fsspec","old_version":"2024.12.0","new_version":"2025.12.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"greenlet","old_version":"3.1.1","new_version":"3.3.0","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"httptools","old_version":"0.6.4","new_version":"0.7.1","repository_url":"https://github.com/MagicStack/httptools"},{"name":"identify","old_version":"2.6.5","new_version":"2.6.15","repository_url":"https://github.com/pre-commit/identify"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"iniconfig","old_version":"2.0.0","new_version":"2.3.0","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"jaraco-functools","old_version":"4.1.0","new_version":"4.3.0","repository_url":"https://github.com/jaraco/jaraco.functools"},{"name":"jeepney","old_version":"0.8.0","new_version":"0.9.0"},{"name":"jsbeautifier","old_version":"1.15.1","new_version":"1.15.4","repository_url":"https://github.com/ghost6991/Jsbeautifier"},{"name":"json5","old_version":"0.10.0","new_version":"0.12.1","repository_url":"https://github.com/dpranke/pyjson5"},{"name":"keyring","old_version":"25.6.0","new_version":"25.7.0","repository_url":"https://github.com/jaraco/keyring"},{"name":"mako","old_version":"1.3.8","new_version":"1.3.10","repository_url":"https://github.com/sqlalchemy/mako"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"more-itertools","old_version":"10.5.0","new_version":"10.8.0","repository_url":"https://github.com/more-itertools/more-itertools"},{"name":"msgpack","old_version":"1.1.0","new_version":"1.1.2","repository_url":"https://github.com/msgpack/msgpack-python"},{"name":"packaging","old_version":"24.2","new_version":"25.0","repository_url":"https://github.com/pypa/packaging"},{"name":"pbs-installer","old_version":"2025.2.12","new_version":"2025.12.5","repository_url":"https://github.com/frostming/pbs-installer"},{"name":"pkginfo","old_version":"1.12.0","new_version":"1.12.1.2"},{"name":"platformdirs","old_version":"4.3.6","new_version":"4.5.1","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pluggy","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/pytest-dev/pluggy"},{"name":"pycparser","old_version":"2.22","new_version":"2.23","repository_url":"https://github.com/eliben/pycparser"},{"name":"pycryptodome","old_version":"3.21.0","new_version":"3.23.0","repository_url":"https://github.com/Legrandin/pycryptodome"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"rapidfuzz","old_version":"3.11.0","new_version":"3.14.3","repository_url":"https://github.com/rapidfuzz/RapidFuzz"},{"name":"regex","old_version":"2024.11.6","new_version":"2025.11.3","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"secretstorage","old_version":"3.3.3","new_version":"3.5.0","repository_url":"https://github.com/mitya57/secretstorage"},{"name":"starlette","old_version":"0.49.3","new_version":"0.50.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"tomlkit","old_version":"0.13.2","new_version":"0.13.3","repository_url":"https://github.com/sdispater/tomlkit"},{"name":"trove-classifiers","old_version":"2025.1.6.15","new_version":"2025.12.1.14","repository_url":"https://github.com/pypa/trove-classifiers"},{"name":"uvloop","old_version":"0.21.0","new_version":"0.22.1","repository_url":"https://github.com/MagicStack/uvloop"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"virtualenv","old_version":"20.28.1","new_version":"20.35.4","repository_url":"https://github.com/pypa/virtualenv"},{"name":"watchfiles","old_version":"1.0.3","new_version":"1.1.1","repository_url":"https://github.com/samuelcolvin/watchfiles"},{"name":"websockets","old_version":"14.1","new_version":"15.0.1","repository_url":"https://github.com/python-websockets/websockets"},{"name":"wrapt","old_version":"1.17.0","new_version":"2.0.1","repository_url":"https://github.com/GrahamDumpleton/wrapt"},{"name":"xattr","old_version":"1.1.4","new_version":"1.3.0","repository_url":"https://github.com/xattr/xattr"},{"name":"zstandard","old_version":"0.23.0","new_version":"0.25.0","repository_url":"https://github.com/indygreg/python-zstandard"}],"path":null,"ecosystem":"pip"},"body":"Bumps the allpip group with 74 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.121.0` | `0.124.0` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.16.5` | `1.17.2` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.9` | `2.12.5` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.10.1` | `2.12.0` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.36.0` | `0.38.0` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [click](https://github.com/pallets/click) | `8.3.0` | `8.3.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.43` | `2.0.44` |\n| [asyncpg](https://github.com/MagicStack/asyncpg) | `0.30.0` | `0.31.0` |\n| [minio](https://github.com/minio/minio-py) | `7.2.16` | `7.2.20` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.2.0` | `1.3.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.7` | `7.12.0` |\n| [playwright](https://github.com/microsoft/playwright-python) | `1.55.0` | `1.56.0` |\n| [pytest-playwright](https://github.com/microsoft/playwright-pytest) | `0.7.1` | `0.7.2` |\n| [vcrpy](https://github.com/kevin1024/vcrpy) | `7.0.0` | `8.0.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.13.1` | `0.14.8` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.3.0` | `4.5.0` |\n| [pyright](https://github.com/RobertCraigie/pyright-python) | `1.1.405` | `1.1.407` |\n| [annotated-doc](https://github.com/fastapi/annotated-doc) | `0.0.3` | `0.0.4` |\n| [anyio](https://github.com/agronholm/anyio) | `4.8.0` | `4.12.0` |\n| [argon2-cffi](https://github.com/hynek/argon2-cffi) | `23.1.0` | `25.1.0` |\n| [argon2-cffi-bindings](https://github.com/hynek/argon2-cffi-bindings) | `21.2.0` | `25.1.0` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [cachecontrol](https://github.com/psf/cachecontrol) | `0.14.1` | `0.14.4` |\n| [certifi](https://github.com/certifi/python-certifi) | `2024.12.14` | `2025.11.12` |\n| [cfgv](https://github.com/asottile/cfgv) | `3.4.0` | `3.5.0` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.1` | `3.4.4` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.1` | `46.0.3` |\n| [cssbeautifier](https://github.com/beautifier/js-beautify) | `1.15.1` | `1.15.4` |\n| [distlib](https://github.com/pypa/distlib) | `0.3.9` | `0.4.0` |\n| [dulwich](https://github.com/dulwich/dulwich) | `0.24.1` | `0.24.10` |\n| [editorconfig](https://github.com/editorconfig/editorconfig-core-py) | `0.17.0` | `0.17.1` |\n| [fastjsonschema](https://github.com/horejsek/python-fastjsonschema) | `2.21.1` | `2.21.2` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.16.1` | `3.20.0` |\n| [findpython](https://github.com/frostming/findpython) | `0.6.2` | `0.7.1` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2024.12.0` | `2025.12.0` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.1.1` | `3.3.0` |\n| [httptools](https://github.com/MagicStack/httptools) | `0.6.4` | `0.7.1` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.5` | `2.6.15` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.0.0` | `2.3.0` |\n| [jaraco-functools](https://github.com/jaraco/jaraco.functools) | `4.1.0` | `4.3.0` |\n| [jeepney](https://gitlab.com/takluyver/jeepney) | `0.8.0` | `0.9.0` |\n| [jsbeautifier](https://github.com/ghost6991/Jsbeautifier) | `1.15.1` | `1.15.4` |\n| [json5](https://github.com/dpranke/pyjson5) | `0.10.0` | `0.12.1` |\n| [keyring](https://github.com/jaraco/keyring) | `25.6.0` | `25.7.0` |\n| [mako](https://github.com/sqlalchemy/mako) | `1.3.8` | `1.3.10` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [more-itertools](https://github.com/more-itertools/more-itertools) | `10.5.0` | `10.8.0` |\n| [msgpack](https://github.com/msgpack/msgpack-python) | `1.1.0` | `1.1.2` |\n| [packaging](https://github.com/pypa/packaging) | `24.2` | `25.0` |\n| [pbs-installer](https://github.com/frostming/pbs-installer) | `2025.2.12` | `2025.12.5` |\n| [pkginfo](https://code.launchpad.net/~tseaver/pkginfo/trunk) | `1.12.0` | `1.12.1.2` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.3.6` | `4.5.1` |\n| [pluggy](https://github.com/pytest-dev/pluggy) | `1.5.0` | `1.6.0` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.22` | `2.23` |\n| [pycryptodome](https://github.com/Legrandin/pycryptodome) | `3.21.0` | `3.23.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [rapidfuzz](https://github.com/rapidfuzz/RapidFuzz) | `3.11.0` | `3.14.3` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2024.11.6` | `2025.11.3` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [secretstorage](https://github.com/mitya57/secretstorage) | `3.3.3` | `3.5.0` |\n| [starlette](https://github.com/Kludex/starlette) | `0.49.3` | `0.50.0` |\n| [tomlkit](https://github.com/sdispater/tomlkit) | `0.13.2` | `0.13.3` |\n| [trove-classifiers](https://github.com/pypa/trove-classifiers) | `2025.1.6.15` | `2025.12.1.14` |\n| [uvloop](https://github.com/MagicStack/uvloop) | `0.21.0` | `0.22.1` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `20.28.1` | `20.35.4` |\n| [watchfiles](https://github.com/samuelcolvin/watchfiles) | `1.0.3` | `1.1.1` |\n| [websockets](https://github.com/python-websockets/websockets) | `14.1` | `15.0.1` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.0` | `2.0.1` |\n| [xattr](https://github.com/xattr/xattr) | `1.1.4` | `1.3.0` |\n| [zstandard](https://github.com/indygreg/python-zstandard) | `0.23.0` | `0.25.0` |\n\n\nUpdates `fastapi` from 0.121.0 to 0.124.0\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.124.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🚸  Improve tracebacks by adding endpoint metadata. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14306\"\u003e#14306\u003c/a\u003e by \u003ca href=\"https://github.com/savannahostrowski\"\u003e\u003ccode\u003e@​savannahostrowski\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✏️ Fix typo in \u003ccode\u003escripts/mkdocs_hooks.py\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14457\"\u003e#14457\u003c/a\u003e by \u003ca href=\"https://github.com/yujiteshima\"\u003e\u003ccode\u003e@​yujiteshima\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.123.10\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix using class (not instance) dependency that has \u003ccode\u003e__call__\u003c/code\u003e method. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14458\"\u003e#14458\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 \u003ccode\u003eseparate_input_output_schemas=False\u003c/code\u003e with \u003ccode\u003ecomputed_field\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14453\"\u003e#14453\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.123.9\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix OAuth2 scopes in OpenAPI in extra corner cases, parent dependency with scopes, sub-dependency security scheme without scopes. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14459\"\u003e#14459\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.123.8\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix OpenAPI security scheme OAuth2 scopes declaration, deduplicate security schemes with different scopes. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14455\"\u003e#14455\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.123.7\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix evaluating stringified annotations in Python 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/11355\"\u003e#11355\u003c/a\u003e by \u003ca href=\"https://github.com/chaen\"\u003e\u003ccode\u003e@​chaen\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.123.6\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix support for functools wraps and partial combined, for async and regular functions and classes in path operations and dependencies. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14448\"\u003e#14448\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.123.5\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Allow using dependables with \u003ccode\u003efunctools.partial()\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/9753\"\u003e#9753\u003c/a\u003e by \u003ca href=\"https://github.com/lieryan\"\u003e\u003ccode\u003e@​lieryan\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✨ Add support for wrapped functions (e.g. \u003ccode\u003e@functools.wraps()\u003c/code\u003e) used with forward references. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/5077\"\u003e#5077\u003c/a\u003e by \u003ca href=\"https://github.com/lucaswiman\"\u003e\u003ccode\u003e@​lucaswiman\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✨ Handle wrapped dependencies. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/9555\"\u003e#9555\u003c/a\u003e by \u003ca href=\"https://github.com/phy1729\"\u003e\u003ccode\u003e@​phy1729\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix optional sequence handling with new union syntax from Python 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14430\"\u003e#14430\u003c/a\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔥 Remove dangling extra condiitonal no longer needed. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14435\"\u003e#14435\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♻️ Refactor internals, update \u003ccode\u003eis_coroutine\u003c/code\u003e check to reuse internal supported variants (unwrap, check class). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14434\"\u003e#14434\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/b5ca13249e3f2002c70c3f2de528a128af2008f7\"\u003e\u003ccode\u003eb5ca132\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.124.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/a2cef707e30fb6eb14812e4e273e34079d30ae6b\"\u003e\u003ccode\u003ea2cef70\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/5b6245666b8a499d2551caff7567056ef7f881b2\"\u003e\u003ccode\u003e5b62456\u003c/code\u003e\u003c/a\u003e ✏️ Fix typo in \u003ccode\u003escripts/mkdocs_hooks.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14457\"\u003e#14457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/dbd34f15789f4afa851e339cea4fcd49f421039d\"\u003e\u003ccode\u003edbd34f1\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e1117f75505bbdb2d42321a009dbf26c9c2b8b6d\"\u003e\u003ccode\u003ee1117f7\u003c/code\u003e\u003c/a\u003e 🚸  Improve tracebacks by adding endpoint metadata (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14306\"\u003e#14306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/08b09e5236e315b6f10265ed229f130d4befb4ea\"\u003e\u003ccode\u003e08b09e5\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.123.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e7d7038dfa35fc923f20fd11a969d2e65e1b9df1\"\u003e\u003ccode\u003ee7d7038\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/da0ffab0b260475499294d3dc767409d7bca5c34\"\u003e\u003ccode\u003eda0ffab\u003c/code\u003e\u003c/a\u003e 🐛 Fix using class (not instance) dependency that has \u003ccode\u003e__call__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14458\"\u003e#14458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/516169428d2fa189d34318ebc469a082c49c1189\"\u003e\u003ccode\u003e5161694\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/812a1926f06391b22b081fdb11fe7528e3b91293\"\u003e\u003ccode\u003e812a192\u003c/code\u003e\u003c/a\u003e 🐛 Fix \u003ccode\u003eseparate_input_output_schemas=False\u003c/code\u003e with \u003ccode\u003ecomputed_field\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14453\"\u003e#14453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.121.0...0.124.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alembic` from 1.16.5 to 1.17.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/alembic/releases\"\u003ealembic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.17.2\u003c/h1\u003e\n\u003cp\u003eReleased: November 14, 2025\u003c/p\u003e\n\u003ch2\u003efeature\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[feature] [operations]\u003c/strong\u003e Added \u003ccode\u003eOperations.implementation_for.replace\u003c/code\u003e parameter to\n\u003ccode\u003eOperations.implementation_for()\u003c/code\u003e, allowing replacement of existing\noperation implementations.  This allows for existing operations such as\n\u003ccode\u003eCreateTableOp\u003c/code\u003e to be extended directly.  Pull request courtesy\njustanothercatgirl.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1750\"\u003e#1750\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [mssql]\u003c/strong\u003e Fixed issue in SQL Server dialect where the DROP that's automatically\nemitted for existing default constraints during an ALTER COLUMN needs to\ntake place before not just the modification of the column's default, but\nalso before the column's type is changed.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1744\"\u003e#1744\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.17.1\u003c/h1\u003e\n\u003cp\u003eReleased: October 28, 2025\u003c/p\u003e\n\u003ch2\u003eusecase\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[usecase] [commands]\u003c/strong\u003e Added \u003ccode\u003ecommand.current.check_heads\u003c/code\u003e parameter to\n\u003ccode\u003ecommand.current()\u003c/code\u003e command, available from the command line via the\n\u003ccode\u003e--check-heads\u003c/code\u003e option to \u003ccode\u003ealembic current\u003c/code\u003e.  This tests if all head\nrevisions are applied to the database and raises \u003ccode\u003eDatabaseNotAtHead\u003c/code\u003e\n(or from the command line, exits with a non-zero exit code) if this is not\nthe case.  The parameter operates equvialently to the cookbook recipe\n\u003ccode\u003ecookbook_check_heads\u003c/code\u003e. Pull request courtesy Stefan Scherfke.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1705\"\u003e#1705\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[bug] [commands]\u003c/strong\u003e Disallow ':' character in custom revision identifiers. Previously, using a\ncolon in a revision ID (e.g., 'REV:1') would create the revision, however\nrevisions with colons in them are not correctly interpreted by other\ncommands, as it overlaps with the revision range syntax.   Pull request\ncourtesy Kim Wooseok with original implementation by Hrushikesh Patil.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/alembic/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.9 to 2.12.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 2025-11-26\u003c/h2\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.4 2025-11-05\u003c/h2\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method of the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.3 2025-10-17\u003c/h2\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.13 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported \u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.5\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in\n\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/bd2d0dd0137dfa1a8fdff2529b9dfb1547980150\"\u003e\u003ccode\u003ebd2d0dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7d0302ec7ec2cf115de3450a615522875bdd8b56\"\u003e\u003ccode\u003e7d0302e\u003c/code\u003e\u003c/a\u003e Document security implications when using \u003ccode\u003ecreate_model()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e9ef980def726b6f59b6c495ddc9dc259a0228db\"\u003e\u003ccode\u003ee9ef980\u003c/code\u003e\u003c/a\u003e Fix typo in Standard Library Types documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f2c20c00c265a31a13c48f9bae923a87c829952e\"\u003e\u003ccode\u003ef2c20c0\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epydantic-docs\u003c/code\u003e dev dependency, make use of versioning blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a76c1aa26f2d64a3fd080ac515d80832689197e8\"\u003e\u003ccode\u003ea76c1aa\u003c/code\u003e\u003c/a\u003e Update documentation about JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8cbc72ca489891e574fba45238ee8bd4f8e719a2\"\u003e\u003ccode\u003e8cbc72c\u003c/code\u003e\u003c/a\u003e Add documentation about custom \u003ccode\u003e__init__()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/99eba599069da137b3f708ffa74627f2b456ba73\"\u003e\u003ccode\u003e99eba59\u003c/code\u003e\u003c/a\u003e Add additional test for \u003ccode\u003eFieldInfo.get_default()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c71076988e507ea93844c77c3bf0bbb85a5716af\"\u003e\u003ccode\u003ec710769\u003c/code\u003e\u003c/a\u003e Special case \u003ccode\u003eMISSING\u003c/code\u003e sentinel in \u003ccode\u003esmart_deepcopy()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/20a9d771c210fd77d52366ac923258c4c199727f\"\u003e\u003ccode\u003e20a9d77\u003c/code\u003e\u003c/a\u003e Do not delete mock validator/serializer in \u003ccode\u003erebuild_dataclass()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c86515a3a8f2120148fab2eaedd3bc45925779d0\"\u003e\u003ccode\u003ec86515a\u003c/code\u003e\u003c/a\u003e Update parts of the model and \u003ccode\u003erevalidate_instances\u003c/code\u003e documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.9...v2.12.5\"\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.10.1 to 2.12.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.12.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for enum kebab case. 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/686\"\u003epydantic/pydantic-settings#686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd NestedSecretsSettings source by \u003ca href=\"https://github.com/makukha\"\u003e\u003ccode\u003e@​makukha\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/690\"\u003epydantic/pydantic-settings#690\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip non-explicit default values. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/692\"\u003epydantic/pydantic-settings#692\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCoerce env vars if strict is True. 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/693\"\u003epydantic/pydantic-settings#693\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore init kwarg names before returning final state dictionary. 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/700\"\u003epydantic/pydantic-settings#700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python3.9 support 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/699\"\u003epydantic/pydantic-settings#699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt test_protected_namespace_defaults for dev. Pydantic by \u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/637\"\u003epydantic/pydantic-settings#637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.14 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/704\"\u003epydantic/pydantic-settings#704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.12 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/705\"\u003epydantic/pydantic-settings#705\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/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCLI Serialize Support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/643\"\u003epydantic/pydantic-settings#643\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInspect type aliases to determine if an annotation is complex by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;fix: Respect 'cli_parse_args' from model_config with settings_customise_sources (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/611\"\u003e#611\u003c/a\u003e)\u0026quot; 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/655\"\u003epydantic/pydantic-settings#655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove parsing of command line arguments from \u003ccode\u003eCliSettingsSource.__init__\u003c/code\u003e. by \u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eturn off allow_abbrev on subparsers by \u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Serialization Fixes 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/649\"\u003epydantic/pydantic-settings#649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix PydanticModel type checking. 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/659\"\u003epydantic/pydantic-settings#659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid env_prefix falling back to env vars without prefix by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/648\"\u003epydantic/pydantic-settings#648\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn if model_config sets unused keys for missing settings sources by \u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncluded endpoint_url kwarg in AWSSecretsManagerSettingsSource class by \u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo (\u0026quot;Accesing\u0026quot;) in the \u0026quot;Adding sources\u0026quot; docs by \u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Windows Path Fix 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/669\"\u003epydantic/pydantic-settings#669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCli root model support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/677\"\u003epydantic/pydantic-settings#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSnake case conversion in Azure Key Vault by \u003ca href=\"https://github.com/AndreuCodina\"\u003e\u003ccode\u003e@​AndreuCodina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/680\"\u003epydantic/pydantic-settings#680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eInitSettingsSource\u003c/code\u003e resolution deterministic by \u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/683\"\u003epydantic/pydantic-settings#683\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/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/584983d253a0fac4dfb294d1e6f9ef188add468b\"\u003e\u003ccode\u003e584983d\u003c/code\u003e\u003c/a\u003e Prepare release 2.12 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/705\"\u003e#705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/6b4d87e77698476433031c0056ce71aa4f4a7c4e\"\u003e\u003ccode\u003e6b4d87e\u003c/code\u003e\u003c/a\u003e Add Python 3.14 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/704\"\u003e#704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/02de5b622b8648404aa792df01599aa1179c3aa7\"\u003e\u003ccode\u003e02de5b6\u003c/code\u003e\u003c/a\u003e Adapt test_protected_namespace_defaults for dev. Pydantic (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/637\"\u003e#637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4239ea460a5c465a4ce908c52e9606549b38fa98\"\u003e\u003ccode\u003e4239ea4\u003c/code\u003e\u003c/a\u003e Drop Python3.9 support (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/699\"\u003e#699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/5008c694f684f88fd310f476871ec021426e98d7\"\u003e\u003ccode\u003e5008c69\u003c/code\u003e\u003c/a\u003e Restore init kwarg names before returning final state dictionary. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/700\"\u003e#700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4433101fef6770d3fc0844846f7f3837bfec3b10\"\u003e\u003ccode\u003e4433101\u003c/code\u003e\u003c/a\u003e Coerce env vars if strict is True. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4d2ebfd543e6011f6b71a99042007adf7e613ae9\"\u003e\u003ccode\u003e4d2ebfd\u003c/code\u003e\u003c/a\u003e Strip non-explicit default values. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4a6ffcaeae451199b1873c6709b28aceae7317a7\"\u003e\u003ccode\u003e4a6ffca\u003c/code\u003e\u003c/a\u003e Add NestedSecretsSettings source (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/7a6e96ebfc89ddb5b20dfb068c8ed46b6ff18a7f\"\u003e\u003ccode\u003e7a6e96e\u003c/code\u003e\u003c/a\u003e Apply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/68563eddc09856b94ea0ca156dd75040b4e048e4\"\u003e\u003ccode\u003e68563ed\u003c/code\u003e\u003c/a\u003e Support for enum kebab case. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/686\"\u003e#686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2-binary` from 2.9.10 to 2.9.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2-binary's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eFix building when pg_config returns an empty string (:ticket:\u003ccode\u003e[#1599](https://github.com/psycopg/psycopg2/issues/1599)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eWheel package bundled with OpenSSL 1.1.1v.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.6\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/fd9ae8cad2bcfc3e7e9410e7b6f07cda8f4f05ec\"\u003e\u003ccode\u003efd9ae8c\u003c/code\u003e\u003c/a\u003e chore: bump to version 2.9.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d923840546942534f0956d9202f914fd9feac5fd\"\u003e\u003ccode\u003ed923840\u003c/code\u003e\u003c/a\u003e chore: update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d42dc7169d3cd93517e282e9ef5dc2a2b40650a2\"\u003e\u003ccode\u003ed42dc71\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-1791'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4fde6560c32f06ad1304404c9f7f86148dcc4be0\"\u003e\u003ccode\u003e4fde656\u003c/code\u003e\u003c/a\u003e fix: avoid failed assert passing more arguments than placeholders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/8308c19d6af0d904b313997539ed33415990a74e\"\u003e\u003ccode\u003e8308c19\u003c/code\u003e\u003c/a\u003e fix: drop warning about the use of deprecated PyWeakref_GetObject function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1a1eabf098a3374409bb2ab4b594777b900f396d\"\u003e\u003ccode\u003e1a1eabf\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/github-script from 7 to 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/897af8b38beda851d7257dfc525129e37c0ec9e0\"\u003e\u003ccode\u003e897af8b\u003c/code\u003e\u003c/a\u003e build(deps): bump peter-evans/repository-dispatch from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ceefd305117113ca10e383a626e87ba0796f3638\"\u003e\u003ccode\u003eceefd30\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4dc585430cabe94cee96c5a9de0265d0f55370f1\"\u003e\u003ccode\u003e4dc5854\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1945788dcf6172bb1b9328ebc3587ccf0e6a659c\"\u003e\u003ccode\u003e1945788\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1802\"\u003e#1802\u003c/a\u003e from edgarrmondragon/cp314-wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.10...2.9.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.36.0 to 0.38.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.38.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2723\"\u003eKludex/uvicorn#2723\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NGANAMODEIJunior\"\u003e\u003ccode\u003e@​NGANAMODEIJunior\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2713\"\u003eKludex/uvicorn#2713\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.37.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e setting by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2711\"\u003eKludex/uvicorn#2711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e by \u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LincolnPuzey\"\u003e\u003ccode\u003e@​LincolnPuzey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2669\"\u003eKludex/uvicorn#2669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2709\"\u003eKludex/uvicorn#2709\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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.38.0 (October 18, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.1 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/3850ad6520cafb290bd4174fa9c4ca5d33440c82\"\u003e\u003ccode\u003e3850ad6\u003c/code\u003e\u003c/a\u003e Version 0.38.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2733\"\u003e#2733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b3f17a549ec96f57bf4d975145fc58feefdd4e8\"\u003e\u003ccode\u003e9b3f17a\u003c/code\u003e\u003c/a\u003e Support Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/ce79f95d065c053b36449f67b3b2cefee5ecf167\"\u003e\u003ccode\u003ece79f95\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add Marcelo Trylesinski to the license (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2699\"\u003e#2699\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2730\"\u003e#2730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/dbf8797b47c79da542f530f2143b8e851e2388fd\"\u003e\u003ccode\u003edbf8797\u003c/code\u003e\u003c/a\u003e docs: add social icons (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2728\"\u003e#2728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/58f28be98eb95c8cf25905df10997b4af81c23e3\"\u003e\u003ccode\u003e58f28be\u003c/code\u003e\u003c/a\u003e Add section about event loop (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2725\"\u003e#2725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/93d95107490d5ea3693601388d7783c450058271\"\u003e\u003ccode\u003e93d9510\u003c/code\u003e\u003c/a\u003e Bump docs dependencies (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2724\"\u003e#2724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b1c6c45ed7fe8bd485ddad475f0feff03971af7\"\u003e\u003ccode\u003e9b1c6c4\u003c/code\u003e\u003c/a\u003e Move Marcelo Trylesinski to maintainers in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2719\"\u003e#2719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/57a61d86f2f123b1d35b9ff71e0f29d22d10806f\"\u003e\u003ccode\u003e57a61d8\u003c/code\u003e\u003c/a\u003e Add discord to README (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2718\"\u003e#2718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7ef5f9f5e7e79887b4ab4214c15ab5a9ce63e193\"\u003e\u003ccode\u003e7ef5f9f\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from 6.7.0 to 6.8.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2717\"\u003e#2717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/6d26d88970379cbf20b4dbf4f70e27f191db4ede\"\u003e\u003ccode\u003e6d26d88\u003c/code\u003e\u003c/a\u003e Update pyproject.toml for PEP639 compliance (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2713\"\u003e#2713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.0...0.38.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyyaml` from 6.0.2 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yaml/pyyaml/releases\"\u003epyyaml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14 and free-threading (experimental).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\u003ehttps://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\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/yaml/pyyaml/blob/6.0.3/CHANGES\"\u003epyyaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e6.0.3 (2025-09-25)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/yaml/pyyaml/pull/864\"\u003eyaml/pyyaml#864\u003c/a\u003e -- Support for Python 3.14 and free-threading (experimental)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yaml/pyyaml/commit/49790e73684bebad1df05ef8d828fa12f685bffb\"\u003e\u003ccode\u003e49790e7\u003c/code\u003e\u003c/a\u003e Release 6.0.3 (\u003ca href=\"https://redirect.github.com/yaml/pyyaml/issues/889\"\u003e#889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\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.0 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5a085468\"\u003e\u003ccode\u003ebd131e1\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0b5c6b75f617e6ee2f9f6dcd071b8a4bf183d1ed\"\u003e\u003ccode\u003e0b5c6b7\u003c/code\u003e\u003c/a\u003e Add Best practices section  (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3127\"\u003e#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.3.0...8.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.43 to 2.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.44\u003c/h1\u003e\n\u003cp\u003eReleased: October 10, 2025\u003c/p\u003e\n\u003ch2\u003eplatform\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[platform] [bug]\u003c/strong\u003e Unblocked automatic greenlet installation for Python 3.14 now that\nthere are greenlet wheels on pypi for python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [usecase]\u003c/strong\u003e The way ORM Annotated Declarative interprets Python \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type aliases\nin \u003ccode\u003eMapped[]\u003c/code\u003e annotations has been refined to expand the lookup scheme. A\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type can now be resolved based on either its direct presence in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e or its immediate resolved\nvalue, as long as a recursive lookup across multiple \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types is\nnot required for it to resolve. This change reverses part of the\nrestrictions introduced in 2.0.37 as part of \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/11955\"\u003e#11955\u003c/a\u003e, which\ndeprecated (and disallowed in 2.1) the ability to resolve any \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e\ntype that was not explicitly present in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e. Recursive lookups of\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types remains deprecated in 2.0 and disallowed in version 2.1,\nas do implicit lookups of \u003ccode\u003eNewType\u003c/code\u003e types without an entry in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAdditionally, new support has been added for generic \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e aliases that\nrefer to \u003ca href=\"https://peps.python.org/pep-0593\"\u003ePEP 593\u003c/a\u003e \u003ccode\u003eAnnotated\u003c/code\u003e constructs containing\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e configurations. See the sections below for\nexamples.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12829\"\u003e#12829\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed a caching issue where \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e would\nincorrectly reuse cached bound parameter values when used with\n\u003ccode\u003e_sql.CompoundSelect\u003c/code\u003e constructs such as \u003ccode\u003e_sql.union()\u003c/code\u003e. The\nissue was caused by the cache key for compound selects not including the\nexecution options that are part of the \u003ccode\u003e_sql.Executable\u003c/code\u003e base class,\nwhich \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e uses to apply its criteria\ndynamically. The fix ensures that compound selects and other executable\nconstructs properly include execution options in their cache key traversal.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12905\"\u003e#12905\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[engine] [bug]\u003c/strong\u003e Implemented initial support for free-threaded Python by adding new tests\nand reworking the test harness to include Python 3.13t and Python 3.14t in\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `asyncpg` from 0.30.0 to 0.31.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/MagicStack/asyncpg/releases\"\u003easyncpg's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.31.0\u003c/h2\u003e\n\u003cp\u003eEnable Python 3.14 with experimental subinterpreter/freethreading\nsupport.\u003c/p\u003e\n\u003ch1\u003eImprovements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Python 3.14 support, experimental subinterpreter/freethreading support (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1279\"\u003e#1279\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 9e42642b)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid performing type introspection on known types (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1243\"\u003e#1243\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 5c9986c4)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003eprepare()\u003c/code\u003e not use named statements by default when cache is disabled (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1245\"\u003e#1245\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 5b14653e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement connection service file functionality (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1223\"\u003e#1223\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/AndrewJackson2020\"\u003e\u003ccode\u003e@​AndrewJackson2020\u003c/code\u003e\u003c/a\u003e in 1d63bb15)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix multi port connection string issue (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1222\"\u003e#1222\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/AndrewJackson2020\"\u003e\u003ccode\u003e@​AndrewJackson2020\u003c/code\u003e\u003c/a\u003e in 01c0db7b)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid leaking connections if _can_use_connection fails (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1269\"\u003e#1269\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/yuliy-openai\"\u003e\u003ccode\u003e@​yuliy-openai\u003c/code\u003e\u003c/a\u003e in e94302d2)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eOther\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for EOL Python 3.8 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1281\"\u003e#1281\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 6c2c4904)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/71775a67277fc0aa5bd2b9f15e848826d7078c4d\"\u003e\u003ccode\u003e71775a6\u003c/code\u003e\u003c/a\u003e asyncpg v0.31.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/508cae6441968ef7613a623fece7083cce66c2b3\"\u003e\u003ccode\u003e508cae6\u003c/code\u003e\u003c/a\u003e Test on PostgreSQL 18 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/e534e5f15c73525a6509143b3828335517360f1b\"\u003e\u003ccode\u003ee534e5f\u003c/code\u003e\u003c/a\u003e Bump cibuildwheel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/07fe5122a680f5768e39fc28d68c94b185037a52\"\u003e\u003ccode\u003e07fe512\u003c/code\u003e\u003c/a\u003e Bump pgproto\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/648b35f18199ebf2a30009376a6e9060cf7ad789\"\u003e\u003ccode\u003e648b35f\u003c/code\u003e\u003c/a\u003e Bump Cython to 3.2.1 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1288\"\u003e#1288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/9e42642b9110d206706697921b6e697a0972649d\"\u003e\u003ccode\u003e9e42642\u003c/code\u003e\u003c/a\u003e Add Python 3.14 support, experimental subinterpreter/freethreading support (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/6fe1c494ef5c3069fa9149c48bf9f8f2cd69f95e\"\u003e\u003ccode\u003e6fe1c49\u003c/code\u003e\u003c/a\u003e Move development deps away from extras and into dependency groups (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1280\"\u003e#1280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/7a548166c2b23561915c481bd332013e3a415cfb\"\u003e\u003ccode\u003e7a54816\u003c/code\u003e\u003c/a\u003e Fix a couple of missed Python version guards\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/6c2c4904e61b2cd2f502540730a24e246cff2ebd\"\u003e\u003ccode\u003e6c2c490\u003c/code\u003e\u003c/a\u003e Drop support for EOL Python 3.8 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1281\"\u003e#1281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/4c60ae890d1f3800f889679657357f91a6923568\"\u003e\u003ccode\u003e4c60ae8\u003c/code\u003e\u003c/a\u003e Bump version to 0.31.0.dev0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/MagicStack/asyncpg/compare/v0.30.0...v0.31.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minio` from 7.2.16 to 7.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minio/minio-py/releases\"\u003eminio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBugfix Release 7.2.20\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable github CI run by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1543\"\u003eminio/minio-py#1543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake BaseException internals to be set (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1521\"\u003e#1521\u003c/a\u003e) by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1539\"\u003eminio/minio-py#1539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Add missing type annotations to serialization dataclass fields (… by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1540\"\u003eminio/minio-py#1540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport optional parameters in LdapIdentityProvider (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1528\"\u003e#1528\u003c/a\u003e) by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1541\"\u003eminio/minio-py#1541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix object_size/headers in ComposeSource by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1545\"\u003eminio/minio-py#1545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix complete_multipart_upload() to support SSE-C by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1544\"\u003eminio/minio-py#1544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.18...7.2.20\"\u003ehttps://github.com/minio/minio-py/compare/7.2.18...7.2.20\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eBugfix release 7.2.19\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd region, extra_headers and extra_query_params by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca hre...\n\n_Description has been truncated_","html_url":"https://github.com/MinBZK/amt/pull/623","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MinBZK%2Famt/issues/623","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/623/packages"},{"uuid":"3679027978","node_id":"PR_kwDOL3PqEc62PcvU","number":708,"state":"open","title":"chore(deps): bump the python-dependencies group with 23 updates","user":"dependabot[bot]","labels":["security","backend","dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-01T03:11:02.000Z","updated_at":"2025-12-15T04:09:34.886Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-dependencies","update_count":23,"packages":[{"name":"minio","old_version":"7.2.19","new_version":"7.2.20","repository_url":"https://github.com/minio/minio-py"},{"name":"ruff","old_version":"0.14.6","new_version":"0.14.7","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/python/mypy"},{"name":"pylint","old_version":"4.0.3","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"fastapi","old_version":"0.122.0","new_version":"0.123.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"pydantic-settings","old_version":"2.6.1","new_version":"2.12.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"pymilvus","old_version":"2.4.9","new_version":"2.6.4","repository_url":"https://github.com/milvus-io/pymilvus"},{"name":"scikit-learn","old_version":"1.6.0","new_version":"1.7.2","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"weaviate-client","old_version":"4.16.9","new_version":"4.18.1","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"sqlalchemy","old_version":"2.0.36","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"pandas","old_version":"2.1.4","new_version":"2.2.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pymupdf","old_version":"1.25.0","new_version":"1.26.6","repository_url":"https://github.com/pymupdf/pymupdf"},{"name":"chromadb","old_version":"1.2.0","new_version":"1.3.5","repository_url":"https://github.com/chroma-core/chroma"},{"name":"ibm-watsonx-ai","old_version":"1.3.37","new_version":"1.4.7"},{"name":"json-repair","old_version":"0.30.3","new_version":"0.54.2","repository_url":"https://github.com/mangiucugna/json_repair"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"psutil","old_version":"7.0.0","new_version":"7.1.3","repository_url":"https://github.com/giampaolo/psutil"},{"name":"docling","old_version":"2.55.0","new_version":"2.63.0","repository_url":"https://github.com/docling-project/docling"},{"name":"transformers","old_version":"4.57.1","new_version":"4.57.3","repository_url":"https://github.com/huggingface/transformers"},{"name":"spacy","old_version":"3.8.7","new_version":"3.8.11","repository_url":"https://github.com/explosion/spaCy"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 23 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [minio](https://github.com/minio/minio-py) | `7.2.19` | `7.2.20` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.6` | `0.14.7` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.0` |\n| [pylint](https://github.com/pylint-dev/pylint) | `4.0.3` | `4.0.4` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.122.0` | `0.123.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.38.0` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.6.1` | `2.12.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [pymilvus](https://github.com/milvus-io/pymilvus) | `2.4.9` | `2.6.4` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.0` | `1.7.2` |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.16.9` | `4.18.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.36` | `2.0.44` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.1.4` | `2.2.3` |\n| [pymupdf](https://github.com/pymupdf/pymupdf) | `1.25.0` | `1.26.6` |\n| [chromadb](https://github.com/chroma-core/chroma) | `1.2.0` | `1.3.5` |\n| [ibm-watsonx-ai](https://ibm.github.io/watsonx-ai-python-sdk) | `1.3.37` | `1.4.7` |\n| [json-repair](https://github.com/mangiucugna/json_repair) | `0.30.3` | `0.54.2` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.1.3` |\n| [docling](https://github.com/docling-project/docling) | `2.55.0` | `2.63.0` |\n| [transformers](https://github.com/huggingface/transformers) | `4.57.1` | `4.57.3` |\n| [spacy](https://github.com/explosion/spaCy) | `3.8.7` | `3.8.11` |\n\nUpdates `minio` from 7.2.19 to 7.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minio/minio-py/releases\"\u003eminio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBugfix Release 7.2.20\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable github CI run by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1543\"\u003eminio/minio-py#1543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake BaseException internals to be set (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1521\"\u003e#1521\u003c/a\u003e) by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1539\"\u003eminio/minio-py#1539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Add missing type annotations to serialization dataclass fields (… by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1540\"\u003eminio/minio-py#1540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport optional parameters in LdapIdentityProvider (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1528\"\u003e#1528\u003c/a\u003e) by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1541\"\u003eminio/minio-py#1541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix object_size/headers in ComposeSource by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1545\"\u003eminio/minio-py#1545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix complete_multipart_upload() to support SSE-C by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1544\"\u003eminio/minio-py#1544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.18...7.2.20\"\u003ehttps://github.com/minio/minio-py/compare/7.2.18...7.2.20\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/minio/minio-py/commit/f671ca948b35978c39a3100e4ae0e9b93416b911\"\u003e\u003ccode\u003ef671ca9\u003c/code\u003e\u003c/a\u003e Update version to next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/53c8c93f78acae9bfbd48974e8de82f831e74927\"\u003e\u003ccode\u003e53c8c93\u003c/code\u003e\u003c/a\u003e fix complete_multipart_upload() to support SSE-C (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/27997bdc71e0360ca5dabf87193b5bde2be38e31\"\u003e\u003ccode\u003e27997bd\u003c/code\u003e\u003c/a\u003e fix object_size/headers in ComposeSource (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1545\"\u003e#1545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/dd17dfb9bc5482a160f667ece87c128fa9cd9fe7\"\u003e\u003ccode\u003edd17dfb\u003c/code\u003e\u003c/a\u003e support optional parameters in LdapIdentityProvider (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1528\"\u003e#1528\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/4170c34351595f0890e4b7d2dfbc03cccc401e3b\"\u003e\u003ccode\u003e4170c34\u003c/code\u003e\u003c/a\u003e Fix: Add missing type annotations to serialization dataclass fields (… (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/da273039c52a48f838f74a83520d59d5a3c12adf\"\u003e\u003ccode\u003eda27303\u003c/code\u003e\u003c/a\u003e Make BaseException internals to be set (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1521\"\u003e#1521\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/535ac42819272894e030a390904f917dd5ec675d\"\u003e\u003ccode\u003e535ac42\u003c/code\u003e\u003c/a\u003e Enable github CI run (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.19...7.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.6 to 0.14.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.7\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Handle string literal bindings in suspicious-url-open-usage (\u003ccode\u003eS310\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21469\"\u003e#21469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR1708\u003c/code\u003e false positives on nested functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21177\"\u003e#21177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix suppression for empty dict without tuple key annotation (\u003ccode\u003ePLE1141\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21290\"\u003e#21290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add rule \u003ccode\u003eRUF066\u003c/code\u003e to detect unnecessary class properties (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21535\"\u003e#21535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Catch more dummy variable uses (\u003ccode\u003eRUF052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19799\"\u003e#19799\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[server] Set severity for non-rule diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21559\"\u003e#21559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-implicit-str-concat\u003c/code\u003e] Avoid invalid fix in (\u003ccode\u003eISC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21517\"\u003e#21517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eparser\u003c/code\u003e] Fix panic when parsing IPython escape command expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21480\"\u003e#21480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow partial fixability indicator in statistics output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21513\"\u003e#21513\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/mikeleppane\"\u003e\u003ccode\u003e@​mikeleppane\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/senekor\"\u003e\u003ccode\u003e@​senekor\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShaharNaveh\"\u003e\u003ccode\u003e@​ShaharNaveh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JumboBear\"\u003e\u003ccode\u003e@​JumboBear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tsvikas\"\u003e\u003ccode\u003e@​tsvikas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.7\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.14.7/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.14.7/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.7\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Handle string literal bindings in suspicious-url-open-usage (\u003ccode\u003eS310\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21469\"\u003e#21469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR1708\u003c/code\u003e false positives on nested functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21177\"\u003e#21177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix suppression for empty dict without tuple key annotation (\u003ccode\u003ePLE1141\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21290\"\u003e#21290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add rule \u003ccode\u003eRUF066\u003c/code\u003e to detect unnecessary class properties (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21535\"\u003e#21535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Catch more dummy variable uses (\u003ccode\u003eRUF052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19799\"\u003e#19799\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[server] Set severity for non-rule diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21559\"\u003e#21559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-implicit-str-concat\u003c/code\u003e] Avoid invalid fix in (\u003ccode\u003eISC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21517\"\u003e#21517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eparser\u003c/code\u003e] Fix panic when parsing IPython escape command expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21480\"\u003e#21480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow partial fixability indicator in statistics output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21513\"\u003e#21513\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/mikeleppane\"\u003e\u003ccode\u003e@​mikeleppane\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/senekor\"\u003e\u003ccode\u003e@​senekor\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShaharNaveh\"\u003e\u003ccode\u003e@​ShaharNaveh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JumboBear\"\u003e\u003ccode\u003e@​JumboBear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tsvikas\"\u003e\u003ccode\u003e@​tsvikas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\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/blockquote\u003e\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/ecab623fb2fe3846de4cafa0dfef0385a7245941\"\u003e\u003ccode\u003eecab623\u003c/code\u003e\u003c/a\u003e Bump 0.14.7 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21684\"\u003e#21684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/42f152108aad444b7d65359aea931be4dd15dffd\"\u003e\u003ccode\u003e42f1521\u003c/code\u003e\u003c/a\u003e [ty] Generic types aliases (implicit and PEP 613) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21553\"\u003e#21553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/594b7b04d3b04bcf42861f86207017c8117678ca\"\u003e\u003ccode\u003e594b7b0\u003c/code\u003e\u003c/a\u003e [ty] Preserve quoting style when autofixing \u003ccode\u003eTypedDict\u003c/code\u003e keys (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21682\"\u003e#21682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b5b4917d7f4a324f5d32cc55dfb1d08e75cc9e6f\"\u003e\u003ccode\u003eb5b4917\u003c/code\u003e\u003c/a\u003e [ty] Fix override of final method summary (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21681\"\u003e#21681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0084e94f78742685ddacf2dab28530c2ece3393e\"\u003e\u003ccode\u003e0084e94\u003c/code\u003e\u003c/a\u003e [ty] Fix subtyping of \u003ccode\u003etype[Any]\u003c/code\u003e / \u003ccode\u003etype[T]\u003c/code\u003e and protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21678\"\u003e#21678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/566c959add8c5aa5d25fd14db513c792e4048b50\"\u003e\u003ccode\u003e566c959\u003c/code\u003e\u003c/a\u003e [ty] Rename \u003ccode\u003eReferenceRequestHandler\u003c/code\u003e file (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21680\"\u003e#21680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8bcfc198b83051db0c8a3c7b8f0c8a8c339947c7\"\u003e\u003ccode\u003e8bcfc19\u003c/code\u003e\u003c/a\u003e [ty] Implement \u003ccode\u003etyping.final\u003c/code\u003e for methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21646\"\u003e#21646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c534bfaf01671b8020edd440bc7f4f22070af583\"\u003e\u003ccode\u003ec534bfa\u003c/code\u003e\u003c/a\u003e [ty] Implement patterns and typevars in the LSP (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21671\"\u003e#21671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5e1b2eef5797b00de8329bf38ceacf5cacd00c87\"\u003e\u003ccode\u003e5e1b2ee\u003c/code\u003e\u003c/a\u003e [ty] implement rendering of \u003ccode\u003e.. code:: lang\u003c/code\u003e in docstrings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21665\"\u003e#21665\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/98681b9356bd0b8ef086cc54118b58de532c5310\"\u003e\u003ccode\u003e98681b9\u003c/code\u003e\u003c/a\u003e [ty] Add \u003ccode\u003edb\u003c/code\u003e parameter to \u003ccode\u003eParameters::new\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21674\"\u003e#21674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.6...0.14.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.18.2 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch3\u003eDrop Support for Python 3.9\u003c/h3\u003e\n\u003cp\u003eMypy no longer supports running with Python 3.9, which has reached end-of-life.\nWhen running mypy with Python 3.10+, it is still possible to type check code\nthat needs to support Python 3.9 with the \u003ccode\u003e--python-version 3.9\u003c/code\u003e argument.\nSupport for this will be dropped in the first half of 2026!\u003c/p\u003e\n\u003cp\u003eContributed by Marc Mueller (PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20156\"\u003e20156\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eMypy 1.19\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.19.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Support Ending Soon\u003c/h3\u003e\n\u003cp\u003eThis is the last mypy feature release that supports Python 3.9, which reached\nend of life in October 2025.\u003c/p\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to a more dynamic SCC processing logic (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20053\"\u003e20053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up type aliases (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19810\"\u003e19810\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed‑Format Cache Improvements\u003c/h3\u003e\n\u003cp\u003eMypy uses a cache by default to speed up incremental runs by reusing partial results\nfrom earlier runs. Mypy 1.18 added a new binary fixed-format cache representation as\nan experimental feature. The feature is no longer experimental, and we are planning\nto enable it by default in a future mypy release (possibly 1.20), since it's faster\nand uses less space than the original, JSON-based cache format. Use\n\u003ccode\u003e--fixed-format-cache\u003c/code\u003e to enable the fixed-format cache.\u003c/p\u003e\n\u003cp\u003eMypy now has an extra dependency on the \u003ccode\u003elibrt\u003c/code\u003e PyPI package, as it's needed for\ncache serialization and deserialization.\u003c/p\u003e\n\u003cp\u003eMypy ships with a tool to convert fixed-format cache files to the old JSON format.\nExample of how to use this:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$ python -m mypy.exportjson .mypy_cache/.../my_module.data.ff\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/0f068c9ec604daa09e69c92545b059f4b44f566e\"\u003e\u003ccode\u003e0f068c9\u003c/code\u003e\u003c/a\u003e Remove +dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/6d5cf52e67da306b62455cdce4ce9a9ccec35d02\"\u003e\u003ccode\u003e6d5cf52\u003c/code\u003e\u003c/a\u003e Various updates to 1.19 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3c813083b27c87cf3a32e7422191b02bf59fab6e\"\u003e\u003ccode\u003e3c81308\u003c/code\u003e\u003c/a\u003e Add draft version of 1.19 release notes (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20296\"\u003e#20296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1999a20e9898f673fa2f4c9a91790c075141ba71\"\u003e\u003ccode\u003e1999a20\u003c/code\u003e\u003c/a\u003e [mypyc] librt base64: use existing SIMD CPU dispatch by customizing build fla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1b94fbb9fbc581de7e057d71e9892e3acbf9a7d3\"\u003e\u003ccode\u003e1b94fbb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix vtable pointer with inherited dunder new (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/13369cb25fe450f755f63e59156b86df84c08b3d\"\u003e\u003ccode\u003e13369cb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix crash on super in generator (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20291\"\u003e#20291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a087a5894935cfdbc2eba27a6d04ebca38fd6659\"\u003e\u003ccode\u003ea087a58\u003c/code\u003e\u003c/a\u003e Update import map when new modules added (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20271\"\u003e#20271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/35e843cc38cedc1bdf87d9937c06d51189ad0e45\"\u003e\u003ccode\u003e35e843c\u003c/code\u003e\u003c/a\u003e [mypyc] Add efficient librt.base64.b64decode (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/094f66dc742cec2d69add9296fb21cdef50624d0\"\u003e\u003ccode\u003e094f66d\u003c/code\u003e\u003c/a\u003e [mypyc] Add \u003cstrong\u003erepr\u003c/strong\u003e to AssignmentTarget subclasses (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0738db3f9d336622923c7ee143e1c3adf7600a31\"\u003e\u003ccode\u003e0738db3\u003c/code\u003e\u003c/a\u003e Do not push partial types to the binder (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20202\"\u003e#20202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.18.2...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pylint` from 4.0.3 to 4.0.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/e16f942166511d6fb4427e503a734152fae0c4fe\"\u003e\u003ccode\u003ee16f942\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/657b386c0a83202faa95c9a525b8feb80a4c11ab\"\u003e\u003ccode\u003e657b386\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [invalid-name] Fix FP for exclusive assignment o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/03f8a922a2eabe5b517457807cc992e122dcc9c0\"\u003e\u003ccode\u003e03f8a92\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix: avoid false positive when module-level name...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pylint-dev/pylint/compare/v4.0.3...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.122.0 to 0.123.0\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.123.0\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Cache dependencies that don't use scopes and don't have sub-dependencies with scopes. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14419\"\u003e#14419\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.122.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix hierarchical security scope propagation. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/5624\"\u003e#5624\u003c/a\u003e by \u003ca href=\"https://github.com/kristjanvalur\"\u003e\u003ccode\u003e@​kristjanvalur\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💅 Update CSS to explicitly use emoji font. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14415\"\u003e#14415\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 markdown-include-variants from 0.0.5 to 0.0.6. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14418\"\u003e#14418\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/blockquote\u003e\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/f2bab952678f301349c9805dd576af9425a95953\"\u003e\u003ccode\u003ef2bab95\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.123.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c38e3e0108852f0dfec0e9bb5fec7b3ccf7ddad3\"\u003e\u003ccode\u003ec38e3e0\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7fbd30460f480e90faf321b9158bffb5116000d5\"\u003e\u003ccode\u003e7fbd304\u003c/code\u003e\u003c/a\u003e 🐛 Cache dependencies that don't use scopes and don't have sub-dependencies wi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/63d7a2b9978258d13dfc22664e60fc2110d30e20\"\u003e\u003ccode\u003e63d7a2b\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.122.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7681f2904d2f902057e357c107adf39ecfb14ea9\"\u003e\u003ccode\u003e7681f29\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/378ad688b7e57efb190506b3b36be65eb8ad5e6f\"\u003e\u003ccode\u003e378ad68\u003c/code\u003e\u003c/a\u003e 🐛 Fix hierarchical security scope propagation (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/5624\"\u003e#5624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c6487ed632056e450d844846a1b63be551a3cbc6\"\u003e\u003ccode\u003ec6487ed\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/62a69740041726b8c27815f6246272db5ebf7ee5\"\u003e\u003ccode\u003e62a6974\u003c/code\u003e\u003c/a\u003e ⬆ Bump markdown-include-variants from 0.0.5 to 0.0.6 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14418\"\u003e#14418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/998288261af114efd39fb2061ed7ceba32f8699f\"\u003e\u003ccode\u003e9982882\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8ab7167eaf046fb1c7a700dd72e773bb16e7d88f\"\u003e\u003ccode\u003e8ab7167\u003c/code\u003e\u003c/a\u003e 💅 Update CSS to explicitly use emoji font (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14415\"\u003e#14415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.122.0...0.123.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.35.0 to 0.38.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.38.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2723\"\u003eKludex/uvicorn#2723\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NGANAMODEIJunior\"\u003e\u003ccode\u003e@​NGANAMODEIJunior\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2713\"\u003eKludex/uvicorn#2713\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.37.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e setting by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2711\"\u003eKludex/uvicorn#2711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e by \u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LincolnPuzey\"\u003e\u003ccode\u003e@​LincolnPuzey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2669\"\u003eKludex/uvicorn#2669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2709\"\u003eKludex/uvicorn#2709\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs by \u003ca href=\"https://github.com/gnir-work\"\u003e\u003ccode\u003e@​gnir-work\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2435\"\u003eKludex/uvicorn#2435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to provide importable string in \u003ccode\u003e--http\u003c/code\u003e, \u003ccode\u003e--ws\u003c/code\u003e and \u003ccode\u003e--loop\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2658\"\u003eKludex/uvicorn#2658\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnir-work\"\u003e\u003ccode\u003e@​gnir-work\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2435\"\u003eKludex/uvicorn#2435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2659\"\u003eKludex/uvicorn#2659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secrett2633\"\u003e\u003ccode\u003e@​secrett2633\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2684\"\u003eKludex/uvicorn#2684\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.35.0...0.36.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.35.0...0.36.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.38.0 (October 18, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.1 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.0 (September 20, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2435\"\u003e#2435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow to provide importable string in \u003ccode\u003e--http\u003c/code\u003e, \u003ccode\u003e--ws\u003c/code\u003e and \u003ccode\u003e--loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2658\"\u003e#2658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/3850ad6520cafb290bd4174fa9c4ca5d33440c82\"\u003e\u003ccode\u003e3850ad6\u003c/code\u003e\u003c/a\u003e Version 0.38.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2733\"\u003e#2733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b3f17a549ec96f57bf4d975145fc58feefdd4e8\"\u003e\u003ccode\u003e9b3f17a\u003c/code\u003e\u003c/a\u003e Support Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/ce79f95d065c053b36449f67b3b2cefee5ecf167\"\u003e\u003ccode\u003ece79f95\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add Marcelo Trylesinski to the license (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2699\"\u003e#2699\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2730\"\u003e#2730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/dbf8797b47c79da542f530f2143b8e851e2388fd\"\u003e\u003ccode\u003edbf8797\u003c/code\u003e\u003c/a\u003e docs: add social icons (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2728\"\u003e#2728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/58f28be98eb95c8cf25905df10997b4af81c23e3\"\u003e\u003ccode\u003e58f28be\u003c/code\u003e\u003c/a\u003e Add section about event loop (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2725\"\u003e#2725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/93d95107490d5ea3693601388d7783c450058271\"\u003e\u003ccode\u003e93d9510\u003c/code\u003e\u003c/a\u003e Bump docs dependencies (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2724\"\u003e#2724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b1c6c45ed7fe8bd485ddad475f0feff03971af7\"\u003e\u003ccode\u003e9b1c6c4\u003c/code\u003e\u003c/a\u003e Move Marcelo Trylesinski to maintainers in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2719\"\u003e#2719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/57a61d86f2f123b1d35b9ff71e0f29d22d10806f\"\u003e\u003ccode\u003e57a61d8\u003c/code\u003e\u003c/a\u003e Add discord to README (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2718\"\u003e#2718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7ef5f9f5e7e79887b4ab4214c15ab5a9ce63e193\"\u003e\u003ccode\u003e7ef5f9f\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from 6.7.0 to 6.8.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2717\"\u003e#2717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/6d26d88970379cbf20b4dbf4f70e27f191db4ede\"\u003e\u003ccode\u003e6d26d88\u003c/code\u003e\u003c/a\u003e Update pyproject.toml for PEP639 compliance (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2713\"\u003e#2713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.35.0...0.38.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-settings` from 2.6.1 to 2.12.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.12.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for enum kebab case. 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/686\"\u003epydantic/pydantic-settings#686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd NestedSecretsSettings source by \u003ca href=\"https://github.com/makukha\"\u003e\u003ccode\u003e@​makukha\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/690\"\u003epydantic/pydantic-settings#690\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip non-explicit default values. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/692\"\u003epydantic/pydantic-settings#692\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCoerce env vars if strict is True. 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/693\"\u003epydantic/pydantic-settings#693\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore init kwarg names before returning final state dictionary. 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/700\"\u003epydantic/pydantic-settings#700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python3.9 support 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/699\"\u003epydantic/pydantic-settings#699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt test_protected_namespace_defaults for dev. Pydantic by \u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/637\"\u003epydantic/pydantic-settings#637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.14 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/704\"\u003epydantic/pydantic-settings#704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.12 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/705\"\u003epydantic/pydantic-settings#705\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/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCLI Serialize Support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/643\"\u003epydantic/pydantic-settings#643\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInspect type aliases to determine if an annotation is complex by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;fix: Respect 'cli_parse_args' from model_config with settings_customise_sources (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/611\"\u003e#611\u003c/a\u003e)\u0026quot; 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/655\"\u003epydantic/pydantic-settings#655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove parsing of command line arguments from \u003ccode\u003eCliSettingsSource.__init__\u003c/code\u003e. by \u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eturn off allow_abbrev on subparsers by \u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Serialization Fixes 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/649\"\u003epydantic/pydantic-settings#649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix PydanticModel type checking. 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/659\"\u003epydantic/pydantic-settings#659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid env_prefix falling back to env vars without prefix by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/648\"\u003epydantic/pydantic-settings#648\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn if model_config sets unused keys for missing settings sources by \u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncluded endpoint_url kwarg in AWSSecretsManagerSettingsSource class by \u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo (\u0026quot;Accesing\u0026quot;) in the \u0026quot;Adding sources\u0026quot; docs by \u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Windows Path Fix 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/669\"\u003epydantic/pydantic-settings#669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCli root model support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/677\"\u003epydantic/pydantic-settings#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSnake case conversion in Azure Key Vault by \u003ca href=\"https://github.com/AndreuCodina\"\u003e\u003ccode\u003e@​AndreuCodina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/680\"\u003epydantic/pydantic-settings#680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eInitSettingsSource\u003c/code\u003e resolution deterministic by \u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/683\"\u003epydantic/pydantic-settings#683\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/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.10.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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/584983d253a0fac4dfb294d1e6f9ef188add468b\"\u003e\u003ccode\u003e584983d\u003c/code\u003e\u003c/a\u003e Prepare release 2.12 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/705\"\u003e#705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/6b4d87e77698476433031c0056ce71aa4f4a7c4e\"\u003e\u003ccode\u003e6b4d87e\u003c/code\u003e\u003c/a\u003e Add Python 3.14 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/704\"\u003e#704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/02de5b622b8648404aa792df01599aa1179c3aa7\"\u003e\u003ccode\u003e02de5b6\u003c/code\u003e\u003c/a\u003e Adapt test_protected_namespace_defaults for dev. Pydantic (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/637\"\u003e#637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4239ea460a5c465a4ce908c52e9606549b38fa98\"\u003e\u003ccode\u003e4239ea4\u003c/code\u003e\u003c/a\u003e Drop Python3.9 support (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/699\"\u003e#699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/5008c694f684f88fd310f476871ec021426e98d7\"\u003e\u003ccode\u003e5008c69\u003c/code\u003e\u003c/a\u003e Restore init kwarg names before returning final state dictionary. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/700\"\u003e#700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4433101fef6770d3fc0844846f7f3837bfec3b10\"\u003e\u003ccode\u003e4433101\u003c/code\u003e\u003c/a\u003e Coerce env vars if strict is True. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4d2ebfd543e6011f6b71a99042007adf7e613ae9\"\u003e\u003ccode\u003e4d2ebfd\u003c/code\u003e\u003c/a\u003e Strip non-explicit default values. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4a6ffcaeae451199b1873c6709b28aceae7317a7\"\u003e\u003ccode\u003e4a6ffca\u003c/code\u003e\u003c/a\u003e Add NestedSecretsSettings source (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/7a6e96ebfc89ddb5b20dfb068c8ed46b6ff18a7f\"\u003e\u003ccode\u003e7a6e96e\u003c/code\u003e\u003c/a\u003e Apply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/68563eddc09856b94ea0ca156dd75040b4e048e4\"\u003e\u003ccode\u003e68563ed\u003c/code\u003e\u003c/a\u003e Support for enum kebab case. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/686\"\u003e#686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.6.1...v2.12.0\"\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.1\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.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env 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/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\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.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff 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/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() 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/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) 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/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini 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/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory 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/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml 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/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure find_dotenv 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/pull/563\"\u003etheskumar/python-dotenv#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): issue with execvpe on Windows by \u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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.1.0...v1.1.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a security policy 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/512\"\u003etheskumar/python-dotenv#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep GitHub Actions up to date with GitHub's Dependabot by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/506\"\u003etheskumar/python-dotenv#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix multiline string in test.yml \u0026amp; use fail-fast strategy by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/514\"\u003etheskumar/python-dotenv#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance dotenv run: Switch to execvpe for better resource management and signal handling by \u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/523\"\u003etheskumar/python-dotenv#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add py3.13 to test.yml by \u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/527\"\u003etheskumar/python-dotenv#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.13 trove classifier by \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/535\"\u003etheskumar/python-dotenv#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/529\"\u003etheskumar/python-dotenv#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.13 and drop 3.8 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/551\"\u003etheskumar/python-dotenv#551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update README.md by \u003ca href=\"https://github.com/chapeupreto\"\u003e\u003ccode\u003e@​chapeupreto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/516\"\u003etheskumar/python-dotenv#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome more s/Python-dotenv/python-dotenv/ 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/552\"\u003etheskumar/python-dotenv#552\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/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.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/pull/563\"\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/pull/563\"\u003e#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI: revert the use of execvpe on Windows by [\u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003e#566\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.1.0] - 2025-03-25\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFeature\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for python 3.13\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003edotenv run\u003c/code\u003e, switch to \u003ccode\u003eexecvpe\u003c/code\u003e for better resource management and signal handling (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/523\"\u003e#523\u003c/a\u003e) by [\u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFixed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003efind_dotenv\u003c/code\u003e and \u003ccode\u003eload_dotenv\u003c/code\u003e now correctly looks up at the current directory when running in debugger or pdb (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/553\"\u003e#553\u003c/a\u003e by [\u003ca href=\"https://github.com/randomseed42\"\u003e\u003ccode\u003e@​randomseed42\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMisc\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/eaf2a9129ccec6febda0f741eb3bb852c3f947bd\"\u003e\u003ccode\u003eeaf2a91\u003c/code\u003e\u003c/a\u003e Do not remove .coverage file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8716196891532eeb67d24a513e8d975437f5e8b7\"\u003e\u003ccode\u003e8716196\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.0 → 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/b87807fcad6e74332c3c63a75c92ce5814fa7a55\"\u003e\u003ccode\u003eb87807f\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/3af77d3029eb717aeec0a3c25f751b6a614a6d3c\"\u003e\u003ccode\u003e3af77d3\u003c/code\u003e\u003c/a\u003e Support reading .env from FIFOs (Unix) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/467ee22fccb2fb7ccda71a0d9e37c6ea3cb8d993\"\u003e\u003ccode\u003e467ee22\u003c/code\u003e\u003c/a\u003e Fix test failures after moving config to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/76999e741d87e958ebd74e3ae9834c0514e77a59\"\u003e\u003ccode\u003e76999e7\u003c/code\u003e\u003c/a\u003e Move more config pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/222ce2cc58ebc82ba78da8781269267b9f585932\"\u003e\u003ccode\u003e222ce2c\u003c/code\u003e\u003c/a\u003e Update to use trusted publisher on pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8ed4f79d202eba582b44bdf1f5deb726dd68783d\"\u003e\u003ccode\u003e8ed4f79\u003c/code\u003e\u003c/a\u003e Update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/5bf882241c607445bf02cf5b241535d62e2b99c1\"\u003e\u003ccode\u003e5bf8822\u003c/code\u003e\u003c/a\u003e Bump version: 1.1.1 → 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1fe11cc737ee4399e9c51d1b69b0dd858f6b4669\"\u003e\u003ccode\u003e1fe11cc\u003c/code\u003e\u003c/a\u003e upadate changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.0.1...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` from 2.4.9 to 2.6.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.4 Release Notes\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003ch3\u003e1. Support for TimestampTZ Data Type (Introduced in Milvus v2.6.6)\u003c/h3\u003e\n\u003cp\u003ePyMilvus now supports the TIMESTAMPTZ data type, allowing you to store and query timestamps with time zone information.\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom pymilvus import MilvusClient, DataType\n\u003cp\u003eclient = MilvusClient(uri=\u0026quot;\u003ca href=\"http://localhost:19530\"\u003ehttp://localhost:19530\u003c/a\u003e\u0026quot;)\u003c/p\u003e\n\u003ch1\u003e1. Define Schema with TimestampTZ\u003c/h1\u003e\n\u003cp\u003eschema = MilvusClient.create_schema()\nschema.add_field(\u0026quot;id\u0026quot;, DataType.INT64, is_primary=True)\nschema.add_field(\u0026quot;timestamp\u0026quot;, DataType.TIMESTAMPTZ)\nschema.add_field(\u0026quot;vector\u0026quot;, DataType.FLOAT_VECTOR, dim=128)\u003c/p\u003e\n\u003cp\u003eclient.create_collection(collection_name=\u0026quot;ts_collection\u0026quot;, schema=schema)\u003c/p\u003e\n\u003ch1\u003e2. Insert Data (using ISO 8601 format strings with timezone)\u003c/h1\u003e\n\u003cp\u003edata = [\n{\u0026quot;id\u0026quot;: 1, \u0026quot;timestamp\u0026quot;: \u0026quot;2025-01-01T12:00:00+00:00\u0026quot;, \u0026quot;vector\u0026quot;: [0.1] * 128},\n{\u0026quot;id\u0026quot;: 2, \u0026quot;timestamp\u0026quot;: \u0026quot;2025-01-02T08:30:00-05:00\u0026quot;, \u0026quot;vector\u0026quot;: [0.2] * 128}\n]\nclient.insert(collection_name=\u0026quot;ts_collection\u0026quot;, data=data)\u003c/p\u003e\n\u003ch1\u003e3. Query Data\u003c/h1\u003e\n\u003ch1\u003eQuery records by ID to retrieve timestamps\u003c/h1\u003e\n\u003cp\u003eres = client.query(\ncollection_name=\u0026quot;ts_collection\u0026quot;,\nfilter=\u0026quot;id in [1, 2]\u0026quot;,\noutput_fields=[\u0026quot;id\u0026quot;, \u0026quot;timestamp\u0026quot;]\n)\nprint(res)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003eChange Log\u003c/h2\u003e\n\u003ch3\u003eFeatures \u0026amp; Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[TimestampTZ] Added support for TIMESTAMPTZ data type. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3092\"\u003e#3092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[BulkWriter] Supported STRUCT field data type in BulkWriter. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3068\"\u003e#3068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[BulkWriter] Supported Geometry data type in BulkWriter. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3052\"\u003e#3052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[BulkWriter] Added support for specifying a local temporary path in RemoteBulkWriter. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3077\"\u003e#3077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[STRUCT] Supported TypeParams definition in STRUCT fields. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3055\"\u003e#3055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[MilvusClient] Migrated 6 APIs to MilvusClient: flush_all, get_flush_all_state, list_loaded_segments, list_persistent_segments, get_server_type, and get_compaction_plans. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3096\"\u003e#3096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Array] Supported numpy ndarray input for ARRAY fields in MilvusClient. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3096\"\u003e#3096\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Import] Added db_name parameter to list_import_jobs() to correctly list jobs under a specific database. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3088\"\u003e#3088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Connection] Fixed a bug related to connection reset handling. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Connection] Fixed an issue with connection caching when retrieving collection schema. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[STRUCT] Fixed a bug where querying STRUCT fields could incorrectly return an empty array. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3074\"\u003e#3074\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/milvus-io/pymilvus/commit/a016cff95ad0479e1a859e5f7b5057b73678f157\"\u003e\u003ccode\u003ea016cff\u003c/code\u003e\u003c/a\u003e [cherry-pick] cherry-pick mutiple commits (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3096\"\u003e#3096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/aac25f3eb643ef3e0b6709f1c0e769c4e296623d\"\u003e\u003ccode\u003eaac25f3\u003c/code\u003e\u003c/a\u003e Modify timestamptz example (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3093\"\u003e#3093\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3094\"\u003e#3094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/604b7f466e540f158ccc107e382264adbe2c8346\"\u003e\u003ccode\u003e604b7f4\u003c/code\u003e\u003c/a\u003e fix:async flush() not waiting for segments to be flushed (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3090\"\u003e#3090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/e40aa7fccba23978de7a66028e0f4d84df9927bd\"\u003e\u003ccode\u003ee40aa7f\u003c/code\u003e\u003c/a\u003e feat: timestamptz support (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3002\"\u003e#3002\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3092\"\u003e#3092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/e93d548b00b8d2cc83fb0558d3bad88bd7de96a6\"\u003e\u003ccode\u003ee93d548\u003c/code\u003e\u003c/a\u003e fix: Add db_name parameter for list_import_jobs() (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3088\"\u003e#3088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/28f713c6e52f9e1f28a58b2a0b2f360b2c2fc0eb\"\u003e\u003ccode\u003e28f713c\u003c/code\u003e\u003c/a\u003e fix: Fix a bug of reset connection (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/3da1040d8fd5379a3d33cda228fe06f61e4db2f7\"\u003e\u003ccode\u003e3da1040\u003c/code\u003e\u003c/a\u003e [Enhancement] allows to specufy temp local path for RemoteBulkWriter for temp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/ddbf5f9356e1a27f96bd65255c11c4c9b955f206\"\u003e\u003ccode\u003eddbf5f9\u003c/code\u003e\u003c/a\u003e fix: fix return empty array with STRUCT field [2.6] (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3074\"\u003e#3074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/0a6c993fa207ca40fc374ea98bbc05feb69bf5ff\"\u003e\u003ccode\u003e0a6c993\u003c/code\u003e\u003c/a\u003e fix: Fix a bug of connection cache for collection schema (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/8b7d77382c834d53a27a81ae1f5162ea25e637b7\"\u003e\u003ccode\u003e8b7d773\u003c/code\u003e\u003c/a\u003e [cherry-pick] Support struct field for BulkWriter (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3068\"\u003e#3068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.4.9...v2.6.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scikit-learn` from 1.6.0 to 1.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scikit-learn/scikit-learn/releases\"\u003escikit-learn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eScikit-learn 1.7.2\u003c/h2\u003e\n\u003cp\u003eWe're happy to announce the 1.7.2 release.\u003c/p\u003e\n\u003cp\u003eThis release contains a few bug fixes and is the first version supporting Python 3.14.\u003c/p\u003e\n\u003cp\u003eYou can see the changelog here: \u003ca href=\"https://scikit-learn.org/stable/whats_new/v1.7.html#version-1-7-2\"\u003ehttps://scikit-learn.org/stable/whats_new/v1.7.html#version-1-7-2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eYou can upgrade with pip as usual:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epip install -U scikit-learn\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe conda-forge builds can be installed using:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge scikit-learn\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThanks to everyone who contributed to this release !\u003c/p\u003e\n\u003ch2\u003eScikit-learn 1.7.1\u003c/h2\u003e\n\u003cp\u003eWe're happy to announce the 1.7.1 release.\u003c/p\u003e\n\u003cp\u003eThis release contains fixes for a few regressions introduced in 1.7.\u003c/p\u003e\n\u003cp\u003eYou can see the changelog here: \u003ca href=\"https://scikit-learn.org/stable/whats_new/v1.7.html#version-1-7-1\"\u003ehttps://scikit-learn.org/stable/whats_new/v1.7.html#version-1-7-1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eYou can upgrade with pip as usual:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epip install -U scikit-learn\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe conda-forge builds can be installed using:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge scikit-learn\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThanks to everyone who contributed to this release !\u003c/p\u003e\n\u003ch2\u003eScikit-learn 1.7.0\u003c/h2\u003e\n\u003cp\u003eWe're happy to announce the 1.7.0 release.\u003c/p\u003e\n\u003cp\u003eYou can read the release highlights under \u003ca href=\"https://scikit-learn.org/stable/auto_examples/release_highlights/plot_release_highlights_1_7_0.html\"\u003ehttps://scikit-learn.org/stable/auto_examples/release_highlights/plot_release_highlights_1_7_0.html\u003c/a\u003e and the long version of the change log under \u003ca href=\"https://scikit-learn.org/stable/whats_new/v1.7.html\"\u003ehttps://scikit-learn.org/stable/whats_new/v1.7.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis version supports Python versions 3.10 to 3.13 and features an experimental support of free-threaded CPython.\u003c/p\u003e\n\u003cp\u003eYou can upgrade with pip as usual:\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/scikit-learn/scikit-learn/commit/25dee604bae18205b01548348388baf7a1cdfe0e\"\u003e\u003ccode\u003e25dee60\u003c/code\u003e\u003c/a\u003e missing tag in changelog [cd build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/290b5af5e67e860945b3d226127772d639a463e4\"\u003e\u003ccode\u003e290b5af\u003c/code\u003e\u003c/a\u003e bump upper bounds [cd build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/813681d44126faf03e161c62698fe3ef03a366e4\"\u003e\u003ccode\u003e813681d\u003c/code\u003e\u003c/a\u003e CI Add Python 3.14 nightly wheels (\u003ca href=\"https://redirect.github.com/scikit-learn/scikit-learn/issues/32012\"\u003e#32012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/9cc302d15c453a8601f9fb14e56128d1e26ddb37\"\u003e\u003ccode\u003e9cc302d\u003c/code\u003e\u003c/a\u003e fix changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/65966587913acbdeb2be5650aaff7b9573af1a0d\"\u003e\u003ccode\u003e6596658\u003c/code\u003e\u003c/a\u003e fix changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/da98b43ee637417920f637e0aa6e0df152cbda3e\"\u003e\u003ccode\u003eda98b43\u003c/code\u003e\u003c/a\u003e generate changelog 1.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/f2ff9e85eae2d5c4808ab5c11bec3119b4ebc7d7\"\u003e\u003ccode\u003ef2ff9e8\u003c/code\u003e\u003c/a\u003e set version 1.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/8b41b0fefc78a40e04ea33670be52a9791a95cbd\"\u003e\u003ccode\u003e8b41b0f\u003c/code\u003e\u003c/a\u003e Fix uncomparable values in SimpleImputer tie-breaking strategy (\u003ca href=\"https://redire...\n\n_Description has been truncated_","html_url":"https://github.com/manavgup/rag_modulo/pull/708","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/manavgup%2Frag_modulo/issues/708","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/708/packages"},{"uuid":"3665791946","node_id":"PR_kwDOL3PqEc61j3Sa","number":682,"state":"open","title":"chore(deps): bump the python-dependencies group across 1 directory with 23 updates","user":"dependabot[bot]","labels":["security","backend","dependencies"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-26T05:05:47.000Z","updated_at":"2025-11-26T18:00:27.387Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-dependencies","update_count":23,"packages":[{"name":"minio","old_version":"7.2.18","new_version":"7.2.19","repository_url":"https://github.com/minio/minio-py"},{"name":"deptry","old_version":"0.23.1","new_version":"0.24.0","repository_url":"https://github.com/fpgmaas/deptry"},{"name":"ruff","old_version":"0.14.2","new_version":"0.14.6","repository_url":"https://github.com/astral-sh/ruff"},{"name":"bandit","old_version":"1.8.6","new_version":"1.9.2","repository_url":"https://github.com/PyCQA/bandit"},{"name":"safety","old_version":"3.6.2","new_version":"3.7.0","repository_url":"https://github.com/pyupio/safety"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"pydantic-settings","old_version":"2.6.1","new_version":"2.12.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"pymilvus","old_version":"2.4.9","new_version":"2.6.3","repository_url":"https://github.com/milvus-io/pymilvus"},{"name":"scikit-learn","old_version":"1.6.0","new_version":"1.7.2","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"weaviate-client","old_version":"4.16.9","new_version":"4.18.1","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"sqlalchemy","old_version":"2.0.36","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"pandas","old_version":"2.1.4","new_version":"2.2.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pymupdf","old_version":"1.25.0","new_version":"1.26.6","repository_url":"https://github.com/pymupdf/pymupdf"},{"name":"chromadb","old_version":"1.2.0","new_version":"1.3.5","repository_url":"https://github.com/chroma-core/chroma"},{"name":"ibm-watsonx-ai","old_version":"1.3.37","new_version":"1.4.7"},{"name":"json-repair","old_version":"0.30.3","new_version":"0.54.2","repository_url":"https://github.com/mangiucugna/json_repair"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"psutil","old_version":"7.0.0","new_version":"7.1.3","repository_url":"https://github.com/giampaolo/psutil"},{"name":"docling","old_version":"2.55.0","new_version":"2.63.0","repository_url":"https://github.com/docling-project/docling"},{"name":"transformers","old_version":"4.57.1","new_version":"4.57.3","repository_url":"https://github.com/huggingface/transformers"},{"name":"spacy","old_version":"3.8.7","new_version":"3.8.11","repository_url":"https://github.com/explosion/spaCy"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the python-dependencies group with 23 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [minio](https://github.com/minio/minio-py) | `7.2.18` | `7.2.19` |\n| [deptry](https://github.com/fpgmaas/deptry) | `0.23.1` | `0.24.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.2` | `0.14.6` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.6` | `1.9.2` |\n| [safety](https://github.com/pyupio/safety) | `3.6.2` | `3.7.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.38.0` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.6.1` | `2.12.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [pymilvus](https://github.com/milvus-io/pymilvus) | `2.4.9` | `2.6.3` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.0` | `1.7.2` |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.16.9` | `4.18.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.36` | `2.0.44` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.1.4` | `2.2.3` |\n| [pymupdf](https://github.com/pymupdf/pymupdf) | `1.25.0` | `1.26.6` |\n| [chromadb](https://github.com/chroma-core/chroma) | `1.2.0` | `1.3.5` |\n| [ibm-watsonx-ai](https://ibm.github.io/watsonx-ai-python-sdk) | `1.3.37` | `1.4.7` |\n| [json-repair](https://github.com/mangiucugna/json_repair) | `0.30.3` | `0.54.2` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.1.3` |\n| [docling](https://github.com/docling-project/docling) | `2.55.0` | `2.63.0` |\n| [transformers](https://github.com/huggingface/transformers) | `4.57.1` | `4.57.3` |\n| [spacy](https://github.com/explosion/spaCy) | `3.8.7` | `3.8.11` |\n\n\nUpdates `minio` from 7.2.18 to 7.2.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minio/minio-py/releases\"\u003eminio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBugfix release 7.2.19\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd region, extra_headers and extra_query_params by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1505\"\u003eminio/minio-py#1505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake BaseException internals to be set by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1521\"\u003eminio/minio-py#1521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Add missing type annotations to serialization dataclass fields by \u003ca href=\"https://github.com/rraulinio\"\u003e\u003ccode\u003e@​rraulinio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1527\"\u003eminio/minio-py#1527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport optional parameters in LdapIdentityProvider by \u003ca href=\"https://github.com/jkandasa\"\u003e\u003ccode\u003e@​jkandasa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1528\"\u003eminio/minio-py#1528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect existing checksum headers to both CreateMultipartUpload and UploadPart requests by \u003ca href=\"https://github.com/rraulinio\"\u003e\u003ccode\u003e@​rraulinio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1529\"\u003eminio/minio-py#1529\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/rraulinio\"\u003e\u003ccode\u003e@​rraulinio\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1527\"\u003eminio/minio-py#1527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jkandasa\"\u003e\u003ccode\u003e@​jkandasa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1528\"\u003eminio/minio-py#1528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.18...7.2.19\"\u003ehttps://github.com/minio/minio-py/compare/7.2.18...7.2.19\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/minio/minio-py/commit/31ac1ae4e250eb5eb12a37434559c522e888ebd7\"\u003e\u003ccode\u003e31ac1ae\u003c/code\u003e\u003c/a\u003e fix: incorrect checksum headers for both CreateMultipartUpload and UploadPart...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/a929d3a86cb877adae49adbd08b3b72df0f9c03f\"\u003e\u003ccode\u003ea929d3a\u003c/code\u003e\u003c/a\u003e support optional parameters in LdapIdentityProvider (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1528\"\u003e#1528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/cbac53b069b6137b8d344595cbb1ea16e701db34\"\u003e\u003ccode\u003ecbac53b\u003c/code\u003e\u003c/a\u003e Fix: Add missing type annotations to serialization dataclass fields (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1527\"\u003e#1527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/48068f8b813613b0a3333839f5f226e20ebc3616\"\u003e\u003ccode\u003e48068f8\u003c/code\u003e\u003c/a\u003e Make BaseException internals to be set (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1521\"\u003e#1521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/6daf3668742fef35ce69fc000ed633a0d23d33da\"\u003e\u003ccode\u003e6daf366\u003c/code\u003e\u003c/a\u003e Add region, extra_headers and extra_query_params (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1505\"\u003e#1505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/64ed1ef509545107eb771b7ae150d1311ccdf271\"\u003e\u003ccode\u003e64ed1ef\u003c/code\u003e\u003c/a\u003e Update version to next release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.18...7.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `deptry` from 0.23.1 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/fpgmaas/deptry/releases\"\u003edeptry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003ch4\u003ePython 3.9 support dropped\u003c/h4\u003e\n\u003cp\u003eSupport for Python 3.9 has been dropped, as it has reached its end of life.\u003c/p\u003e\n\u003ch4\u003ePyPy 3.10 support dropped, 3.11 added\u003c/h4\u003e\n\u003cp\u003eSupport for PyPy 3.10 has been dropped, since it is unsupported. We now only test against PyPy 3.11, and only publish wheels for this version.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub Actions annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1224\"\u003e#1224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePublish wheels for PyPy 3.11 and drop 3.10 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1227\"\u003e#1227\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFull Changelog\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\"\u003ehttps://github.com/fpgmaas/deptry/compare/0.23.1...0.24.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/fpgmaas/deptry/blob/main/CHANGELOG.md\"\u003edeptry's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.0 - 2025-11-09\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003ch4\u003ePython 3.9 support dropped\u003c/h4\u003e\n\u003cp\u003eSupport for Python 3.9 has been dropped, as it has reached its end of life.\u003c/p\u003e\n\u003ch4\u003ePyPy 3.10 support dropped, 3.11 added\u003c/h4\u003e\n\u003cp\u003eSupport for PyPy 3.10 has been dropped, since it is unsupported. We now only test against PyPy 3.11, and only publish wheels for this version.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub Actions annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1224\"\u003e#1224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePublish wheels for PyPy 3.11 and drop 3.10 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1227\"\u003e#1227\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFull Changelog\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\"\u003ehttps://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/4cc2d65ce1343957c911ca45709d6080cb9f82c3\"\u003e\u003ccode\u003e4cc2d65\u003c/code\u003e\u003c/a\u003e docs(changelog): add 0.24.0 release notes (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1330\"\u003e#1330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/8757b318e9974bbfa7ec65dabf999bc935ac026f\"\u003e\u003ccode\u003e8757b31\u003c/code\u003e\u003c/a\u003e chore: sync all dependency groups by default and run mypy locally (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1337\"\u003e#1337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/5ebc5c066831dd3dfeef7e79a4ae4f5934d744b9\"\u003e\u003ccode\u003e5ebc5c0\u003c/code\u003e\u003c/a\u003e feat: add github annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/aa59b6fa66bd3468ad681317de14189606a9c04e\"\u003e\u003ccode\u003eaa59b6f\u003c/code\u003e\u003c/a\u003e fix(deps): update ruff rust to v0.14.4 (patch) (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1335\"\u003e#1335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/87a6b87428641bc7cab3b22d00d788e28ed86ae9\"\u003e\u003ccode\u003e87a6b87\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1336\"\u003e#1336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/6b938ae73633b1a1f46e3888c9673b49d5e9dd60\"\u003e\u003ccode\u003e6b938ae\u003c/code\u003e\u003c/a\u003e chore(deps): update uv-version to v0.9.8 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/92c35bab5ad0a11d2becc31e4cdbe4413a746233\"\u003e\u003ccode\u003e92c35ba\u003c/code\u003e\u003c/a\u003e chore(deps): update pre-commit hook woodruffw/zizmor-pre-commit to v1.16.3 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/a8be2902812426acaf00ff344dc93a48f30d48d7\"\u003e\u003ccode\u003ea8be290\u003c/code\u003e\u003c/a\u003e chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.4 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1332\"\u003e#1332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/6abefd1237071ba0e8d3fc1c9e02a402ccde11f6\"\u003e\u003ccode\u003e6abefd1\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency mkdocs-material to v9.6.23 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/6b556861d72024d1f8b5f8c8ead9d1b48cef0f9e\"\u003e\u003ccode\u003e6b55686\u003c/code\u003e\u003c/a\u003e test: update all test dependencies (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1313\"\u003e#1313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.2 to 0.14.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.6\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Support new PySNMP API paths (\u003ccode\u003eS508\u003c/code\u003e, \u003ccode\u003eS509\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21374\"\u003e#21374\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdjust own-line comment placement between branches (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21185\"\u003e#21185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid syntax error when formatting attribute expressions with outer parentheses, parenthesized value, and trailing comment on value (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20418\"\u003e#20418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic when formatting comments in unary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21501\"\u003e#21501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003efmt: skip\u003c/code\u003e for compound statements on a single line (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20633\"\u003e#20633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Fix \u003ccode\u003eFURB103\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21454\"\u003e#21454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix false positive for complex conversion specifiers in \u003ccode\u003elogging-eager-conversion\u003c/code\u003e (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21464\"\u003e#21464\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] Avoid false positive on \u003ccode\u003eClassVar\u003c/code\u003e reassignment (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21478\"\u003e#21478\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRender hyperlinks for lint errors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21514\"\u003e#21514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003eruff analyze\u003c/code\u003e option to skip over imports in \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21472\"\u003e#21472\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLimit \u003ccode\u003eeglot-format\u003c/code\u003e hook to eglot-managed Python buffers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21459\"\u003e#21459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention \u003ccode\u003eforce-exclude\u003c/code\u003e in \u0026quot;Configuration \u0026gt; Python file discovery\u0026quot; (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21500\"\u003e#21500\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gauthsvenkat\"\u003e\u003ccode\u003e@​gauthsvenkat\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thamer\"\u003e\u003ccode\u003e@​thamer\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ruchir28\"\u003e\u003ccode\u003e@​Ruchir28\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/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.6\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.14.6/ruff-installer.sh | sh\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.6\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Support new PySNMP API paths (\u003ccode\u003eS508\u003c/code\u003e, \u003ccode\u003eS509\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21374\"\u003e#21374\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdjust own-line comment placement between branches (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21185\"\u003e#21185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid syntax error when formatting attribute expressions with outer parentheses, parenthesized value, and trailing comment on value (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20418\"\u003e#20418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic when formatting comments in unary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21501\"\u003e#21501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003efmt: skip\u003c/code\u003e for compound statements on a single line (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20633\"\u003e#20633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Fix \u003ccode\u003eFURB103\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21454\"\u003e#21454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix false positive for complex conversion specifiers in \u003ccode\u003elogging-eager-conversion\u003c/code\u003e (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21464\"\u003e#21464\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] Avoid false positive on \u003ccode\u003eClassVar\u003c/code\u003e reassignment (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21478\"\u003e#21478\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRender hyperlinks for lint errors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21514\"\u003e#21514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003eruff analyze\u003c/code\u003e option to skip over imports in \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21472\"\u003e#21472\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLimit \u003ccode\u003eeglot-format\u003c/code\u003e hook to eglot-managed Python buffers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21459\"\u003e#21459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention \u003ccode\u003eforce-exclude\u003c/code\u003e in \u0026quot;Configuration \u0026gt; Python file discovery\u0026quot; (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21500\"\u003e#21500\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gauthsvenkat\"\u003e\u003ccode\u003e@​gauthsvenkat\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thamer\"\u003e\u003ccode\u003e@​thamer\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ruchir28\"\u003e\u003ccode\u003e@​Ruchir28\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/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.5\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-13.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Apply \u003ccode\u003eSIM113\u003c/code\u003e when index variable is of type \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21395\"\u003e#21395\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/59c6cb521d26380120f8522476fd09d296bf4f2e\"\u003e\u003ccode\u003e59c6cb5\u003c/code\u003e\u003c/a\u003e Bump 0.14.6 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21558\"\u003e#21558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/54dba15088ced32c31592ab44ddfdf40614002bb\"\u003e\u003ccode\u003e54dba15\u003c/code\u003e\u003c/a\u003e [ty] Improve debug messages when imports fail (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21555\"\u003e#21555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1af318534a01ba6be69d7d77c33e96080635a8af\"\u003e\u003ccode\u003e1af3185\u003c/code\u003e\u003c/a\u003e [ty] Add support for relative import completions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/553e5686248e86b9c781af77c714adc229bf8cc5\"\u003e\u003ccode\u003e553e568\u003c/code\u003e\u003c/a\u003e [ty] Refactor detection of import statements for completions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/cdef3f5ab8115e2581e080341d4bab932d905af4\"\u003e\u003ccode\u003ecdef3f5\u003c/code\u003e\u003c/a\u003e [ty] Use dedicated collector for completions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/617882242719af179a42be68170f9de9d83174f4\"\u003e\u003ccode\u003e6178822\u003c/code\u003e\u003c/a\u003e [ty] Attach subdiagnostics to \u003ccode\u003eunresolved-import\u003c/code\u003e errors for relative imports...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6b7adb0537d1a57f26cf462a637af483e0ba2c75\"\u003e\u003ccode\u003e6b7adb0\u003c/code\u003e\u003c/a\u003e [ty] support PEP 613 type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21394\"\u003e#21394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/06941c1987bd4fe2b54d99b5514784472cabc0b3\"\u003e\u003ccode\u003e06941c1\u003c/code\u003e\u003c/a\u003e [ty] More low-hanging fruit for inlay hint goto-definition (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21548\"\u003e#21548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/eb7c098d6b70aacbaebe8b7c8d7710ad4ad0f46b\"\u003e\u003ccode\u003eeb7c098\u003c/code\u003e\u003c/a\u003e [ty] implement \u003ccode\u003eTypedDict\u003c/code\u003e structural assignment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21467\"\u003e#21467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1b28fc1f1417284a075afa4a18c5e9d31a7d8620\"\u003e\u003ccode\u003e1b28fc1\u003c/code\u003e\u003c/a\u003e [ty] Add more random TypeDetails and tests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21546\"\u003e#21546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.2...0.14.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bandit` from 1.8.6 to 1.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/bandit/releases\"\u003ebandit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArgparse Python 3.14 enhancements by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1331\"\u003ePyCQA/bandit#1331\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck whether Constant value is str by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1333\"\u003ePyCQA/bandit#1333\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.9.1...1.9.2\"\u003ehttps://github.com/PyCQA/bandit/compare/1.9.1...1.9.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMore Python version related fixes by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1327\"\u003ePyCQA/bandit#1327\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.9.0...1.9.1\"\u003ehttps://github.com/PyCQA/bandit/compare/1.9.0...1.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd instructions for Maintainers to create/publish a release by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1275\"\u003ePyCQA/bandit#1275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump sigstore/cosign-installer from 3.9.1 to 3.9.2 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/PyCQA/bandit/pull/1289\"\u003ePyCQA/bandit#1289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump docker/login-action from 3.4.0 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1290\"\u003ePyCQA/bandit#1290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1291\"\u003ePyCQA/bandit#1291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1292\"\u003ePyCQA/bandit#1292\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated datetime.datetime.utcnow() by \u003ca href=\"https://github.com/purplezimmermann\"\u003e\u003ccode\u003e@​purplezimmermann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1295\"\u003ePyCQA/bandit#1295\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/PyCQA/bandit/pull/1296\"\u003ePyCQA/bandit#1296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump sigstore/cosign-installer from 3.9.2 to 3.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1298\"\u003ePyCQA/bandit#1298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1303\"\u003ePyCQA/bandit#1303\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos by \u003ca href=\"https://github.com/Shortfinga\"\u003e\u003ccode\u003e@​Shortfinga\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1305\"\u003ePyCQA/bandit#1305\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump docker/login-action from 3.5.0 to 3.6.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1306\"\u003ePyCQA/bandit#1306\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1315\"\u003ePyCQA/bandit#1315\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump sigstore/cosign-installer from 3.10.0 to 4.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1317\"\u003ePyCQA/bandit#1317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport of Python 3.14 by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1323\"\u003ePyCQA/bandit#1323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop support of end-of-life Python 3.9 by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1325\"\u003ePyCQA/bandit#1325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1324\"\u003ePyCQA/bandit#1324\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/purplezimmermann\"\u003e\u003ccode\u003e@​purplezimmermann\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1295\"\u003ePyCQA/bandit#1295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shortfinga\"\u003e\u003ccode\u003e@​Shortfinga\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1305\"\u003ePyCQA/bandit#1305\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.8.6...1.9.0\"\u003ehttps://github.com/PyCQA/bandit/compare/1.8.6...1.9.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/ea0d187d78b2e6365e35f676d2eb9b1be264c091\"\u003e\u003ccode\u003eea0d187\u003c/code\u003e\u003c/a\u003e Check whether Constant value is str (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/8bf759452a1f492a7035165e4c6a6d80b83c2502\"\u003e\u003ccode\u003e8bf7594\u003c/code\u003e\u003c/a\u003e Argparse Python 3.14 enhancements (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/a255dfaecbd1b4dbdb09d10a1f69e9f1874e5999\"\u003e\u003ccode\u003ea255dfa\u003c/code\u003e\u003c/a\u003e More Python version related fixes (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1327\"\u003e#1327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/3f07bb0d3f964a2bcd3a8b208f4343131a40f63a\"\u003e\u003ccode\u003e3f07bb0\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1324\"\u003e#1324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/c8c3fb86996b44d5fe22b6ae270a97e34d0d0b65\"\u003e\u003ccode\u003ec8c3fb8\u003c/code\u003e\u003c/a\u003e Drop support of end-of-life Python 3.9 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1325\"\u003e#1325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/5c303504631286becbf8c223cc923b885689d5e3\"\u003e\u003ccode\u003e5c30350\u003c/code\u003e\u003c/a\u003e Support of Python 3.14 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1323\"\u003e#1323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/e1ffdf63da4b32241beb00d1ce45fe3702251907\"\u003e\u003ccode\u003ee1ffdf6\u003c/code\u003e\u003c/a\u003e Bump sigstore/cosign-installer from 3.10.0 to 4.0.0 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1317\"\u003e#1317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/176d4cacdb56ca3b4e7adb35e4122a7a011a0ed4\"\u003e\u003ccode\u003e176d4ca\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1315\"\u003e#1315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/2fc3e9c41dd728649930365d09b2cc66b03a97f4\"\u003e\u003ccode\u003e2fc3e9c\u003c/code\u003e\u003c/a\u003e Bump docker/login-action from 3.5.0 to 3.6.0 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1306\"\u003e#1306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/6a685467d6bd44aa35d5ef64e2ee6187a20c6484\"\u003e\u003ccode\u003e6a68546\u003c/code\u003e\u003c/a\u003e Fix typos (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1305\"\u003e#1305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.8.6...1.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `safety` from 3.6.2 to 3.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyupio/safety/releases\"\u003esafety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.7.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.7.0b5 → 3.7.0 (9df3a6f)\u003c/li\u003e\n\u003cli\u003efix: npm ecosystem check on render package details (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/820\"\u003e#820\u003c/a\u003e) (9780ac2)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.7.0b5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.7.0b4 → 3.7.0b5 (7f138f1)\u003c/li\u003e\n\u003cli\u003efix: bash priority issues (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/819\"\u003e#819\u003c/a\u003e) (933dc82)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.7.0b4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.7.0b3 → 3.7.0b4 (3b1e4dc)\u003c/li\u003e\n\u003cli\u003eci: remove version from the artifacts name (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/818\"\u003e#818\u003c/a\u003e) (c5134b5)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.7.0b3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.7.0b2 → 3.7.0b3 (04f24e5)\u003c/li\u003e\n\u003cli\u003eci: separate checksum artifacts for signed and unsigned builds (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/817\"\u003e#817\u003c/a\u003e) (a08a347)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.7.0b0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.6.2 → 3.7.0b0 (b289a6c)\u003c/li\u003e\n\u003cli\u003efix: replace deprecated pkg_resources with importlib.metadata (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/813\"\u003e#813\u003c/a\u003e) (c1e07ef)\u003c/li\u003e\n\u003cli\u003echore: drop python 3.8 support (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/791\"\u003e#791\u003c/a\u003e) (a41c82b)\u003c/li\u003e\n\u003cli\u003echore: set minimum tenacity version to 8.1.0 (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/812\"\u003e#812\u003c/a\u003e) (973a265)\u003c/li\u003e\n\u003cli\u003echore: restructure GitHub issue templates and remove bug bounty references (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/811\"\u003e#811\u003c/a\u003e) (2fcbe72)\u003c/li\u003e\n\u003cli\u003efeat: add firewall support for NPM (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/800\"\u003e#800\u003c/a\u003e) (5d44edf)\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/pyupio/safety/blob/main/CHANGELOG.md\"\u003esafety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.7.0 (2025-11-06)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003enpm ecosystem check on render package details (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/820\"\u003e#820\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.7.0b5 (2025-11-04)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebash priority issues (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.7.0b4 (2025-11-03)\u003c/h2\u003e\n\u003ch2\u003e3.7.0b3 (2025-11-03)\u003c/h2\u003e\n\u003ch2\u003e3.7.0b2 (2025-11-03)\u003c/h2\u003e\n\u003ch2\u003e3.7.0b1 (2025-11-03)\u003c/h2\u003e\n\u003ch2\u003e3.7.0b0 (2025-10-22)\u003c/h2\u003e\n\u003ch3\u003eFeat\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd firewall support for NPM (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/800\"\u003e#800\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated pkg_resources with importlib.metadata (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/813\"\u003e#813\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/pyupio/safety/commit/9df3a6fa2b5270988690eda334c9880169371354\"\u003e\u003ccode\u003e9df3a6f\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b5 → 3.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/9780ac2d4373e7496aef804754157056888d6168\"\u003e\u003ccode\u003e9780ac2\u003c/code\u003e\u003c/a\u003e fix: npm ecosystem check on render package details (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/820\"\u003e#820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/7f138f14cbec354dce45056421a017b1a46a15fc\"\u003e\u003ccode\u003e7f138f1\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b4 → 3.7.0b5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/933dc82d3df3bfe0afe3212e5eb6771317a6c413\"\u003e\u003ccode\u003e933dc82\u003c/code\u003e\u003c/a\u003e fix: bash priority issues (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/3b1e4dc3cb305a7fa5710f0bf35858ce59af37b5\"\u003e\u003ccode\u003e3b1e4dc\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b3 → 3.7.0b4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/c5134b5847597fa0ff1efcc1cf0729544057c9f2\"\u003e\u003ccode\u003ec5134b5\u003c/code\u003e\u003c/a\u003e ci: remove version from the artifacts name (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/818\"\u003e#818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/04f24e54eeb7756d5f3eb88e4e3a03db32d19e0e\"\u003e\u003ccode\u003e04f24e5\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b2 → 3.7.0b3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/a08a34763d932f77940df737bbdd1882871f359d\"\u003e\u003ccode\u003ea08a347\u003c/code\u003e\u003c/a\u003e ci: separate checksum artifacts for signed and unsigned builds (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/817\"\u003e#817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/2ff7ace8c18d05c6a556b87b1be6aa2c380cf4d6\"\u003e\u003ccode\u003e2ff7ace\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b1 → 3.7.0b2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/2964f19a56e117d7e91030c0f8ab8a79bb65476c\"\u003e\u003ccode\u003e2964f19\u003c/code\u003e\u003c/a\u003e ci: load version on release jobs (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/816\"\u003e#816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyupio/safety/compare/3.6.2...3.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.35.0 to 0.38.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.38.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2723\"\u003eKludex/uvicorn#2723\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NGANAMODEIJunior\"\u003e\u003ccode\u003e@​NGANAMODEIJunior\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2713\"\u003eKludex/uvicorn#2713\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.37.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e setting by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2711\"\u003eKludex/uvicorn#2711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e by \u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LincolnPuzey\"\u003e\u003ccode\u003e@​LincolnPuzey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2669\"\u003eKludex/uvicorn#2669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2709\"\u003eKludex/uvicorn#2709\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs by \u003ca href=\"https://github.com/gnir-work\"\u003e\u003ccode\u003e@​gnir-work\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2435\"\u003eKludex/uvicorn#2435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to provide importable string in \u003ccode\u003e--http\u003c/code\u003e, \u003ccode\u003e--ws\u003c/code\u003e and \u003ccode\u003e--loop\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2658\"\u003eKludex/uvicorn#2658\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnir-work\"\u003e\u003ccode\u003e@​gnir-work\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2435\"\u003eKludex/uvicorn#2435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2659\"\u003eKludex/uvicorn#2659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secrett2633\"\u003e\u003ccode\u003e@​secrett2633\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2684\"\u003eKludex/uvicorn#2684\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.35.0...0.36.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.35.0...0.36.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.38.0 (October 18, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.1 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.0 (September 20, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2435\"\u003e#2435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow to provide importable string in \u003ccode\u003e--http\u003c/code\u003e, \u003ccode\u003e--ws\u003c/code\u003e and \u003ccode\u003e--loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2658\"\u003e#2658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/3850ad6520cafb290bd4174fa9c4ca5d33440c82\"\u003e\u003ccode\u003e3850ad6\u003c/code\u003e\u003c/a\u003e Version 0.38.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2733\"\u003e#2733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b3f17a549ec96f57bf4d975145fc58feefdd4e8\"\u003e\u003ccode\u003e9b3f17a\u003c/code\u003e\u003c/a\u003e Support Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/ce79f95d065c053b36449f67b3b2cefee5ecf167\"\u003e\u003ccode\u003ece79f95\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add Marcelo Trylesinski to the license (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2699\"\u003e#2699\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2730\"\u003e#2730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/dbf8797b47c79da542f530f2143b8e851e2388fd\"\u003e\u003ccode\u003edbf8797\u003c/code\u003e\u003c/a\u003e docs: add social icons (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2728\"\u003e#2728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/58f28be98eb95c8cf25905df10997b4af81c23e3\"\u003e\u003ccode\u003e58f28be\u003c/code\u003e\u003c/a\u003e Add section about event loop (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2725\"\u003e#2725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/93d95107490d5ea3693601388d7783c450058271\"\u003e\u003ccode\u003e93d9510\u003c/code\u003e\u003c/a\u003e Bump docs dependencies (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2724\"\u003e#2724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b1c6c45ed7fe8bd485ddad475f0feff03971af7\"\u003e\u003ccode\u003e9b1c6c4\u003c/code\u003e\u003c/a\u003e Move Marcelo Trylesinski to maintainers in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2719\"\u003e#2719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/57a61d86f2f123b1d35b9ff71e0f29d22d10806f\"\u003e\u003ccode\u003e57a61d8\u003c/code\u003e\u003c/a\u003e Add discord to README (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2718\"\u003e#2718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7ef5f9f5e7e79887b4ab4214c15ab5a9ce63e193\"\u003e\u003ccode\u003e7ef5f9f\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from 6.7.0 to 6.8.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2717\"\u003e#2717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/6d26d88970379cbf20b4dbf4f70e27f191db4ede\"\u003e\u003ccode\u003e6d26d88\u003c/code\u003e\u003c/a\u003e Update pyproject.toml for PEP639 compliance (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2713\"\u003e#2713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.35.0...0.38.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-settings` from 2.6.1 to 2.12.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.12.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for enum kebab case. 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/686\"\u003epydantic/pydantic-settings#686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd NestedSecretsSettings source by \u003ca href=\"https://github.com/makukha\"\u003e\u003ccode\u003e@​makukha\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/690\"\u003epydantic/pydantic-settings#690\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip non-explicit default values. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/692\"\u003epydantic/pydantic-settings#692\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCoerce env vars if strict is True. 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/693\"\u003epydantic/pydantic-settings#693\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore init kwarg names before returning final state dictionary. 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/700\"\u003epydantic/pydantic-settings#700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python3.9 support 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/699\"\u003epydantic/pydantic-settings#699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt test_protected_namespace_defaults for dev. Pydantic by \u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/637\"\u003epydantic/pydantic-settings#637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.14 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/704\"\u003epydantic/pydantic-settings#704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.12 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/705\"\u003epydantic/pydantic-settings#705\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/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCLI Serialize Support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/643\"\u003epydantic/pydantic-settings#643\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInspect type aliases to determine if an annotation is complex by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;fix: Respect 'cli_parse_args' from model_config with settings_customise_sources (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/611\"\u003e#611\u003c/a\u003e)\u0026quot; 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/655\"\u003epydantic/pydantic-settings#655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove parsing of command line arguments from \u003ccode\u003eCliSettingsSource.__init__\u003c/code\u003e. by \u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eturn off allow_abbrev on subparsers by \u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Serialization Fixes 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/649\"\u003epydantic/pydantic-settings#649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix PydanticModel type checking. 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/659\"\u003epydantic/pydantic-settings#659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid env_prefix falling back to env vars without prefix by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/648\"\u003epydantic/pydantic-settings#648\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn if model_config sets unused keys for missing settings sources by \u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncluded endpoint_url kwarg in AWSSecretsManagerSettingsSource class by \u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo (\u0026quot;Accesing\u0026quot;) in the \u0026quot;Adding sources\u0026quot; docs by \u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Windows Path Fix 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/669\"\u003epydantic/pydantic-settings#669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCli root model support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/677\"\u003epydantic/pydantic-settings#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSnake case conversion in Azure Key Vault by \u003ca href=\"https://github.com/AndreuCodina\"\u003e\u003ccode\u003e@​AndreuCodina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/680\"\u003epydantic/pydantic-settings#680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eInitSettingsSource\u003c/code\u003e resolution deterministic by \u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/683\"\u003epydantic/pydantic-settings#683\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/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.10.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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/584983d253a0fac4dfb294d1e6f9ef188add468b\"\u003e\u003ccode\u003e584983d\u003c/code\u003e\u003c/a\u003e Prepare release 2.12 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/705\"\u003e#705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/6b4d87e77698476433031c0056ce71aa4f4a7c4e\"\u003e\u003ccode\u003e6b4d87e\u003c/code\u003e\u003c/a\u003e Add Python 3.14 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/704\"\u003e#704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/02de5b622b8648404aa792df01599aa1179c3aa7\"\u003e\u003ccode\u003e02de5b6\u003c/code\u003e\u003c/a\u003e Adapt test_protected_namespace_defaults for dev. Pydantic (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/637\"\u003e#637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4239ea460a5c465a4ce908c52e9606549b38fa98\"\u003e\u003ccode\u003e4239ea4\u003c/code\u003e\u003c/a\u003e Drop Python3.9 support (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/699\"\u003e#699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/5008c694f684f88fd310f476871ec021426e98d7\"\u003e\u003ccode\u003e5008c69\u003c/code\u003e\u003c/a\u003e Restore init kwarg names before returning final state dictionary. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/700\"\u003e#700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4433101fef6770d3fc0844846f7f3837bfec3b10\"\u003e\u003ccode\u003e4433101\u003c/code\u003e\u003c/a\u003e Coerce env vars if strict is True. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4d2ebfd543e6011f6b71a99042007adf7e613ae9\"\u003e\u003ccode\u003e4d2ebfd\u003c/code\u003e\u003c/a\u003e Strip non-explicit default values. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4a6ffcaeae451199b1873c6709b28aceae7317a7\"\u003e\u003ccode\u003e4a6ffca\u003c/code\u003e\u003c/a\u003e Add NestedSecretsSettings source (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/7a6e96ebfc89ddb5b20dfb068c8ed46b6ff18a7f\"\u003e\u003ccode\u003e7a6e96e\u003c/code\u003e\u003c/a\u003e Apply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/68563eddc09856b94ea0ca156dd75040b4e048e4\"\u003e\u003ccode\u003e68563ed\u003c/code\u003e\u003c/a\u003e Support for enum kebab case. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/686\"\u003e#686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.6.1...v2.12.0\"\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.1\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.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env 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/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\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.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff 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/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() 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/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) 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/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini 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/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory 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/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml 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/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure find_dotenv 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/pull/563\"\u003etheskumar/python-dotenv#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): issue with execvpe on Windows by \u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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.1.0...v1.1.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a security policy 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/512\"\u003etheskumar/python-dotenv#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep GitHub Actions up to date with GitHub's Dependabot by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/506\"\u003etheskumar/python-dotenv#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix multiline string in test.yml \u0026amp; use fail-fast strategy by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/514\"\u003etheskumar/python-dotenv#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance dotenv run: Switch to execvpe for better resource management and signal handling by \u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/523\"\u003etheskumar/python-dotenv#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add py3.13 to test.yml by \u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/527\"\u003etheskumar/python-dotenv#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.13 trove classifier by \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/535\"\u003etheskumar/python-dotenv#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/529\"\u003etheskumar/python-dotenv#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.13 and drop 3.8 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/551\"\u003etheskumar/python-dotenv#551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update README.md by \u003ca href=\"https://github.com/chapeupreto\"\u003e\u003ccode\u003e@​chapeupreto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/516\"\u003etheskumar/python-dotenv#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome more s/Python-dotenv/python-dotenv/ 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/552\"\u003etheskumar/python-dotenv#552\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/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.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/pull/563\"\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/pull/563\"\u003e#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI: revert the use of execvpe on Windows by [\u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003e#566\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.1.0] - 2025-03-25\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFeature\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for python 3.13\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003edotenv run\u003c/code\u003e, switch to \u003ccode\u003eexecvpe\u003c/code\u003e for better resource management and signal handling (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/523\"\u003e#523\u003c/a\u003e) by [\u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFixed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003efind_dotenv\u003c/code\u003e and \u003ccode\u003eload_dotenv\u003c/code\u003e now correctly looks up at the current directory when running in debugger or pdb (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/553\"\u003e#553\u003c/a\u003e by [\u003ca href=\"https://github.com/randomseed42\"\u003e\u003ccode\u003e@​randomseed42\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMisc\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/eaf2a9129ccec6febda0f741eb3bb852c3f947bd\"\u003e\u003ccode\u003eeaf2a91\u003c/code\u003e\u003c/a\u003e Do not remove .coverage file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8716196891532eeb67d24a513e8d975437f5e8b7\"\u003e\u003ccode\u003e8716196\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.0 → 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/b87807fcad6e74332c3c63a75c92ce5814fa7a55\"\u003e\u003ccode\u003eb87807f\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/3af77d3029eb717aeec0a3c25f751b6a614a6d3c\"\u003e\u003ccode\u003e3af77d3\u003c/code\u003e\u003c/a\u003e Support reading .env from FIFOs (Unix) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/467ee22fccb2fb7ccda71a0d9e37c6ea3cb8d993\"\u003e\u003ccode\u003e467ee22\u003c/code\u003e\u003c/a\u003e Fix test failures after moving config to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/76999e741d87e958ebd74e3ae9834c0514e77a59\"\u003e\u003ccode\u003e76999e7\u003c/code\u003e\u003c/a\u003e Move more config pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/222ce2cc58ebc82ba78da8781269267b9f585932\"\u003e\u003ccode\u003e222ce2c\u003c/code\u003e\u003c/a\u003e Update to use trusted publisher on pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8ed4f79d202eba582b44bdf1f5deb726dd68783d\"\u003e\u003ccode\u003e8ed4f79\u003c/code\u003e\u003c/a\u003e Update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/5bf882241c607445bf02cf5b241535d62e2b99c1\"\u003e\u003ccode\u003e5bf8822\u003c/code\u003e\u003c/a\u003e Bump version: 1.1.1 → 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1fe11cc737ee4399e9c51d1b69b0dd858f6b4669\"\u003e\u003ccode\u003e1fe11cc\u003c/code\u003e\u003c/a\u003e upadate changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.0.1...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` from 2.4.9 to 2.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.3 Release Notes\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003ch3\u003e1. Support for Array of Structs\u003c/h3\u003e\n\u003cp\u003ePyMilvus now supports array of structs data types, allowing you to store and query complex nested data structures.\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom pymilvus import MilvusClient, DataType\n\u003cp\u003eclient = MilvusClient(uri=\u0026quot;\u003ca href=\"http://localhost:19530\"\u003ehttp://localhost:19530\u003c/a\u003e\u0026quot;)\u003c/p\u003e\n\u003cp\u003eschema = client.create_schema(auto_id=False)\nschema.add_field(field_name=\u0026quot;id\u0026quot;, datatype=DataType.INT64, is_primary=True)\nschema.add_field(field_name=\u0026quot;vector\u0026quot;, datatype=DataType.FLOAT_VECTOR, dim=128)\u003c/p\u003e\n\u003cp\u003estruct_schema = MilvusClient.create_s...\n\n_Description has been truncated_","html_url":"https://github.com/manavgup/rag_modulo/pull/682","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/manavgup%2Frag_modulo/issues/682","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/682/packages"},{"uuid":"3664744234","node_id":"PR_kwDOL3PqEc61gXOt","number":673,"state":"open","title":"chore(deps): bump the python-dependencies group with 25 updates","user":"dependabot[bot]","labels":["security","backend","dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-25T22:01:34.000Z","updated_at":"2025-11-26T07:00:21.957Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-dependencies","update_count":25,"packages":[{"name":"minio","old_version":"7.2.18","new_version":"7.2.19","repository_url":"https://github.com/minio/minio-py"},{"name":"deptry","old_version":"0.23.1","new_version":"0.24.0","repository_url":"https://github.com/fpgmaas/deptry"},{"name":"ruff","old_version":"0.14.2","new_version":"0.14.6","repository_url":"https://github.com/astral-sh/ruff"},{"name":"bandit","old_version":"1.8.6","new_version":"1.9.2","repository_url":"https://github.com/PyCQA/bandit"},{"name":"safety","old_version":"3.6.2","new_version":"3.7.0","repository_url":"https://github.com/pyupio/safety"},{"name":"fastapi","old_version":"0.116.1","new_version":"0.122.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"pydantic-settings","old_version":"2.6.1","new_version":"2.12.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"pymilvus","old_version":"2.4.9","new_version":"2.6.3","repository_url":"https://github.com/milvus-io/pymilvus"},{"name":"scikit-learn","old_version":"1.6.0","new_version":"1.7.2","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"weaviate-client","old_version":"4.16.9","new_version":"4.18.1","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"sqlalchemy","old_version":"2.0.36","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"pandas","old_version":"2.1.4","new_version":"2.2.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pymupdf","old_version":"1.25.0","new_version":"1.26.6","repository_url":"https://github.com/pymupdf/pymupdf"},{"name":"chromadb","old_version":"1.2.0","new_version":"1.3.5","repository_url":"https://github.com/chroma-core/chroma"},{"name":"starlette","old_version":"0.47.3","new_version":"0.50.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"ibm-watsonx-ai","old_version":"1.3.37","new_version":"1.4.7"},{"name":"json-repair","old_version":"0.30.3","new_version":"0.54.2","repository_url":"https://github.com/mangiucugna/json_repair"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"psutil","old_version":"7.0.0","new_version":"7.1.3","repository_url":"https://github.com/giampaolo/psutil"},{"name":"docling","old_version":"2.55.0","new_version":"2.63.0","repository_url":"https://github.com/docling-project/docling"},{"name":"transformers","old_version":"4.57.1","new_version":"4.57.3","repository_url":"https://github.com/huggingface/transformers"},{"name":"spacy","old_version":"3.8.7","new_version":"3.8.11","repository_url":"https://github.com/explosion/spaCy"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 25 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [minio](https://github.com/minio/minio-py) | `7.2.18` | `7.2.19` |\n| [deptry](https://github.com/fpgmaas/deptry) | `0.23.1` | `0.24.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.2` | `0.14.6` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.6` | `1.9.2` |\n| [safety](https://github.com/pyupio/safety) | `3.6.2` | `3.7.0` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.116.1` | `0.122.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.38.0` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.6.1` | `2.12.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [pymilvus](https://github.com/milvus-io/pymilvus) | `2.4.9` | `2.6.3` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.0` | `1.7.2` |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.16.9` | `4.18.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.36` | `2.0.44` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.1.4` | `2.2.3` |\n| [pymupdf](https://github.com/pymupdf/pymupdf) | `1.25.0` | `1.26.6` |\n| [chromadb](https://github.com/chroma-core/chroma) | `1.2.0` | `1.3.5` |\n| [starlette](https://github.com/Kludex/starlette) | `0.47.3` | `0.50.0` |\n| [ibm-watsonx-ai](https://ibm.github.io/watsonx-ai-python-sdk) | `1.3.37` | `1.4.7` |\n| [json-repair](https://github.com/mangiucugna/json_repair) | `0.30.3` | `0.54.2` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.1.3` |\n| [docling](https://github.com/docling-project/docling) | `2.55.0` | `2.63.0` |\n| [transformers](https://github.com/huggingface/transformers) | `4.57.1` | `4.57.3` |\n| [spacy](https://github.com/explosion/spaCy) | `3.8.7` | `3.8.11` |\n\nUpdates `minio` from 7.2.18 to 7.2.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minio/minio-py/releases\"\u003eminio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBugfix release 7.2.19\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd region, extra_headers and extra_query_params by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1505\"\u003eminio/minio-py#1505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake BaseException internals to be set by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1521\"\u003eminio/minio-py#1521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Add missing type annotations to serialization dataclass fields by \u003ca href=\"https://github.com/rraulinio\"\u003e\u003ccode\u003e@​rraulinio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1527\"\u003eminio/minio-py#1527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport optional parameters in LdapIdentityProvider by \u003ca href=\"https://github.com/jkandasa\"\u003e\u003ccode\u003e@​jkandasa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1528\"\u003eminio/minio-py#1528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect existing checksum headers to both CreateMultipartUpload and UploadPart requests by \u003ca href=\"https://github.com/rraulinio\"\u003e\u003ccode\u003e@​rraulinio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1529\"\u003eminio/minio-py#1529\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/rraulinio\"\u003e\u003ccode\u003e@​rraulinio\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1527\"\u003eminio/minio-py#1527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jkandasa\"\u003e\u003ccode\u003e@​jkandasa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1528\"\u003eminio/minio-py#1528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.18...7.2.19\"\u003ehttps://github.com/minio/minio-py/compare/7.2.18...7.2.19\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/minio/minio-py/commit/31ac1ae4e250eb5eb12a37434559c522e888ebd7\"\u003e\u003ccode\u003e31ac1ae\u003c/code\u003e\u003c/a\u003e fix: incorrect checksum headers for both CreateMultipartUpload and UploadPart...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/a929d3a86cb877adae49adbd08b3b72df0f9c03f\"\u003e\u003ccode\u003ea929d3a\u003c/code\u003e\u003c/a\u003e support optional parameters in LdapIdentityProvider (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1528\"\u003e#1528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/cbac53b069b6137b8d344595cbb1ea16e701db34\"\u003e\u003ccode\u003ecbac53b\u003c/code\u003e\u003c/a\u003e Fix: Add missing type annotations to serialization dataclass fields (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1527\"\u003e#1527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/48068f8b813613b0a3333839f5f226e20ebc3616\"\u003e\u003ccode\u003e48068f8\u003c/code\u003e\u003c/a\u003e Make BaseException internals to be set (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1521\"\u003e#1521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/6daf3668742fef35ce69fc000ed633a0d23d33da\"\u003e\u003ccode\u003e6daf366\u003c/code\u003e\u003c/a\u003e Add region, extra_headers and extra_query_params (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1505\"\u003e#1505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/64ed1ef509545107eb771b7ae150d1311ccdf271\"\u003e\u003ccode\u003e64ed1ef\u003c/code\u003e\u003c/a\u003e Update version to next release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.18...7.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `deptry` from 0.23.1 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/fpgmaas/deptry/releases\"\u003edeptry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003ch4\u003ePython 3.9 support dropped\u003c/h4\u003e\n\u003cp\u003eSupport for Python 3.9 has been dropped, as it has reached its end of life.\u003c/p\u003e\n\u003ch4\u003ePyPy 3.10 support dropped, 3.11 added\u003c/h4\u003e\n\u003cp\u003eSupport for PyPy 3.10 has been dropped, since it is unsupported. We now only test against PyPy 3.11, and only publish wheels for this version.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub Actions annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1224\"\u003e#1224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePublish wheels for PyPy 3.11 and drop 3.10 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1227\"\u003e#1227\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFull Changelog\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\"\u003ehttps://github.com/fpgmaas/deptry/compare/0.23.1...0.24.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/fpgmaas/deptry/blob/main/CHANGELOG.md\"\u003edeptry's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.0 - 2025-11-09\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003ch4\u003ePython 3.9 support dropped\u003c/h4\u003e\n\u003cp\u003eSupport for Python 3.9 has been dropped, as it has reached its end of life.\u003c/p\u003e\n\u003ch4\u003ePyPy 3.10 support dropped, 3.11 added\u003c/h4\u003e\n\u003cp\u003eSupport for PyPy 3.10 has been dropped, since it is unsupported. We now only test against PyPy 3.11, and only publish wheels for this version.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub Actions annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1224\"\u003e#1224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePublish wheels for PyPy 3.11 and drop 3.10 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1227\"\u003e#1227\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFull Changelog\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\"\u003ehttps://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/4cc2d65ce1343957c911ca45709d6080cb9f82c3\"\u003e\u003ccode\u003e4cc2d65\u003c/code\u003e\u003c/a\u003e docs(changelog): add 0.24.0 release notes (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1330\"\u003e#1330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/8757b318e9974bbfa7ec65dabf999bc935ac026f\"\u003e\u003ccode\u003e8757b31\u003c/code\u003e\u003c/a\u003e chore: sync all dependency groups by default and run mypy locally (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1337\"\u003e#1337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/5ebc5c066831dd3dfeef7e79a4ae4f5934d744b9\"\u003e\u003ccode\u003e5ebc5c0\u003c/code\u003e\u003c/a\u003e feat: add github annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/aa59b6fa66bd3468ad681317de14189606a9c04e\"\u003e\u003ccode\u003eaa59b6f\u003c/code\u003e\u003c/a\u003e fix(deps): update ruff rust to v0.14.4 (patch) (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1335\"\u003e#1335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/87a6b87428641bc7cab3b22d00d788e28ed86ae9\"\u003e\u003ccode\u003e87a6b87\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1336\"\u003e#1336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/6b938ae73633b1a1f46e3888c9673b49d5e9dd60\"\u003e\u003ccode\u003e6b938ae\u003c/code\u003e\u003c/a\u003e chore(deps): update uv-version to v0.9.8 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/92c35bab5ad0a11d2becc31e4cdbe4413a746233\"\u003e\u003ccode\u003e92c35ba\u003c/code\u003e\u003c/a\u003e chore(deps): update pre-commit hook woodruffw/zizmor-pre-commit to v1.16.3 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/a8be2902812426acaf00ff344dc93a48f30d48d7\"\u003e\u003ccode\u003ea8be290\u003c/code\u003e\u003c/a\u003e chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.4 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1332\"\u003e#1332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/6abefd1237071ba0e8d3fc1c9e02a402ccde11f6\"\u003e\u003ccode\u003e6abefd1\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency mkdocs-material to v9.6.23 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/6b556861d72024d1f8b5f8c8ead9d1b48cef0f9e\"\u003e\u003ccode\u003e6b55686\u003c/code\u003e\u003c/a\u003e test: update all test dependencies (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1313\"\u003e#1313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.2 to 0.14.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.6\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Support new PySNMP API paths (\u003ccode\u003eS508\u003c/code\u003e, \u003ccode\u003eS509\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21374\"\u003e#21374\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdjust own-line comment placement between branches (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21185\"\u003e#21185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid syntax error when formatting attribute expressions with outer parentheses, parenthesized value, and trailing comment on value (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20418\"\u003e#20418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic when formatting comments in unary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21501\"\u003e#21501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003efmt: skip\u003c/code\u003e for compound statements on a single line (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20633\"\u003e#20633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Fix \u003ccode\u003eFURB103\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21454\"\u003e#21454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix false positive for complex conversion specifiers in \u003ccode\u003elogging-eager-conversion\u003c/code\u003e (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21464\"\u003e#21464\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] Avoid false positive on \u003ccode\u003eClassVar\u003c/code\u003e reassignment (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21478\"\u003e#21478\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRender hyperlinks for lint errors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21514\"\u003e#21514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003eruff analyze\u003c/code\u003e option to skip over imports in \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21472\"\u003e#21472\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLimit \u003ccode\u003eeglot-format\u003c/code\u003e hook to eglot-managed Python buffers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21459\"\u003e#21459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention \u003ccode\u003eforce-exclude\u003c/code\u003e in \u0026quot;Configuration \u0026gt; Python file discovery\u0026quot; (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21500\"\u003e#21500\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gauthsvenkat\"\u003e\u003ccode\u003e@​gauthsvenkat\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thamer\"\u003e\u003ccode\u003e@​thamer\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ruchir28\"\u003e\u003ccode\u003e@​Ruchir28\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/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.6\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.14.6/ruff-installer.sh | sh\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.6\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Support new PySNMP API paths (\u003ccode\u003eS508\u003c/code\u003e, \u003ccode\u003eS509\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21374\"\u003e#21374\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdjust own-line comment placement between branches (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21185\"\u003e#21185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid syntax error when formatting attribute expressions with outer parentheses, parenthesized value, and trailing comment on value (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20418\"\u003e#20418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic when formatting comments in unary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21501\"\u003e#21501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003efmt: skip\u003c/code\u003e for compound statements on a single line (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20633\"\u003e#20633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Fix \u003ccode\u003eFURB103\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21454\"\u003e#21454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix false positive for complex conversion specifiers in \u003ccode\u003elogging-eager-conversion\u003c/code\u003e (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21464\"\u003e#21464\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] Avoid false positive on \u003ccode\u003eClassVar\u003c/code\u003e reassignment (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21478\"\u003e#21478\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRender hyperlinks for lint errors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21514\"\u003e#21514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003eruff analyze\u003c/code\u003e option to skip over imports in \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21472\"\u003e#21472\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLimit \u003ccode\u003eeglot-format\u003c/code\u003e hook to eglot-managed Python buffers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21459\"\u003e#21459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention \u003ccode\u003eforce-exclude\u003c/code\u003e in \u0026quot;Configuration \u0026gt; Python file discovery\u0026quot; (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21500\"\u003e#21500\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gauthsvenkat\"\u003e\u003ccode\u003e@​gauthsvenkat\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thamer\"\u003e\u003ccode\u003e@​thamer\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ruchir28\"\u003e\u003ccode\u003e@​Ruchir28\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/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.5\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-13.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Apply \u003ccode\u003eSIM113\u003c/code\u003e when index variable is of type \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21395\"\u003e#21395\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/59c6cb521d26380120f8522476fd09d296bf4f2e\"\u003e\u003ccode\u003e59c6cb5\u003c/code\u003e\u003c/a\u003e Bump 0.14.6 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21558\"\u003e#21558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/54dba15088ced32c31592ab44ddfdf40614002bb\"\u003e\u003ccode\u003e54dba15\u003c/code\u003e\u003c/a\u003e [ty] Improve debug messages when imports fail (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21555\"\u003e#21555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1af318534a01ba6be69d7d77c33e96080635a8af\"\u003e\u003ccode\u003e1af3185\u003c/code\u003e\u003c/a\u003e [ty] Add support for relative import completions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/553e5686248e86b9c781af77c714adc229bf8cc5\"\u003e\u003ccode\u003e553e568\u003c/code\u003e\u003c/a\u003e [ty] Refactor detection of import statements for completions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/cdef3f5ab8115e2581e080341d4bab932d905af4\"\u003e\u003ccode\u003ecdef3f5\u003c/code\u003e\u003c/a\u003e [ty] Use dedicated collector for completions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/617882242719af179a42be68170f9de9d83174f4\"\u003e\u003ccode\u003e6178822\u003c/code\u003e\u003c/a\u003e [ty] Attach subdiagnostics to \u003ccode\u003eunresolved-import\u003c/code\u003e errors for relative imports...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6b7adb0537d1a57f26cf462a637af483e0ba2c75\"\u003e\u003ccode\u003e6b7adb0\u003c/code\u003e\u003c/a\u003e [ty] support PEP 613 type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21394\"\u003e#21394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/06941c1987bd4fe2b54d99b5514784472cabc0b3\"\u003e\u003ccode\u003e06941c1\u003c/code\u003e\u003c/a\u003e [ty] More low-hanging fruit for inlay hint goto-definition (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21548\"\u003e#21548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/eb7c098d6b70aacbaebe8b7c8d7710ad4ad0f46b\"\u003e\u003ccode\u003eeb7c098\u003c/code\u003e\u003c/a\u003e [ty] implement \u003ccode\u003eTypedDict\u003c/code\u003e structural assignment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21467\"\u003e#21467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1b28fc1f1417284a075afa4a18c5e9d31a7d8620\"\u003e\u003ccode\u003e1b28fc1\u003c/code\u003e\u003c/a\u003e [ty] Add more random TypeDetails and tests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21546\"\u003e#21546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.2...0.14.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bandit` from 1.8.6 to 1.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/bandit/releases\"\u003ebandit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArgparse Python 3.14 enhancements by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1331\"\u003ePyCQA/bandit#1331\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck whether Constant value is str by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1333\"\u003ePyCQA/bandit#1333\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.9.1...1.9.2\"\u003ehttps://github.com/PyCQA/bandit/compare/1.9.1...1.9.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMore Python version related fixes by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1327\"\u003ePyCQA/bandit#1327\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.9.0...1.9.1\"\u003ehttps://github.com/PyCQA/bandit/compare/1.9.0...1.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd instructions for Maintainers to create/publish a release by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1275\"\u003ePyCQA/bandit#1275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump sigstore/cosign-installer from 3.9.1 to 3.9.2 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/PyCQA/bandit/pull/1289\"\u003ePyCQA/bandit#1289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump docker/login-action from 3.4.0 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1290\"\u003ePyCQA/bandit#1290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1291\"\u003ePyCQA/bandit#1291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1292\"\u003ePyCQA/bandit#1292\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated datetime.datetime.utcnow() by \u003ca href=\"https://github.com/purplezimmermann\"\u003e\u003ccode\u003e@​purplezimmermann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1295\"\u003ePyCQA/bandit#1295\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/PyCQA/bandit/pull/1296\"\u003ePyCQA/bandit#1296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump sigstore/cosign-installer from 3.9.2 to 3.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1298\"\u003ePyCQA/bandit#1298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1303\"\u003ePyCQA/bandit#1303\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos by \u003ca href=\"https://github.com/Shortfinga\"\u003e\u003ccode\u003e@​Shortfinga\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1305\"\u003ePyCQA/bandit#1305\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump docker/login-action from 3.5.0 to 3.6.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1306\"\u003ePyCQA/bandit#1306\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1315\"\u003ePyCQA/bandit#1315\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump sigstore/cosign-installer from 3.10.0 to 4.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1317\"\u003ePyCQA/bandit#1317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport of Python 3.14 by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1323\"\u003ePyCQA/bandit#1323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop support of end-of-life Python 3.9 by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1325\"\u003ePyCQA/bandit#1325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1324\"\u003ePyCQA/bandit#1324\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/purplezimmermann\"\u003e\u003ccode\u003e@​purplezimmermann\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1295\"\u003ePyCQA/bandit#1295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shortfinga\"\u003e\u003ccode\u003e@​Shortfinga\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1305\"\u003ePyCQA/bandit#1305\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.8.6...1.9.0\"\u003ehttps://github.com/PyCQA/bandit/compare/1.8.6...1.9.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/ea0d187d78b2e6365e35f676d2eb9b1be264c091\"\u003e\u003ccode\u003eea0d187\u003c/code\u003e\u003c/a\u003e Check whether Constant value is str (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/8bf759452a1f492a7035165e4c6a6d80b83c2502\"\u003e\u003ccode\u003e8bf7594\u003c/code\u003e\u003c/a\u003e Argparse Python 3.14 enhancements (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/a255dfaecbd1b4dbdb09d10a1f69e9f1874e5999\"\u003e\u003ccode\u003ea255dfa\u003c/code\u003e\u003c/a\u003e More Python version related fixes (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1327\"\u003e#1327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/3f07bb0d3f964a2bcd3a8b208f4343131a40f63a\"\u003e\u003ccode\u003e3f07bb0\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1324\"\u003e#1324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/c8c3fb86996b44d5fe22b6ae270a97e34d0d0b65\"\u003e\u003ccode\u003ec8c3fb8\u003c/code\u003e\u003c/a\u003e Drop support of end-of-life Python 3.9 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1325\"\u003e#1325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/5c303504631286becbf8c223cc923b885689d5e3\"\u003e\u003ccode\u003e5c30350\u003c/code\u003e\u003c/a\u003e Support of Python 3.14 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1323\"\u003e#1323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/e1ffdf63da4b32241beb00d1ce45fe3702251907\"\u003e\u003ccode\u003ee1ffdf6\u003c/code\u003e\u003c/a\u003e Bump sigstore/cosign-installer from 3.10.0 to 4.0.0 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1317\"\u003e#1317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/176d4cacdb56ca3b4e7adb35e4122a7a011a0ed4\"\u003e\u003ccode\u003e176d4ca\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1315\"\u003e#1315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/2fc3e9c41dd728649930365d09b2cc66b03a97f4\"\u003e\u003ccode\u003e2fc3e9c\u003c/code\u003e\u003c/a\u003e Bump docker/login-action from 3.5.0 to 3.6.0 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1306\"\u003e#1306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/6a685467d6bd44aa35d5ef64e2ee6187a20c6484\"\u003e\u003ccode\u003e6a68546\u003c/code\u003e\u003c/a\u003e Fix typos (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1305\"\u003e#1305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.8.6...1.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `safety` from 3.6.2 to 3.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyupio/safety/releases\"\u003esafety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.7.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.7.0b5 → 3.7.0 (9df3a6f)\u003c/li\u003e\n\u003cli\u003efix: npm ecosystem check on render package details (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/820\"\u003e#820\u003c/a\u003e) (9780ac2)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.7.0b5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.7.0b4 → 3.7.0b5 (7f138f1)\u003c/li\u003e\n\u003cli\u003efix: bash priority issues (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/819\"\u003e#819\u003c/a\u003e) (933dc82)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.7.0b4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.7.0b3 → 3.7.0b4 (3b1e4dc)\u003c/li\u003e\n\u003cli\u003eci: remove version from the artifacts name (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/818\"\u003e#818\u003c/a\u003e) (c5134b5)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.7.0b3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.7.0b2 → 3.7.0b3 (04f24e5)\u003c/li\u003e\n\u003cli\u003eci: separate checksum artifacts for signed and unsigned builds (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/817\"\u003e#817\u003c/a\u003e) (a08a347)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.7.0b0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.6.2 → 3.7.0b0 (b289a6c)\u003c/li\u003e\n\u003cli\u003efix: replace deprecated pkg_resources with importlib.metadata (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/813\"\u003e#813\u003c/a\u003e) (c1e07ef)\u003c/li\u003e\n\u003cli\u003echore: drop python 3.8 support (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/791\"\u003e#791\u003c/a\u003e) (a41c82b)\u003c/li\u003e\n\u003cli\u003echore: set minimum tenacity version to 8.1.0 (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/812\"\u003e#812\u003c/a\u003e) (973a265)\u003c/li\u003e\n\u003cli\u003echore: restructure GitHub issue templates and remove bug bounty references (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/811\"\u003e#811\u003c/a\u003e) (2fcbe72)\u003c/li\u003e\n\u003cli\u003efeat: add firewall support for NPM (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/800\"\u003e#800\u003c/a\u003e) (5d44edf)\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/pyupio/safety/blob/main/CHANGELOG.md\"\u003esafety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.7.0 (2025-11-06)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003enpm ecosystem check on render package details (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/820\"\u003e#820\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.7.0b5 (2025-11-04)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebash priority issues (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.7.0b4 (2025-11-03)\u003c/h2\u003e\n\u003ch2\u003e3.7.0b3 (2025-11-03)\u003c/h2\u003e\n\u003ch2\u003e3.7.0b2 (2025-11-03)\u003c/h2\u003e\n\u003ch2\u003e3.7.0b1 (2025-11-03)\u003c/h2\u003e\n\u003ch2\u003e3.7.0b0 (2025-10-22)\u003c/h2\u003e\n\u003ch3\u003eFeat\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd firewall support for NPM (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/800\"\u003e#800\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated pkg_resources with importlib.metadata (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/813\"\u003e#813\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/pyupio/safety/commit/9df3a6fa2b5270988690eda334c9880169371354\"\u003e\u003ccode\u003e9df3a6f\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b5 → 3.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/9780ac2d4373e7496aef804754157056888d6168\"\u003e\u003ccode\u003e9780ac2\u003c/code\u003e\u003c/a\u003e fix: npm ecosystem check on render package details (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/820\"\u003e#820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/7f138f14cbec354dce45056421a017b1a46a15fc\"\u003e\u003ccode\u003e7f138f1\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b4 → 3.7.0b5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/933dc82d3df3bfe0afe3212e5eb6771317a6c413\"\u003e\u003ccode\u003e933dc82\u003c/code\u003e\u003c/a\u003e fix: bash priority issues (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/3b1e4dc3cb305a7fa5710f0bf35858ce59af37b5\"\u003e\u003ccode\u003e3b1e4dc\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b3 → 3.7.0b4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/c5134b5847597fa0ff1efcc1cf0729544057c9f2\"\u003e\u003ccode\u003ec5134b5\u003c/code\u003e\u003c/a\u003e ci: remove version from the artifacts name (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/818\"\u003e#818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/04f24e54eeb7756d5f3eb88e4e3a03db32d19e0e\"\u003e\u003ccode\u003e04f24e5\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b2 → 3.7.0b3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/a08a34763d932f77940df737bbdd1882871f359d\"\u003e\u003ccode\u003ea08a347\u003c/code\u003e\u003c/a\u003e ci: separate checksum artifacts for signed and unsigned builds (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/817\"\u003e#817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/2ff7ace8c18d05c6a556b87b1be6aa2c380cf4d6\"\u003e\u003ccode\u003e2ff7ace\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b1 → 3.7.0b2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/2964f19a56e117d7e91030c0f8ab8a79bb65476c\"\u003e\u003ccode\u003e2964f19\u003c/code\u003e\u003c/a\u003e ci: load version on release jobs (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/816\"\u003e#816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyupio/safety/compare/3.6.2...3.7.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.116.1 to 0.122.0\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.122.0\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Use \u003ccode\u003e401\u003c/code\u003e status code in security classes when credentials are missing. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13786\"\u003e#13786\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eIf your code depended on these classes raising the old (less correct) \u003ccode\u003e403\u003c/code\u003e status code, check the new docs about how to override the classes, to use the same old behavior: \u003ca href=\"https://fastapi.tiangolo.com/how-to/authentication-error-status-code/\"\u003eUse Old 403 Authentication Error Status Codes\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🔧 Configure labeler to exclude files that start from underscore for \u003ccode\u003elang-all\u003c/code\u003e label. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14213\"\u003e#14213\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👷 Add pre-commit config with local script for permalinks. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14398\"\u003e#14398\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💄 Use font Fira Code to fix display of Rich panels in docs in Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14387\"\u003e#14387\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 custom pre-commit CI. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14397\"\u003e#14397\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 actions/checkout from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14381\"\u003e#14381\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👷 Upgrade \u003ccode\u003elatest-changes\u003c/code\u003e GitHub Action and pin \u003ccode\u003eactions/checkout@v5\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14403\"\u003e#14403\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🛠️ Add \u003ccode\u003eadd-permalinks\u003c/code\u003e and \u003ccode\u003eadd-permalinks-page\u003c/code\u003e to \u003ccode\u003escripts/docs.py\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14033\"\u003e#14033\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🔧 Upgrade Material for MkDocs and remove insiders. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14375\"\u003e#14375\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.121.3\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Make the result of \u003ccode\u003eDepends()\u003c/code\u003e and \u003ccode\u003eSecurity()\u003c/code\u003e hashable, as a workaround for other tools interacting with these internal parts. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14372\"\u003e#14372\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\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Bump Starlette to \u0026lt;\u003ccode\u003e0.51.0\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14282\"\u003e#14282\u003c/a\u003e by \u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\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📝 Add missing hash part. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14369\"\u003e#14369\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix typos in code comments. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14364\"\u003e#14364\u003c/a\u003e by \u003ca href=\"https://github.com/Edge-Seven\"\u003e\u003ccode\u003e@​Edge-Seven\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add docs for using FastAPI Cloud. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14359\"\u003e#14359\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.121.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix handling of JSON Schema attributes named \u0026quot;$ref\u0026quot;. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14349\"\u003e#14349\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📝 Add EuroPython talk \u0026amp; podcast episode with Sebastián Ramírez. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14260\"\u003e#14260\u003c/a\u003e by \u003ca href=\"https://github.com/clytaemnestra\"\u003e\u003ccode\u003e@​clytaemnestra\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Fix links and add missing permalink in docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14217\"\u003e#14217\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\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update Portuguese translations with LLM prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14228\"\u003e#14228\u003c/a\u003e by \u003ca href=\"https://github.com/ceb10n\"\u003e\u003ccode\u003e@​ceb10n\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Add Portuguese translations LLM prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14208\"\u003e#14208\u003c/a\u003e by \u003ca href=\"https://github.com/ceb10n\"\u003e\u003ccode\u003e@​ceb10n\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Sync Russian docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14331\"\u003e#14331\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🌐 Sync German docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14317\"\u003e#14317\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\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/5b0625df96e4ea11b54fcb2a76f21f7ad94764fe\"\u003e\u003ccode\u003e5b0625d\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.122.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8732c53478513ddd35ae152ff9bf5e6217ed3d99\"\u003e\u003ccode\u003e8732c53\u003c/code\u003e\u003c/a\u003e 📝 Updates release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/a4ef97afd937a8fd180a78e11c3648509e5bc14d\"\u003e\u003ccode\u003ea4ef97a\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/51ad909ffe9f5b2d5c9315554e75e39a8a2d725c\"\u003e\u003ccode\u003e51ad909\u003c/code\u003e\u003c/a\u003e 🐛 Use \u003ccode\u003e401\u003c/code\u003e status code in security classes when credentials are missing (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/13\"\u003e#13\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e2354a0a063f2fcb890ec568f1a98e136a39fd25\"\u003e\u003ccode\u003ee2354a0\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cc66dee55c9a0f34c2e277c0509c45c74abcefd1\"\u003e\u003ccode\u003ecc66dee\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/ecfb752487bc3abef35b2786297bc575005c9e36\"\u003e\u003ccode\u003eecfb752\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8b18522205b9ac738b241c4143c983e968fe6e15\"\u003e\u003ccode\u003e8b18522\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/a2395e02436a3788400d864696120fcd91af38cc\"\u003e\u003ccode\u003ea2395e0\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c7d05a903ce34e8578237cf2aab7242cefe51af2\"\u003e\u003ccode\u003ec7d05a9\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.116.1...0.122.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.35.0 to 0.38.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.38.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2723\"\u003eKludex/uvicorn#2723\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NGANAMODEIJunior\"\u003e\u003ccode\u003e@​NGANAMODEIJunior\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2713\"\u003eKludex/uvicorn#2713\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.37.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e setting by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2711\"\u003eKludex/uvicorn#2711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e by \u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LincolnPuzey\"\u003e\u003ccode\u003e@​LincolnPuzey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2669\"\u003eKludex/uvicorn#2669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2709\"\u003eKludex/uvicorn#2709\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs by \u003ca href=\"https://github.com/gnir-work\"\u003e\u003ccode\u003e@​gnir-work\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2435\"\u003eKludex/uvicorn#2435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to provide importable string in \u003ccode\u003e--http\u003c/code\u003e, \u003ccode\u003e--ws\u003c/code\u003e and \u003ccode\u003e--loop\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2658\"\u003eKludex/uvicorn#2658\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnir-work\"\u003e\u003ccode\u003e@​gnir-work\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2435\"\u003eKludex/uvicorn#2435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2659\"\u003eKludex/uvicorn#2659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secrett2633\"\u003e\u003ccode\u003e@​secrett2633\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2684\"\u003eKludex/uvicorn#2684\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.35.0...0.36.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.35.0...0.36.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.38.0 (October 18, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.1 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.0 (September 20, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2435\"\u003e#2435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow to provide importable string in \u003ccode\u003e--http\u003c/code\u003e, \u003ccode\u003e--ws\u003c/code\u003e and \u003ccode\u003e--loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2658\"\u003e#2658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/3850ad6520cafb290bd4174fa9c4ca5d33440c82\"\u003e\u003ccode\u003e3850ad6\u003c/code\u003e\u003c/a\u003e Version 0.38.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2733\"\u003e#2733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b3f17a549ec96f57bf4d975145fc58feefdd4e8\"\u003e\u003ccode\u003e9b3f17a\u003c/code\u003e\u003c/a\u003e Support Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/ce79f95d065c053b36449f67b3b2cefee5ecf167\"\u003e\u003ccode\u003ece79f95\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add Marcelo Trylesinski to the license (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2699\"\u003e#2699\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2730\"\u003e#2730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/dbf8797b47c79da542f530f2143b8e851e2388fd\"\u003e\u003ccode\u003edbf8797\u003c/code\u003e\u003c/a\u003e docs: add social icons (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2728\"\u003e#2728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/58f28be98eb95c8cf25905df10997b4af81c23e3\"\u003e\u003ccode\u003e58f28be\u003c/code\u003e\u003c/a\u003e Add section about event loop (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2725\"\u003e#2725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/93d95107490d5ea3693601388d7783c450058271\"\u003e\u003ccode\u003e93d9510\u003c/code\u003e\u003c/a\u003e Bump docs dependencies (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2724\"\u003e#2724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b1c6c45ed7fe8bd485ddad475f0feff03971af7\"\u003e\u003ccode\u003e9b1c6c4\u003c/code\u003e\u003c/a\u003e Move Marcelo Trylesinski to maintainers in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2719\"\u003e#2719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/57a61d86f2f123b1d35b9ff71e0f29d22d10806f\"\u003e\u003ccode\u003e57a61d8\u003c/code\u003e\u003c/a\u003e Add discord to README (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2718\"\u003e#2718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7ef5f9f5e7e79887b4ab4214c15ab5a9ce63e193\"\u003e\u003ccode\u003e7ef5f9f\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from 6.7.0 to 6.8.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2717\"\u003e#2717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/6d26d88970379cbf20b4dbf4f70e27f191db4ede\"\u003e\u003ccode\u003e6d26d88\u003c/code\u003e\u003c/a\u003e Update pyproject.toml for PEP639 compliance (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2713\"\u003e#2713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.35.0...0.38.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-settings` from 2.6.1 to 2.12.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.12.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for enum kebab case. 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/686\"\u003epydantic/pydantic-settings#686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd NestedSecretsSettings source by \u003ca href=\"https://github.com/makukha\"\u003e\u003ccode\u003e@​makukha\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/690\"\u003epydantic/pydantic-settings#690\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip non-explicit default values. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/692\"\u003epydantic/pydantic-settings#692\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCoerce env vars if strict is True. 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/693\"\u003epydantic/pydantic-settings#693\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore init kwarg names before returning final state dictionary. 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/700\"\u003epydantic/pydantic-settings#700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python3.9 support 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/699\"\u003epydantic/pydantic-settings#699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt test_protected_namespace_defaults for dev. Pydantic by \u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/637\"\u003epydantic/pydantic-settings#637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.14 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/704\"\u003epydantic/pydantic-settings#704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.12 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/705\"\u003epydantic/pydantic-settings#705\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/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCLI Serialize Support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/643\"\u003epydantic/pydantic-settings#643\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInspect type aliases to determine if an annotation is complex by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;fix: Respect 'cli_parse_args' from model_config with settings_customise_sources (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/611\"\u003e#611\u003c/a\u003e)\u0026quot; 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/655\"\u003epydantic/pydantic-settings#655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove parsing of command line arguments from \u003ccode\u003eCliSettingsSource.__init__\u003c/code\u003e. by \u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eturn off allow_abbrev on subparsers by \u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Serialization Fixes 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/649\"\u003epydantic/pydantic-settings#649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix PydanticModel type checking. 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/659\"\u003epydantic/pydantic-settings#659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid env_prefix falling back to env vars without prefix by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/648\"\u003epydantic/pydantic-settings#648\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn if model_config sets unused keys for missing settings sources by \u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncluded endpoint_url kwarg in AWSSecretsManagerSettingsSource class by \u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo (\u0026quot;Accesing\u0026quot;) in the \u0026quot;Adding sources\u0026quot; docs by \u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Windows Path Fix 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/669\"\u003epydantic/pydantic-settings#669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCli root model support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/677\"\u003epydantic/pydantic-settings#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSnake case conversion in Azure Key Vault by \u003ca href=\"https://github.com/AndreuCodina\"\u003e\u003ccode\u003e@​AndreuCodina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/680\"\u003epydantic/pydantic-settings#680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eInitSettingsSource\u003c/code\u003e resolution deterministic by \u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/683\"\u003epydantic/pydantic-settings#683\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/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.10.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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/584983d253a0fac4dfb294d1e6f9ef188add468b\"\u003e\u003ccode\u003e584983d\u003c/code\u003e\u003c/a\u003e Prepare release 2.12 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/705\"\u003e#705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/6b4d87e77698476433031c0056ce71aa4f4a7c4e\"\u003e\u003ccode\u003e6b4d87e\u003c/code\u003e\u003c/a\u003e Add Python 3.14 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/704\"\u003e#704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/02de5b622b8648404aa792df01599aa1179c3aa7\"\u003e\u003ccode\u003e02de5b6\u003c/code\u003e\u003c/a\u003e Adapt test_protected_namespace_defaults for dev. Pydantic (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/637\"\u003e#637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4239ea460a5c465a4ce908c52e9606549b38fa98\"\u003e\u003ccode\u003e4239ea4\u003c/code\u003e\u003c/a\u003e Drop Python3.9 support (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/699\"\u003e#699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/5008c694f684f88fd310f476871ec021426e98d7\"\u003e\u003ccode\u003e5008c69\u003c/code\u003e\u003c/a\u003e Restore init kwarg names before returning final state dictionary. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/700\"\u003e#700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4433101fef6770d3fc0844846f7f3837bfec3b10\"\u003e\u003ccode\u003e4433101\u003c/code\u003e\u003c/a\u003e Coerce env vars if strict is True. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4d2ebfd543e6011f6b71a99042007adf7e613ae9\"\u003e\u003ccode\u003e4d2ebfd\u003c/code\u003e\u003c/a\u003e Strip non-explicit default values. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4a6ffcaeae451199b1873c6709b28aceae7317a7\"\u003e\u003ccode\u003e4a6ffca\u003c/code\u003e\u003c/a\u003e Add NestedSecretsSettings source (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/7a6e96ebfc89ddb5b20dfb068c8ed46b6ff18a7f\"\u003e\u003ccode\u003e7a6e96e\u003c/code\u003e\u003c/a\u003e Apply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/68563eddc09856b94ea0ca156dd75040b4e048e4\"\u003e\u003ccode\u003e68563ed\u003c/code\u003e\u003c/a\u003e Support for enum kebab case. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/686\"\u003e#686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.6.1...v2.12.0\"\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.1\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.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env 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/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\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.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff 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/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() 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/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) 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/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini 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/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory 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/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml 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/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure find_dotenv 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/pull/563\"\u003etheskumar/python-dotenv#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): issue with execvpe on Windows by \u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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.1.0...v1.1.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a security policy 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/512\"\u003etheskumar/python-dotenv#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep GitHub Actions up to date with GitHub's Dependabot by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/506\"\u003etheskumar/python-dotenv#506\u003c...\n\n_Description has been truncated_","html_url":"https://github.com/manavgup/rag_modulo/pull/673","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/manavgup%2Frag_modulo/issues/673","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/673/packages"},{"uuid":"3586611862","node_id":"PR_kwDOLzgXB86xbAwt","number":615,"state":"closed","title":"Bump the allpip group across 1 directory with 68 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-10T07:46:16.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-04T13:32:47.000Z","updated_at":"2025-11-10T07:46:19.000Z","time_to_close":497609,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"allpip","update_count":68,"packages":[{"name":"alembic","old_version":"1.16.5","new_version":"1.17.1","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"pydantic","old_version":"2.11.9","new_version":"2.12.3","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-settings","old_version":"2.10.1","new_version":"2.11.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"uvicorn","old_version":"0.36.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"sqlalchemy","old_version":"2.0.43","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"minio","old_version":"7.2.16","new_version":"7.2.18","repository_url":"https://github.com/minio/minio-py"},{"name":"coverage","old_version":"7.10.7","new_version":"7.11.0","repository_url":"https://github.com/nedbat/coveragepy"},{"name":"ruff","old_version":"0.13.1","new_version":"0.14.3","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pyright","old_version":"1.1.405","new_version":"1.1.407","repository_url":"https://github.com/RobertCraigie/pyright-python"},{"name":"anyio","old_version":"4.8.0","new_version":"4.11.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"argon2-cffi","old_version":"23.1.0","new_version":"25.1.0","repository_url":"https://github.com/hynek/argon2-cffi"},{"name":"argon2-cffi-bindings","old_version":"21.2.0","new_version":"25.1.0","repository_url":"https://github.com/hynek/argon2-cffi-bindings"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"cachecontrol","old_version":"0.14.1","new_version":"0.14.3","repository_url":"https://github.com/psf/cachecontrol"},{"name":"certifi","old_version":"2024.12.14","new_version":"2025.10.5","repository_url":"https://github.com/certifi/python-certifi"},{"name":"charset-normalizer","old_version":"3.4.1","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"cryptography","old_version":"44.0.1","new_version":"46.0.3","repository_url":"https://github.com/pyca/cryptography"},{"name":"cssbeautifier","old_version":"1.15.1","new_version":"1.15.4","repository_url":"https://github.com/beautifier/js-beautify"},{"name":"distlib","old_version":"0.3.9","new_version":"0.4.0","repository_url":"https://github.com/pypa/distlib"},{"name":"editorconfig","old_version":"0.17.0","new_version":"0.17.1","repository_url":"https://github.com/editorconfig/editorconfig-core-py"},{"name":"fastjsonschema","old_version":"2.21.1","new_version":"2.21.2","repository_url":"https://github.com/horejsek/python-fastjsonschema"},{"name":"filelock","old_version":"3.16.1","new_version":"3.20.0","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"findpython","old_version":"0.6.2","new_version":"0.7.0","repository_url":"https://github.com/frostming/findpython"},{"name":"fsspec","old_version":"2024.12.0","new_version":"2025.10.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"greenlet","old_version":"3.1.1","new_version":"3.2.4","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"httptools","old_version":"0.6.4","new_version":"0.7.1","repository_url":"https://github.com/MagicStack/httptools"},{"name":"identify","old_version":"2.6.5","new_version":"2.6.15","repository_url":"https://github.com/pre-commit/identify"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"iniconfig","old_version":"2.0.0","new_version":"2.3.0","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"jaraco-functools","old_version":"4.1.0","new_version":"4.3.0","repository_url":"https://github.com/jaraco/jaraco.functools"},{"name":"jeepney","old_version":"0.8.0","new_version":"0.9.0"},{"name":"jsbeautifier","old_version":"1.15.1","new_version":"1.15.4","repository_url":"https://github.com/ghost6991/Jsbeautifier"},{"name":"json5","old_version":"0.10.0","new_version":"0.12.1","repository_url":"https://github.com/dpranke/pyjson5"},{"name":"mako","old_version":"1.3.8","new_version":"1.3.10","repository_url":"https://github.com/sqlalchemy/mako"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"more-itertools","old_version":"10.5.0","new_version":"10.8.0","repository_url":"https://github.com/more-itertools/more-itertools"},{"name":"msgpack","old_version":"1.1.0","new_version":"1.1.2","repository_url":"https://github.com/msgpack/msgpack-python"},{"name":"multidict","old_version":"6.1.0","new_version":"6.7.0","repository_url":"https://github.com/aio-libs/multidict"},{"name":"packaging","old_version":"24.2","new_version":"25.0","repository_url":"https://github.com/pypa/packaging"},{"name":"pbs-installer","old_version":"2025.2.12","new_version":"2025.10.31","repository_url":"https://github.com/frostming/pbs-installer"},{"name":"pkginfo","old_version":"1.12.0","new_version":"1.12.1.2"},{"name":"platformdirs","old_version":"4.3.6","new_version":"4.5.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pluggy","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/pytest-dev/pluggy"},{"name":"propcache","old_version":"0.2.1","new_version":"0.4.1","repository_url":"https://github.com/aio-libs/propcache"},{"name":"pycparser","old_version":"2.22","new_version":"2.23","repository_url":"https://github.com/eliben/pycparser"},{"name":"pycryptodome","old_version":"3.21.0","new_version":"3.23.0","repository_url":"https://github.com/Legrandin/pycryptodome"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"rapidfuzz","old_version":"3.11.0","new_version":"3.14.3","repository_url":"https://github.com/rapidfuzz/RapidFuzz"},{"name":"regex","old_version":"2024.11.6","new_version":"2025.11.3","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"secretstorage","old_version":"3.3.3","new_version":"3.4.0","repository_url":"https://github.com/mitya57/secretstorage"},{"name":"tomlkit","old_version":"0.13.2","new_version":"0.13.3","repository_url":"https://github.com/sdispater/tomlkit"},{"name":"trove-classifiers","old_version":"2025.1.6.15","new_version":"2025.9.11.17","repository_url":"https://github.com/pypa/trove-classifiers"},{"name":"uvloop","old_version":"0.21.0","new_version":"0.22.1","repository_url":"https://github.com/MagicStack/uvloop"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"virtualenv","old_version":"20.28.1","new_version":"20.35.4","repository_url":"https://github.com/pypa/virtualenv"},{"name":"watchfiles","old_version":"1.0.3","new_version":"1.1.1","repository_url":"https://github.com/samuelcolvin/watchfiles"},{"name":"websockets","old_version":"14.1","new_version":"15.0.1","repository_url":"https://github.com/python-websockets/websockets"},{"name":"wrapt","old_version":"1.17.0","new_version":"2.0.0","repository_url":"https://github.com/GrahamDumpleton/wrapt"},{"name":"xattr","old_version":"1.1.4","new_version":"1.3.0","repository_url":"https://github.com/xattr/xattr"},{"name":"yarl","old_version":"1.18.3","new_version":"1.22.0","repository_url":"https://github.com/aio-libs/yarl"},{"name":"zstandard","old_version":"0.23.0","new_version":"0.25.0","repository_url":"https://github.com/indygreg/python-zstandard"}],"path":null,"ecosystem":"pip"},"body":"Bumps the allpip group with 64 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.16.5` | `1.17.1` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.9` | `2.12.3` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.10.1` | `2.11.0` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.36.0` | `0.38.0` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.43` | `2.0.44` |\n| [minio](https://github.com/minio/minio-py) | `7.2.16` | `7.2.18` |\n| [coverage](https://github.com/nedbat/coveragepy) | `7.10.7` | `7.11.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.13.1` | `0.14.3` |\n| [pyright](https://github.com/RobertCraigie/pyright-python) | `1.1.405` | `1.1.407` |\n| [anyio](https://github.com/agronholm/anyio) | `4.8.0` | `4.11.0` |\n| [argon2-cffi](https://github.com/hynek/argon2-cffi) | `23.1.0` | `25.1.0` |\n| [argon2-cffi-bindings](https://github.com/hynek/argon2-cffi-bindings) | `21.2.0` | `25.1.0` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [cachecontrol](https://github.com/psf/cachecontrol) | `0.14.1` | `0.14.3` |\n| [certifi](https://github.com/certifi/python-certifi) | `2024.12.14` | `2025.10.5` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.1` | `3.4.4` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.1` | `46.0.3` |\n| [cssbeautifier](https://github.com/beautifier/js-beautify) | `1.15.1` | `1.15.4` |\n| [distlib](https://github.com/pypa/distlib) | `0.3.9` | `0.4.0` |\n| [editorconfig](https://github.com/editorconfig/editorconfig-core-py) | `0.17.0` | `0.17.1` |\n| [fastjsonschema](https://github.com/horejsek/python-fastjsonschema) | `2.21.1` | `2.21.2` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.16.1` | `3.20.0` |\n| [findpython](https://github.com/frostming/findpython) | `0.6.2` | `0.7.0` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2024.12.0` | `2025.10.0` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.1.1` | `3.2.4` |\n| [httptools](https://github.com/MagicStack/httptools) | `0.6.4` | `0.7.1` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.5` | `2.6.15` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.0.0` | `2.3.0` |\n| [jaraco-functools](https://github.com/jaraco/jaraco.functools) | `4.1.0` | `4.3.0` |\n| [jeepney](https://gitlab.com/takluyver/jeepney) | `0.8.0` | `0.9.0` |\n| [jsbeautifier](https://github.com/ghost6991/Jsbeautifier) | `1.15.1` | `1.15.4` |\n| [json5](https://github.com/dpranke/pyjson5) | `0.10.0` | `0.12.1` |\n| [mako](https://github.com/sqlalchemy/mako) | `1.3.8` | `1.3.10` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [more-itertools](https://github.com/more-itertools/more-itertools) | `10.5.0` | `10.8.0` |\n| [msgpack](https://github.com/msgpack/msgpack-python) | `1.1.0` | `1.1.2` |\n| [multidict](https://github.com/aio-libs/multidict) | `6.1.0` | `6.7.0` |\n| [packaging](https://github.com/pypa/packaging) | `24.2` | `25.0` |\n| [pbs-installer](https://github.com/frostming/pbs-installer) | `2025.2.12` | `2025.10.31` |\n| [pkginfo](https://code.launchpad.net/~tseaver/pkginfo/trunk) | `1.12.0` | `1.12.1.2` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.3.6` | `4.5.0` |\n| [pluggy](https://github.com/pytest-dev/pluggy) | `1.5.0` | `1.6.0` |\n| [propcache](https://github.com/aio-libs/propcache) | `0.2.1` | `0.4.1` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.22` | `2.23` |\n| [pycryptodome](https://github.com/Legrandin/pycryptodome) | `3.21.0` | `3.23.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [rapidfuzz](https://github.com/rapidfuzz/RapidFuzz) | `3.11.0` | `3.14.3` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2024.11.6` | `2025.11.3` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [secretstorage](https://github.com/mitya57/secretstorage) | `3.3.3` | `3.4.0` |\n| [tomlkit](https://github.com/sdispater/tomlkit) | `0.13.2` | `0.13.3` |\n| [trove-classifiers](https://github.com/pypa/trove-classifiers) | `2025.1.6.15` | `2025.9.11.17` |\n| [uvloop](https://github.com/MagicStack/uvloop) | `0.21.0` | `0.22.1` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `20.28.1` | `20.35.4` |\n| [watchfiles](https://github.com/samuelcolvin/watchfiles) | `1.0.3` | `1.1.1` |\n| [websockets](https://github.com/python-websockets/websockets) | `14.1` | `15.0.1` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.0` | `2.0.0` |\n| [xattr](https://github.com/xattr/xattr) | `1.1.4` | `1.3.0` |\n| [yarl](https://github.com/aio-libs/yarl) | `1.18.3` | `1.22.0` |\n| [zstandard](https://github.com/indygreg/python-zstandard) | `0.23.0` | `0.25.0` |\n\n\nUpdates `alembic` from 1.16.5 to 1.17.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/alembic/releases\"\u003ealembic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.17.1\u003c/h1\u003e\n\u003cp\u003eReleased: October 28, 2025\u003c/p\u003e\n\u003ch2\u003eusecase\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[usecase] [commands]\u003c/strong\u003e Added \u003ccode\u003ecommand.current.check_heads\u003c/code\u003e parameter to\n\u003ccode\u003ecommand.current()\u003c/code\u003e command, available from the command line via the\n\u003ccode\u003e--check-heads\u003c/code\u003e option to \u003ccode\u003ealembic current\u003c/code\u003e.  This tests if all head\nrevisions are applied to the database and raises \u003ccode\u003eDatabaseNotAtHead\u003c/code\u003e\n(or from the command line, exits with a non-zero exit code) if this is not\nthe case.  The parameter operates equvialently to the cookbook recipe\n\u003ccode\u003ecookbook_check_heads\u003c/code\u003e. Pull request courtesy Stefan Scherfke.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1705\"\u003e#1705\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [commands]\u003c/strong\u003e Disallow ':' character in custom revision identifiers. Previously, using a\ncolon in a revision ID (e.g., 'REV:1') would create the revision, however\nrevisions with colons in them are not correctly interpreted by other\ncommands, as it overlaps with the revision range syntax.   Pull request\ncourtesy Kim Wooseok with original implementation by Hrushikesh Patil.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1540\"\u003e#1540\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.17.0\u003c/h1\u003e\n\u003cp\u003eReleased: October 11, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[change] [tests]\u003c/strong\u003e The top-level test runner has been changed to use \u003ccode\u003enox\u003c/code\u003e, adding a\n\u003ccode\u003enoxfile.py\u003c/code\u003e as well as some included modules.   The \u003ccode\u003etox.ini\u003c/code\u003e file\nremains in place so that \u003ccode\u003etox\u003c/code\u003e runs will continue to function in the near\nterm, however it will be eventually removed and improvements and\nmaintenance going forward will be only towards \u003ccode\u003enoxfile.py\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[change] [general]\u003c/strong\u003e The minimum Python version is now 3.10, as Python 3.9 is EOL.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/alembic/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.9 to 2.12.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.3 2025-10-17\u003c/h2\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.13 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported \u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRaise a warning when an invalid after model validator function signature is raised by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12414\"\u003e#12414\u003c/a\u003e.\nStarting in 2.12.0, using class methods for \u003cem\u003eafter\u003c/em\u003e model validators raised an error, but the error wasn't raised concistently. We decided to emit a deprecation warning instead.\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://docs.pydantic.dev/latest/api/fields/#pydantic.fields.FieldInfo.asdict\"\u003e\u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e\u003c/a\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12411\"\u003e#12411\u003c/a\u003e.\nThis also adds back support for mutations on \u003ccode\u003eFieldInfo\u003c/code\u003e classes, that are reused as \u003ccode\u003eAnnotated\u003c/code\u003e metadata. \u003cstrong\u003eHowever\u003c/strong\u003e, note that this is still \u003cem\u003enot\u003c/em\u003e a supported pattern. Instead, please refer to the \u003ca href=\"https://docs.pydantic.dev/latest/examples/dynamic_models/\"\u003eadded example\u003c/a\u003e in the documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-12-release#changes\"\u003eblog post\u003c/a\u003e section on changes was also updated to document the changes related to \u003ccode\u003eserialize_as_any\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.2...v2.12.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.2...v2.12.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.2 2025-10-14\u003c/h2\u003e\n\u003ch2\u003ev2.12.2 (2025-10-14)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRelease a new \u003ccode\u003epydantic-core\u003c/code\u003e version, as a corrupted CPython 3.10 \u003ccode\u003emanylinux2014_aarch64\u003c/code\u003e wheel got uploaded (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1843\"\u003epydantic-core#1843\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with recursive generic models with a parent model class by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12398\"\u003e#12398\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.1...v2.12.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.1...v2.12.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.1 2025-10-13\u003c/h2\u003e\n\u003ch2\u003ev2.12.1 (2025-10-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the first 2.12 patch release, addressing most (but not all yet) regressions from the initial 2.12.0 release.\u003c/p\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eDo not evaluate annotations when inspecting validators and serializers by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12355\"\u003e#12355\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake sure \u003ccode\u003eNone\u003c/code\u003e is converted as \u003ccode\u003eNoneType\u003c/code\u003e in Python 3.14 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12370\"\u003e#12370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport V1 runtime warning when using Python 3.14 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12367\"\u003e#12367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error message for invalid validator signatures by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12366\"\u003e#12366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePopulate field name in \u003ccode\u003eValidationInfo\u003c/code\u003e for validation of default value by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1826\"\u003epydantic-core#1826\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode credentials in \u003ccode\u003eMultiHostUrl\u003c/code\u003e builder by \u003ca href=\"https://github.com/willswire\"\u003e\u003ccode\u003e@​willswire\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1829\"\u003epydantic-core#1829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect field serializers when using \u003ccode\u003eserialize_as_any\u003c/code\u003e serialization flag by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1829\"\u003epydantic-core#1829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix various \u003ccode\u003eRootModel\u003c/code\u003e serialization issues by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1836\"\u003epydantic-core#1836\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.12 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported\n\u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRaise a warning when an invalid after model validator function signature is raised by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12414\"\u003e#12414\u003c/a\u003e.\nStarting in 2.12.0, using class methods for \u003cem\u003eafter\u003c/em\u003e model validators raised an error, but the error wasn't raised concistently. We decided\nto emit a deprecation warning instead.\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://docs.pydantic.dev/latest/api/fields/#pydantic.fields.FieldInfo.asdict\"\u003e\u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e\u003c/a\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12411\"\u003e#12411\u003c/a\u003e.\nThis also add back support for mutations on \u003ccode\u003eFieldInfo\u003c/code\u003e classes, that are reused as \u003ccode\u003eAnnotated\u003c/code\u003e metadata. \u003cstrong\u003eHowever\u003c/strong\u003e, note that this is still\n\u003cem\u003enot\u003c/em\u003e a supported pattern. Instead, please refer to the \u003ca href=\"https://docs.pydantic.dev/latest/examples/dynamic_models/\"\u003eadded example\u003c/a\u003e in the documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-12-release#changes\"\u003eblog post\u003c/a\u003e section on changes was also updated to document the changes related to \u003ccode\u003eserialize_as_any\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003ev2.12.2 (2025-10-14)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.2\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRelease a new \u003ccode\u003epydantic-core\u003c/code\u003e version, as a corrupted CPython 3.10 \u003ccode\u003emanylinux2014_aarch64\u003c/code\u003e wheel got uploaded (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1843\"\u003epydantic-core#1843\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with recursive generic models with a parent model class by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12398\"\u003e#12398\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.1 (2025-10-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the first 2.12 patch release, addressing most (but not all yet) regressions from the initial 2.12.0 release.\u003c/p\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eDo not evaluate annotations when inspecting validators and serializers by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12355\"\u003e#12355\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake sure \u003ccode\u003eNone\u003c/code\u003e is converted as \u003ccode\u003eNoneType\u003c/code\u003e in Python 3.14 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12370\"\u003e#12370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport V1 runtime warning when using Python 3.14 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12367\"\u003e#12367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error message for invalid validator signatures by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12366\"\u003e#12366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePopulate field name in \u003ccode\u003eValidationInfo\u003c/code\u003e for validation of default value by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1826\"\u003epydantic-core#1826\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode credentials in \u003ccode\u003eMultiHostUrl\u003c/code\u003e builder by \u003ca href=\"https://github.com/willswire\"\u003e\u003ccode\u003e@​willswire\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1829\"\u003epydantic-core#1829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect field serializers when using \u003ccode\u003eserialize_as_any\u003c/code\u003e serialization flag by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1829\"\u003epydantic-core#1829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix various \u003ccode\u003eRootModel\u003c/code\u003e serialization issues by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1836\"\u003epydantic-core#1836\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1a8850d101e67d2744ba8c6286e1172d7cd89d0b\"\u003e\u003ccode\u003e1a8850d\u003c/code\u003e\u003c/a\u003e Prepare release 2.12.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/09dbcf29c73c3fd7fd3ef1edfebe357e807cc9ca\"\u003e\u003ccode\u003e09dbcf2\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5da43310ec61a7b9b3017b2b9f388e778398a1bc\"\u003e\u003ccode\u003e5da4331\u003c/code\u003e\u003c/a\u003e Improve documentation about serialize as any behavior\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/9c863245ad3799ab331f33b52e2d7441e9c1191e\"\u003e\u003ccode\u003e9c86324\u003c/code\u003e\u003c/a\u003e Raise a warning when an invalid after model validator function signature is r...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/36a73c6ed53df7f1cad3343bc811e1dd3f52d26f\"\u003e\u003ccode\u003e36a73c6\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003epydantic-extra-types\u003c/code\u003e dependency to version \u003ccode\u003e\u0026gt;=2.10.6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1e616a3a6fa0201f840c08143cac883e56a2d9df\"\u003e\u003ccode\u003e1e616a3\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/dc302e2d09f0eed14729f69bc61a258f1f35d35c\"\u003e\u003ccode\u003edc302e2\u003c/code\u003e\u003c/a\u003e Fix issue with recursive generic models with a parent model class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/6876485d0cffeb66c915695574344ae4b03645a7\"\u003e\u003ccode\u003e6876485\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e to v2.41.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b4076c66773b514d4891f036a4cc562b8ff0ff21\"\u003e\u003ccode\u003eb4076c6\u003c/code\u003e\u003c/a\u003e Prepare release 2.12.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b67f07291167b4005a6eeee05fcad67b43a53f41\"\u003e\u003ccode\u003eb67f072\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e to v2.41.3\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.9...v2.12.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.10.1 to 2.11.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.11.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCLI Serialize Support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/643\"\u003epydantic/pydantic-settings#643\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInspect type aliases to determine if an annotation is complex by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;fix: Respect 'cli_parse_args' from model_config with settings_customise_sources (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/611\"\u003e#611\u003c/a\u003e)\u0026quot; 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/655\"\u003epydantic/pydantic-settings#655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove parsing of command line arguments from \u003ccode\u003eCliSettingsSource.__init__\u003c/code\u003e. by \u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eturn off allow_abbrev on subparsers by \u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Serialization Fixes 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/649\"\u003epydantic/pydantic-settings#649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix PydanticModel type checking. 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/659\"\u003epydantic/pydantic-settings#659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid env_prefix falling back to env vars without prefix by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/648\"\u003epydantic/pydantic-settings#648\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn if model_config sets unused keys for missing settings sources by \u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncluded endpoint_url kwarg in AWSSecretsManagerSettingsSource class by \u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo (\u0026quot;Accesing\u0026quot;) in the \u0026quot;Adding sources\u0026quot; docs by \u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Windows Path Fix 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/669\"\u003epydantic/pydantic-settings#669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCli root model support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/677\"\u003epydantic/pydantic-settings#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSnake case conversion in Azure Key Vault by \u003ca href=\"https://github.com/AndreuCodina\"\u003e\u003ccode\u003e@​AndreuCodina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/680\"\u003epydantic/pydantic-settings#680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eInitSettingsSource\u003c/code\u003e resolution deterministic by \u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/683\"\u003epydantic/pydantic-settings#683\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/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/3e664300f38a4ad1e1ff4b431147f18d63930028\"\u003e\u003ccode\u003e3e66430\u003c/code\u003e\u003c/a\u003e Prepare release 2.11.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/684\"\u003e#684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/44fb5b7a97ed82d09d3895bee49b82ae4ac55fd9\"\u003e\u003ccode\u003e44fb5b7\u003c/code\u003e\u003c/a\u003e Update deps (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/683\"\u003e#683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/0497ef23314dbd63ea41d07ab9c301e628f2f9f9\"\u003e\u003ccode\u003e0497ef2\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003eInitSettingsSource\u003c/code\u003e resolution deterministic (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/681\"\u003e#681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/c22cef44ff7d3ca058eee188bf1967650146fcda\"\u003e\u003ccode\u003ec22cef4\u003c/code\u003e\u003c/a\u003e Snake case conversion in Azure Key Vault (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/9c6c9b55e27ab78e48eaa570965c6e52c32c9f38\"\u003e\u003ccode\u003e9c6c9b5\u003c/code\u003e\u003c/a\u003e Cli root model support (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/677\"\u003e#677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/a164b73fcf8d802c1a7db7c6d9d830f11b70244e\"\u003e\u003ccode\u003ea164b73\u003c/code\u003e\u003c/a\u003e CLI Windows Path Fix (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/669\"\u003e#669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/d81f8d861d01eff563b8b91a1694d48b6eade92e\"\u003e\u003ccode\u003ed81f8d8\u003c/code\u003e\u003c/a\u003e Fix typo (\u0026quot;Accesing\u0026quot;) in the \u0026quot;Adding sources\u0026quot; docs (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/668\"\u003e#668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/53ade971d122b9fef88da85a8ff489180e06c796\"\u003e\u003ccode\u003e53ade97\u003c/code\u003e\u003c/a\u003e Included endpoint_url kwarg in AWSSecretsManagerSettingsSource class (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/664\"\u003e#664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/1967d6f5c18db30ddbcffe4856ea941a71189abc\"\u003e\u003ccode\u003e1967d6f\u003c/code\u003e\u003c/a\u003e Warn if model_config sets unused keys for missing settings sources (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/663\"\u003e#663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/1fc20873d208979dfac0fa336f99fc05c0562ae8\"\u003e\u003ccode\u003e1fc2087\u003c/code\u003e\u003c/a\u003e Avoid env_prefix falling back to env vars without prefix (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2-binary` from 2.9.10 to 2.9.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2-binary's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eFix building when pg_config returns an empty string (:ticket:\u003ccode\u003e[#1599](https://github.com/psycopg/psycopg2/issues/1599)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eWheel package bundled with OpenSSL 1.1.1v.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.6\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/fd9ae8cad2bcfc3e7e9410e7b6f07cda8f4f05ec\"\u003e\u003ccode\u003efd9ae8c\u003c/code\u003e\u003c/a\u003e chore: bump to version 2.9.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d923840546942534f0956d9202f914fd9feac5fd\"\u003e\u003ccode\u003ed923840\u003c/code\u003e\u003c/a\u003e chore: update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d42dc7169d3cd93517e282e9ef5dc2a2b40650a2\"\u003e\u003ccode\u003ed42dc71\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-1791'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4fde6560c32f06ad1304404c9f7f86148dcc4be0\"\u003e\u003ccode\u003e4fde656\u003c/code\u003e\u003c/a\u003e fix: avoid failed assert passing more arguments than placeholders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/8308c19d6af0d904b313997539ed33415990a74e\"\u003e\u003ccode\u003e8308c19\u003c/code\u003e\u003c/a\u003e fix: drop warning about the use of deprecated PyWeakref_GetObject function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1a1eabf098a3374409bb2ab4b594777b900f396d\"\u003e\u003ccode\u003e1a1eabf\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/github-script from 7 to 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/897af8b38beda851d7257dfc525129e37c0ec9e0\"\u003e\u003ccode\u003e897af8b\u003c/code\u003e\u003c/a\u003e build(deps): bump peter-evans/repository-dispatch from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ceefd305117113ca10e383a626e87ba0796f3638\"\u003e\u003ccode\u003eceefd30\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4dc585430cabe94cee96c5a9de0265d0f55370f1\"\u003e\u003ccode\u003e4dc5854\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1945788dcf6172bb1b9328ebc3587ccf0e6a659c\"\u003e\u003ccode\u003e1945788\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1802\"\u003e#1802\u003c/a\u003e from edgarrmondragon/cp314-wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.10...2.9.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.36.0 to 0.38.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.38.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2723\"\u003eKludex/uvicorn#2723\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NGANAMODEIJunior\"\u003e\u003ccode\u003e@​NGANAMODEIJunior\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2713\"\u003eKludex/uvicorn#2713\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.37.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e setting by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2711\"\u003eKludex/uvicorn#2711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e by \u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LincolnPuzey\"\u003e\u003ccode\u003e@​LincolnPuzey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2669\"\u003eKludex/uvicorn#2669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2709\"\u003eKludex/uvicorn#2709\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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.38.0 (October 18, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.1 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/3850ad6520cafb290bd4174fa9c4ca5d33440c82\"\u003e\u003ccode\u003e3850ad6\u003c/code\u003e\u003c/a\u003e Version 0.38.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2733\"\u003e#2733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b3f17a549ec96f57bf4d975145fc58feefdd4e8\"\u003e\u003ccode\u003e9b3f17a\u003c/code\u003e\u003c/a\u003e Support Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/ce79f95d065c053b36449f67b3b2cefee5ecf167\"\u003e\u003ccode\u003ece79f95\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add Marcelo Trylesinski to the license (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2699\"\u003e#2699\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2730\"\u003e#2730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/dbf8797b47c79da542f530f2143b8e851e2388fd\"\u003e\u003ccode\u003edbf8797\u003c/code\u003e\u003c/a\u003e docs: add social icons (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2728\"\u003e#2728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/58f28be98eb95c8cf25905df10997b4af81c23e3\"\u003e\u003ccode\u003e58f28be\u003c/code\u003e\u003c/a\u003e Add section about event loop (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2725\"\u003e#2725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/93d95107490d5ea3693601388d7783c450058271\"\u003e\u003ccode\u003e93d9510\u003c/code\u003e\u003c/a\u003e Bump docs dependencies (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2724\"\u003e#2724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b1c6c45ed7fe8bd485ddad475f0feff03971af7\"\u003e\u003ccode\u003e9b1c6c4\u003c/code\u003e\u003c/a\u003e Move Marcelo Trylesinski to maintainers in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2719\"\u003e#2719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/57a61d86f2f123b1d35b9ff71e0f29d22d10806f\"\u003e\u003ccode\u003e57a61d8\u003c/code\u003e\u003c/a\u003e Add discord to README (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2718\"\u003e#2718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7ef5f9f5e7e79887b4ab4214c15ab5a9ce63e193\"\u003e\u003ccode\u003e7ef5f9f\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from 6.7.0 to 6.8.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2717\"\u003e#2717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/6d26d88970379cbf20b4dbf4f70e27f191db4ede\"\u003e\u003ccode\u003e6d26d88\u003c/code\u003e\u003c/a\u003e Update pyproject.toml for PEP639 compliance (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2713\"\u003e#2713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.0...0.38.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyyaml` from 6.0.2 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yaml/pyyaml/releases\"\u003epyyaml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14 and free-threading (experimental).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\u003ehttps://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\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/yaml/pyyaml/blob/6.0.3/CHANGES\"\u003epyyaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e6.0.3 (2025-09-25)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/yaml/pyyaml/pull/864\"\u003eyaml/pyyaml#864\u003c/a\u003e -- Support for Python 3.14 and free-threading (experimental)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yaml/pyyaml/commit/49790e73684bebad1df05ef8d828fa12f685bffb\"\u003e\u003ccode\u003e49790e7\u003c/code\u003e\u003c/a\u003e Release 6.0.3 (\u003ca href=\"https://redirect.github.com/yaml/pyyaml/issues/889\"\u003e#889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.43 to 2.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.44\u003c/h1\u003e\n\u003cp\u003eReleased: October 10, 2025\u003c/p\u003e\n\u003ch2\u003eplatform\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[platform] [bug]\u003c/strong\u003e Unblocked automatic greenlet installation for Python 3.14 now that\nthere are greenlet wheels on pypi for python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [usecase]\u003c/strong\u003e The way ORM Annotated Declarative interprets Python \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type aliases\nin \u003ccode\u003eMapped[]\u003c/code\u003e annotations has been refined to expand the lookup scheme. A\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type can now be resolved based on either its direct presence in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e or its immediate resolved\nvalue, as long as a recursive lookup across multiple \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types is\nnot required for it to resolve. This change reverses part of the\nrestrictions introduced in 2.0.37 as part of \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/11955\"\u003e#11955\u003c/a\u003e, which\ndeprecated (and disallowed in 2.1) the ability to resolve any \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e\ntype that was not explicitly present in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e. Recursive lookups of\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types remains deprecated in 2.0 and disallowed in version 2.1,\nas do implicit lookups of \u003ccode\u003eNewType\u003c/code\u003e types without an entry in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAdditionally, new support has been added for generic \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e aliases that\nrefer to \u003ca href=\"https://peps.python.org/pep-0593\"\u003ePEP 593\u003c/a\u003e \u003ccode\u003eAnnotated\u003c/code\u003e constructs containing\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e configurations. See the sections below for\nexamples.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12829\"\u003e#12829\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed a caching issue where \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e would\nincorrectly reuse cached bound parameter values when used with\n\u003ccode\u003e_sql.CompoundSelect\u003c/code\u003e constructs such as \u003ccode\u003e_sql.union()\u003c/code\u003e. The\nissue was caused by the cache key for compound selects not including the\nexecution options that are part of the \u003ccode\u003e_sql.Executable\u003c/code\u003e base class,\nwhich \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e uses to apply its criteria\ndynamically. The fix ensures that compound selects and other executable\nconstructs properly include execution options in their cache key traversal.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12905\"\u003e#12905\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[engine] [bug]\u003c/strong\u003e Implemented initial support for free-threaded Python by adding new tests\nand reworking the test harness to include Python 3.13t and Python 3.14t in\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minio` from 7.2.16 to 7.2.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minio/minio-py/releases\"\u003eminio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBugfix Release 7.2.18\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix ETag parsing in CompleteMultipartUploadResult by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1518\"\u003eminio/minio-py#1518\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecredentials: set expiration using object.\u003cstrong\u003esetattr\u003c/strong\u003e() by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1516\"\u003eminio/minio-py#1516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecleanup: SSE-C keys fix a misleading error message by \u003ca href=\"https://github.com/marktheunissen\"\u003e\u003ccode\u003e@​marktheunissen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1514\"\u003eminio/minio-py#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add py.typed in setup.py by \u003ca href=\"https://github.com/tughril\"\u003e\u003ccode\u003e@​tughril\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1513\"\u003eminio/minio-py#1513\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/marktheunissen\"\u003e\u003ccode\u003e@​marktheunissen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1514\"\u003eminio/minio-py#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tughril\"\u003e\u003ccode\u003e@​tughril\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1513\"\u003eminio/minio-py#1513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.17...7.2.18\"\u003ehttps://github.com/minio/minio-py/compare/7.2.17...7.2.18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eBugfix Release 7.2.17\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMinioAdmin: allow specifying policies as dict besides file by \u003ca href=\"https://github.com/Alveel\"\u003e\u003ccode\u003e@​Alveel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1480\"\u003eminio/minio-py#1480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix too-many-positional-arguments error and other issues by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1504\"\u003eminio/minio-py#1504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCredentials: redact password in URL by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1511\"\u003eminio/minio-py#1511\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.16...7.2.17\"\u003ehttps://github.com/minio/minio-py/compare/7.2.16...7.2.17\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/minio/minio-py/commit/ff647fe1fcb0ffb1ed190b6c6d1c8c958056508f\"\u003e\u003ccode\u003eff647fe\u003c/code\u003e\u003c/a\u003e feat: add py.typed in setup.py (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1513\"\u003e#1513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/ddb99190885a7b951339beec1ba5984c93be1341\"\u003e\u003ccode\u003eddb9919\u003c/code\u003e\u003c/a\u003e cleanup: SSE-C keys fix a misleading error message (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1514\"\u003e#1514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/ba1d03bb943de7065d5c712ccdee78d8a88b70bf\"\u003e\u003ccode\u003eba1d03b\u003c/code\u003e\u003c/a\u003e credentials: set expiration using object.\u003cstrong\u003esetattr\u003c/strong\u003e() (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1516\"\u003e#1516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/7c34d3c590740544fbf80fa153240a53043a3fca\"\u003e\u003ccode\u003e7c34d3c\u003c/code\u003e\u003c/a\u003e fix ETag parsing in CompleteMultipartUploadResult (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1518\"\u003e#1518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/4ecbbf3ec4398af1531ac0818fe00f7ad63b917f\"\u003e\u003ccode\u003e4ecbbf3\u003c/code\u003e\u003c/a\u003e Update version to next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/594ce03ac89fb19b1e60ea5b85172aa84c333ec1\"\u003e\u003ccode\u003e594ce03\u003c/code\u003e\u003c/a\u003e Credentials: redact password in URL (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1511\"\u003e#1511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/bb1a57ae2d8938c21f4922b8e75538bf9c68e9b6\"\u003e\u003ccode\u003ebb1a57a\u003c/code\u003e\u003c/a\u003e fix too-many-positional-arguments error and other issues (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1504\"\u003e#1504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/94b1193109c0ca8fa34f9319699e62c94ae269b2\"\u003e\u003ccode\u003e94b1193\u003c/code\u003e\u003c/a\u003e MinioAdmin: allow specifying policies as dict besides file (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1480\"\u003e#1480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/b7001538c7f6cd1277efbac450b9286d07806834\"\u003e\u003ccode\u003eb700153\u003c/code\u003e\u003c/a\u003e Update version to next release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.16...7.2.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.10.7 to 7.11.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.11.0 — 2025-10-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9, declared support for Python 3.15 alpha.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _changes_7-10-7:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/20ef00b4abc33a52ffcb10de4d3144e29dbea6a3\"\u003e\u003ccode\u003e20ef00b\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/5edf8ebf1f9754b32bad92d4826ed651614d9b94\"\u003e\u003ccode\u003e5edf8eb\u003c/code\u003e\u003c/a\u003e docs: prep for 7.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/2c023ae7a1c50e375d20c31b0b8c693416ba92a5\"\u003e\u003ccode\u003e2c023ae\u003c/code\u003e\u003c/a\u003e build: 3.15 is supported\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/2f1b95b0bd913397da3236155ca78e2117731247\"\u003e\u003ccode\u003e2f1b95b\u003c/code\u003e\u003c/a\u003e refactor: no need for _BaseCoverageException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/72b1bcc77e0062eefaf9d1da40c6b8c2ef0ec27e\"\u003e\u003ccode\u003e72b1bcc\u003c/code\u003e\u003c/a\u003e build: test light-threads on all versions of Python\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/16e93797527eada3417afc439fc4b28a432d6efc\"\u003e\u003ccode\u003e16e9379\u003c/code\u003e\u003c/a\u003e refactor: move core tests to their own file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/bc8875db8f98439c046f4c141cb7aecdaa8d1f56\"\u003e\u003ccode\u003ebc8875d\u003c/code\u003e\u003c/a\u003e test: change a test to be in-process so metacov can capture its work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/8e5d5b1bd53147e8618019191a062d2b86747355\"\u003e\u003ccode\u003e8e5d5b1\u003c/code\u003e\u003c/a\u003e build: tweak some version info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/b0236dffef02f1aa219326b96230bdf26b9f5e6c\"\u003e\u003ccode\u003eb0236df\u003c/code\u003e\u003c/a\u003e test: more tests for core selection, and some refactoring of them\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/56edde623ae497c3638e608ef6803583c1db8720\"\u003e\u003ccode\u003e56edde6\u003c/code\u003e\u003c/a\u003e build: next version will be 7.11.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nedbat/coveragepy/compare/7.10.7...7.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.13.1 to 0.14.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.3\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-10-30.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect \u003ccode\u003e--output-format\u003c/code\u003e with \u003ccode\u003e--watch\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21097\"\u003e#21097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epydoclint\u003c/code\u003e] Fix false positive on explicit exception re-raising (\u003ccode\u003eDOC501\u003c/code\u003e, \u003ccode\u003eDOC502\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21011\"\u003e#21011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Revert to stable behavior if imports for module lie in alternate branches for \u003ccode\u003eF401\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20878\"\u003e#20878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003estop-iteration-return\u003c/code\u003e (\u003ccode\u003ePLR1708\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20733\"\u003e#20733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add support for additional eager conversion patterns (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20657\"\u003e#20657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix finding keyword range for clause header after statement ending with semicolon (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21067\"\u003e#21067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix syntax error false positive on nested alternative patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21104\"\u003e#21104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eISC001\u003c/code\u003e] Fix panic when string literals are unclosed (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21034\"\u003e#21034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-django\u003c/code\u003e] Apply \u003ccode\u003eDJ001\u003c/code\u003e to annotated fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20907\"\u003e#20907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix \u003ccode\u003ePYI034\u003c/code\u003e to not trigger on metaclasses (\u003ccode\u003ePYI034\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20881\"\u003e#20881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Fix \u003ccode\u003eTC003\u003c/code\u003e false positive with \u003ccode\u003efuture-annotations\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21125\"\u003e#21125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Fix false positive for \u003ccode\u003e__class__\u003c/code\u003e in lambda expressions within class definitions (\u003ccode\u003eF821\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20564\"\u003e#20564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive for \u003ccode\u003eTypeVar\u003c/code\u003e with default on Python \u0026lt;3.13 (\u003ccode\u003eUP046\u003c/code\u003e,\u003ccode\u003eUP047\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21045\"\u003e#21045\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing docstring sections to the numpy list (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20931\"\u003e#20931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Extend \u003ccode\u003eairflow.models..Param\u003c/code\u003e check (\u003ccode\u003eAIR311\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21043\"\u003e#21043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Warn that \u003ccode\u003eairflow....DAG.create_dagrun\u003c/code\u003e has been removed (\u003ccode\u003eAIR301\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21093\"\u003e#21093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Preserve digit separators in \u003ccode\u003eDecimal\u003c/code\u003e constructor (\u003ccode\u003eFURB157\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20588\"\u003e#20588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid sending an unnecessary \u0026quot;clear diagnostics\u0026quot; message for clients supporting pull diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21105\"\u003e#21105\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix correct example for \u003ccode\u003eS308\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21128\"\u003e#21128\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClearer error message when \u003ccode\u003eline-length\u003c/code\u003e goes beyond threshold (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21072\"\u003e#21072\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/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jvacek\"\u003e\u003ccode\u003e@​jvacek\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/augustelalande\"\u003e\u003ccode\u003e@​augustelalande\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.3\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-10-30.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect \u003ccode\u003e--output-format\u003c/code\u003e with \u003ccode\u003e--watch\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21097\"\u003e#21097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epydoclint\u003c/code\u003e] Fix false positive on explicit exception re-raising (\u003ccode\u003eDOC501\u003c/code\u003e, \u003ccode\u003eDOC502\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21011\"\u003e#21011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Revert to stable behavior if imports for module lie in alternate branches for \u003ccode\u003eF401\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20878\"\u003e#20878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003estop-iteration-return\u003c/code\u003e (\u003ccode\u003ePLR1708\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20733\"\u003e#20733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add support for additional eager conversion patterns (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20657\"\u003e#20657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix finding keyword range for clause header after statement ending with semicolon (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21067\"\u003e#21067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix syntax error false positive on nested alternative patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21104\"\u003e#21104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eISC001\u003c/code\u003e] Fix panic when string literals are unclosed (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21034\"\u003e#21034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-django\u003c/code\u003e] Apply \u003ccode\u003eDJ001\u003c/code\u003e to annotated fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20907\"\u003e#20907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix \u003ccode\u003ePYI034\u003c/code\u003e to not trigger on metaclasses (\u003ccode\u003ePYI034\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20881\"\u003e#20881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Fix \u003ccode\u003eTC003\u003c/code\u003e false positive with \u003ccode\u003efuture-annotations\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21125\"\u003e#21125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Fix false positive for \u003ccode\u003e__class__\u003c/code\u003e in lambda expressions within class definitions (\u003ccode\u003eF821\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20564\"\u003e#20564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive for \u003ccode\u003eTypeVar\u003c/code\u003e with default on Python \u0026lt;3.13 (\u003ccode\u003eUP046\u003c/code\u003e,\u003ccode\u003eUP047\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21045\"\u003e#21045\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing docstring sections to the numpy list (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20931\"\u003e#20931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Extend \u003ccode\u003eairflow.models..Param\u003c/code\u003e check (\u003ccode\u003eAIR311\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21043\"\u003e#21043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Warn that \u003ccode\u003eairflow....DAG.create_dagrun\u003c/code\u003e has been removed (\u003ccode\u003eAIR301\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21093\"\u003e#21093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Preserve digit separators in \u003ccode\u003eDecimal\u003c/code\u003e constructor (\u003ccode\u003eFURB157\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20588\"\u003e#20588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid sending an unnecessary \u0026quot;clear diagnostics\u0026quot; message for clients supporting pull diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21105\"\u003e#21105\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix correct example for \u003ccode\u003eS308\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21128\"\u003e#21128\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClearer error message when \u003ccode\u003eline-length\u003c/code\u003e goes beyond threshold (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21072\"\u003e#21072\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/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jvacek\"\u003e\u003ccode\u003e@​jvacek\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/augustelalande\"\u003e\u003ccode\u003e@​augustelalande\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TaKO8Ki\"\u003e\u003ccode\u003e@​TaKO8Ki\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/8737a2d5f5138d855ef4b3ff6982bd7684324eab\"\u003e\u003ccode\u003e8737a2d\u003c/code\u003e\u003c/a\u003e Bump v0.14.3 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21152\"\u003e#21152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3be3a10a2fc6ddaafc13d1f5bca566282285be5f\"\u003e\u003ccode\u003e3be3a10\u003c/code\u003e\u003c/a\u003e [ty] Don't provide completions when in class or function definition (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21146\"\u003e#21146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/13375d0e42bcf7e4dac346d8fad991b97222371d\"\u003e\u003ccode\u003e13375d0\u003c/code\u003e\u003c/a\u003e [ty] Use the top materialization of classes for narrowing in class-patterns f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c0b04d4b7cfd725a9ca1b92b8bc4d93a63c56c59\"\u003e\u003ccode\u003ec0b04d4\u003c/code\u003e\u003c/a\u003e [ty] Update \u0026quot;constraint implication\u0026quot; relation to work on constraints between ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1c7ea690a820deaa0e17ecf72593ebc4781f3752\"\u003e\u003ccode\u003e1c7ea69\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Fix \u003ccode\u003eTC003\u003c/code\u003e false positive with \u003ccode\u003efuture-annotations\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9bacd19c5a44594f44be1b0dcebd7ccf1777e633\"\u003e\u003ccode\u003e9bacd19\u003c/code\u003e\u003c/a\u003e [ty] Fix lookup of \u003ccode\u003e__new__\u003c/code\u003e on instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21147\"\u003e#21147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f0fe6d62fb6711d963c64f60b5dc8a558ffb4551\"\u003e\u003ccode\u003ef0fe6d6\u003c/code\u003e\u003c/a\u003e Fix syntax error false positive on nested alternative patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21104\"\u003e#21104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/10bda3df00679c6808d8593470fe693ea8c9ae8f\"\u003e\u003ccode\u003e10bda3d\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive for \u003ccode\u003eTypeVar\u003c/code\u003e with default on Python \u0026lt;3.13 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e55bc943e5f8708aeaced34488ca5d790c388cee\"\u003e\u003ccode\u003ee55bc94\u003c/code\u003e\u003c/a\u003e [ty] Reachability and narrowing for enum methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21130\"\u003e#21130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1b0ee4677e216562033f8a2f9b006738734cb2b9\"\u003e\u003ccode\u003e1b0ee46\u003c/code\u003e\u003c/a\u003e [ty] Use \u003ccode\u003erange\u003c/code\u003e instead of custom \u003ccode\u003eIntIterable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21138\"\u003e#21138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.13.1...0.14.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyright` from 1.1.405 to 1.1.407\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RobertCraigie/pyright-python/commit/53e8efb4638daca6c541d18ad35dafb0e5d9f34d\"\u003e\u003ccode\u003e53e8efb\u003c/code\u003e\u003c/a\u003e Pyright NPM Package update to 1.1.407 (\u003ca href=\"https://redirect.github.com/RobertCraigie/pyright-python/issues/356\"\u003e#356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RobertCraigie/pyright-python/commit/1d515b71299f9dc4c066ce37e673d93bda4bc2df\"\u003e\u003ccode\u003e1d515b7\u003c/code\u003e\u003c/a\u003e Pyright NPM Package update to 1.1.406 (\u003ca href=\"https://redirect.github.com/RobertCraigie/pyright-python/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RobertCraigie/pyright-python/compare/v1.1.405...v1.1.407\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anyio` from 4.8.0 to 4.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/anyio/releases\"\u003eanyio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for cancellation reasons (the \u003ccode\u003ereason\u003c/code\u003e parameter to \u003ccode\u003eCancelScope.cancel()\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBumped the minimum version of Trio to v0.31.0\u003c/li\u003e\n\u003cli\u003eAdded the ability to enter the event loop from foreign (non-worker) threads by passing the return value of \u003ccode\u003eanyio.lowlevel.current_token()\u003c/code\u003e to \u003ccode\u003eanyio.from_thread.run()\u003c/code\u003e and \u003ccode\u003eanyio.from_thread.run_sync()\u003c/code\u003e as the \u003ccode\u003etoken\u003c/code\u003e keyword argument (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/256\"\u003e#256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded pytest option (\u003ccode\u003eanyio_mode = \u0026quot;auto\u0026quot;\u003c/code\u003e) to make the pytest plugin automatically handle all async tests (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the \u003ccode\u003eanyio.Condition.wait_for()\u003c/code\u003e method for feature parity with asyncio (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged the default type argument of \u003ccode\u003eanyio.abc.TaskStatus\u003c/code\u003e from \u003ccode\u003eAny\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/964\"\u003e#964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed TCP listener behavior to guarantee the same ephemeral port is used for all socket listeners when \u003ccode\u003elocal_port=0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/857\"\u003e#857\u003c/a\u003e; PR by \u003ca href=\"https://github.com/11kkw\"\u003e\u003ccode\u003e@​11kkw\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/agronholm\"\u003e\u003ccode\u003e@​agronholm\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed inconsistency between Trio and asyncio where a TCP stream that previously raised a \u003ccode\u003eBrokenResourceError\u003c/code\u003e on \u003ccode\u003esend()\u003c/code\u003e would still raise \u003ccode\u003eBrokenResourceError\u003c/code\u003e after the stream was closed on asyncio, but \u003ccode\u003eClosedResourceError\u003c/code\u003e on Trio. They now both raise a \u003ccode\u003eClosedResourceError\u003c/code\u003e in this scenario. (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the \u003ccode\u003efeed_data()\u003c/code\u003e method to the \u003ccode\u003eBufferedByteReceiveStream\u003c/code\u003e class, allowing users to inject data directly into the buffer\u003c/li\u003e\n\u003cli\u003eAdded various class methods to wrap existing sockets as listeners or socket streams:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSoc...\n\n_Description has been truncated_","html_url":"https://github.com/MinBZK/amt/pull/615","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MinBZK%2Famt/issues/615","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/615/packages"},{"uuid":"3554422167","node_id":"PR_kwDOQJopcs6vxKru","number":6,"state":"open","title":"deps(deps): bump validators from 0.22.0 to 0.35.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":"2025-10-26T20:33:43.000Z","updated_at":"2025-10-26T20:33:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps)","packages":[{"name":"validators","old_version":"0.22.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"}],"path":null,"ecosystem":"pip"},"body":"Bumps [validators](https://github.com/python-validators/validators) from 0.22.0 to 0.35.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/releases\"\u003evalidators's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\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/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003epython-validators/validators#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003epython-validators/validators#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003epython-validators/validators#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003epython-validators/validators#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003epython-validators/validators#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003epython-validators/validators#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003epython-validators/validators#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003epython-validators/validators#415\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.34.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eNo breaking changes were introduced in this version.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat: cache IANA TLDs for faster lookups by \u003ca href=\"https://github.com/salty-horse\"\u003e\u003ccode\u003e@​salty-horse\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/390\"\u003e#390\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore: update dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/394\"\u003e#394\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/blob/master/CHANGES.md\"\u003evalidators's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0 (2025-05-01)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.34.0 (2024-09-03)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eNo breaking changes were introduced in this version.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat: cache IANA TLDs for faster lookups by \u003ca href=\"https://github.com/salty-horse\"\u003e\u003ccode\u003e@​salty-horse\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/390\"\u003e#390\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore: update dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/394\"\u003e#394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: adds configuration info by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/395\"\u003e#395\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.33.0...0.34.0\"\u003e\u003ccode\u003e0.33.0...0.34.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.33.0 (2024-07-15)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/75788ed9e116fe3bf1bb9699f1696e7f7e132067\"\u003e\u003ccode\u003e75788ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/425\"\u003e#425\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/0b1799cdb431e708aff6b1b59e4430bd0828a70b\"\u003e\u003ccode\u003e0b1799c\u003c/code\u003e\u003c/a\u003e chore: updates changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/de4948f45fc4d79abec2da3b8586f6b271c5d723\"\u003e\u003ccode\u003ede4948f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/424\"\u003e#424\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/6d8a1abcdf2d92e113b1707bbf372bde4d48e3a5\"\u003e\u003ccode\u003e6d8a1ab\u003c/code\u003e\u003c/a\u003e chore: prepare for new release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/8691cead510052aae88f22776b9d6fbe1cf55351\"\u003e\u003ccode\u003e8691cea\u003c/code\u003e\u003c/a\u003e chore: formatting; sync dependencies (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/422\"\u003e#422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/bafe62e757bd99526129f8dffcfc9795817d08d8\"\u003e\u003ccode\u003ebafe62e\u003c/code\u003e\u003c/a\u003e feat: add Mir card validation support (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/7c97eca2990f6d42e27f0f211475eb0d4809de59\"\u003e\u003ccode\u003e7c97eca\u003c/code\u003e\u003c/a\u003e Fix: Allow Special DOI Cases Used in Public Administration Tests (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/415\"\u003e#415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/b2510d1c5f7ef81cdf9fa90d2548ebd826e4e734\"\u003e\u003ccode\u003eb2510d1\u003c/code\u003e\u003c/a\u003e feat: adds \u003ccode\u003edoctest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/f7742c55b680036116a7f61e140476ffd4774ccb\"\u003e\u003ccode\u003ef7742c5\u003c/code\u003e\u003c/a\u003e Refactor API: remove print from ru_inn, update description, and expose via __...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/d6241fc31f6b46bf81283c6ab3cae07c370fc1f6\"\u003e\u003ccode\u003ed6241fc\u003c/code\u003e\u003c/a\u003e fix(uri): remove \u0026quot;mailto:\u0026quot; prefix manually (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/418\"\u003e#418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-validators/validators/compare/0.22.0...0.35.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=validators\u0026package-manager=pip\u0026previous-version=0.22.0\u0026new-version=0.35.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/dimelab/issue_observatory_search/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimelab%2Fissue_observatory_search/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"},{"uuid":"3530660505","node_id":"PR_kwDOPTwklM6uib7C","number":268,"state":"open","title":"chore(deps)(deps): bump the python-dependencies group in /apps/backend with 32 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":["AnalineS"],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-20T00:58:54.000Z","updated_at":"2025-11-06T02:02:35.017Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"python-dependencies","update_count":32,"packages":[{"name":"flask","old_version":"3.1.0","new_version":"3.1.2","repository_url":"https://github.com/pallets/flask"},{"name":"openai","old_version":"1.55.3","new_version":"1.109.1","repository_url":"https://github.com/openai/openai-python"},{"name":"sentence-transformers","old_version":"5.1.0","new_version":"5.1.1","repository_url":"https://github.com/UKPLab/sentence-transformers"},{"name":"numpy","old_version":"2.0.2","new_version":"2.3.4","repository_url":"https://github.com/numpy/numpy"},{"name":"torch","old_version":"2.8.0","new_version":"2.9.0","repository_url":"https://github.com/pytorch/pytorch"},{"name":"scikit-learn","old_version":"1.6.1","new_version":"1.7.2","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"authlib","old_version":"1.6.4","new_version":"1.6.5","repository_url":"https://github.com/authlib/authlib"},{"name":"cryptography","old_version":"46.0.1","new_version":"46.0.3","repository_url":"https://github.com/pyca/cryptography"},{"name":"fastapi","old_version":"0.118.6","new_version":"0.119.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"starlette","old_version":"0.40.0","new_version":"0.48.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"flask-limiter","old_version":"3.5.0","new_version":"3.12","repository_url":"https://github.com/alisaifee/flask-limiter"},{"name":"validators","old_version":"0.22.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"pydantic","old_version":"2.10.3","new_version":"2.12.3","repository_url":"https://github.com/pydantic/pydantic"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"certifi","old_version":"2025.8.3","new_version":"2025.10.5","repository_url":"https://github.com/certifi/python-certifi"},{"name":"psutil","old_version":"5.9.6","new_version":"5.9.8","repository_url":"https://github.com/giampaolo/psutil"},{"name":"google-cloud-monitoring","old_version":"2.27.2","new_version":"2.28.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-cloud-logging","old_version":"3.10.0","new_version":"3.12.1","repository_url":"https://github.com/googleapis/python-logging"},{"name":"nltk","old_version":"3.9.1","new_version":"3.9.2","repository_url":"https://github.com/nltk/nltk"},{"name":"opencv-python","old_version":"4.10.0.84","new_version":"4.12.0.88","repository_url":"https://github.com/opencv/opencv-python"},{"name":"pytesseract","old_version":"0.3.10","new_version":"0.3.13","repository_url":"https://github.com/madmaze/pytesseract"},{"name":"easyocr","old_version":"1.7.1","new_version":"1.7.2","repository_url":"https://github.com/jaidedai/easyocr"},{"name":"scipy","old_version":"1.14.0","new_version":"1.16.2","repository_url":"https://github.com/scipy/scipy"},{"name":"supabase","old_version":"2.18.1","new_version":"2.22.0","repository_url":"https://github.com/supabase/supabase-py"},{"name":"psycopg2-binary","old_version":"2.9.9","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.1.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"typing-extensions","old_version":"4.12.2","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"pytest","old_version":"7.4.3","new_version":"7.4.4","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-mock","old_version":"3.12.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"celery","old_version":"5.3.4","new_version":"5.5.3","repository_url":"https://github.com/celery/celery"},{"name":"torchvision","old_version":"0.23.0","new_version":"0.24.0","repository_url":"https://github.com/pytorch/vision"}],"path":"/apps/backend","ecosystem":"pip"},"body":"Bumps the python-dependencies group in /apps/backend with 32 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `3.1.0` | `3.1.2` |\n| [openai](https://github.com/openai/openai-python) | `1.55.3` | `1.109.1` |\n| [sentence-transformers](https://github.com/UKPLab/sentence-transformers) | `5.1.0` | `5.1.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.0.2` | `2.3.4` |\n| [torch](https://github.com/pytorch/pytorch) | `2.8.0` | `2.9.0` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.1` | `1.7.2` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.4` | `1.6.5` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.1` | `46.0.3` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.118.6` | `0.119.0` |\n| [starlette](https://github.com/Kludex/starlette) | `0.40.0` | `0.48.0` |\n| [flask-limiter](https://github.com/alisaifee/flask-limiter) | `3.5.0` | `3.12` |\n| [validators](https://github.com/python-validators/validators) | `0.22.0` | `0.35.0` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.10.3` | `2.12.3` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.8.3` | `2025.10.5` |\n| [psutil](https://github.com/giampaolo/psutil) | `5.9.6` | `5.9.8` |\n| [google-cloud-monitoring](https://github.com/googleapis/google-cloud-python) | `2.27.2` | `2.28.0` |\n| [google-cloud-logging](https://github.com/googleapis/python-logging) | `3.10.0` | `3.12.1` |\n| [nltk](https://github.com/nltk/nltk) | `3.9.1` | `3.9.2` |\n| [opencv-python](https://github.com/opencv/opencv-python) | `4.10.0.84` | `4.12.0.88` |\n| [pytesseract](https://github.com/madmaze/pytesseract) | `0.3.10` | `0.3.13` |\n| [easyocr](https://github.com/jaidedai/easyocr) | `1.7.1` | `1.7.2` |\n| [scipy](https://github.com/scipy/scipy) | `1.14.0` | `1.16.2` |\n| [supabase](https://github.com/supabase/supabase-py) | `2.18.1` | `2.22.0` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.9` | `2.9.11` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.1.1` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.12.2` | `4.15.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `7.4.3` | `7.4.4` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.12.0` | `3.15.1` |\n| [celery](https://github.com/celery/celery) | `5.3.4` | `5.5.3` |\n| [torchvision](https://github.com/pytorch/vision) | `0.23.0` | `0.24.0` |\n\nUpdates `flask` from 3.1.0 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/2c1b30d0503cfb064f1cb252e6614a06915a362a\"\u003e\u003ccode\u003e2c1b30d\u003c/code\u003e\u003c/a\u003e release version 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/1292419ddfc6a14fc7f85b5ed7efcc2d215f1ad3\"\u003e\u003ccode\u003e1292419\u003c/code\u003e\u003c/a\u003e Update GitHub Actions workflow for artifact handling (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5795\"\u003e#5795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4dd52ca9c768c9b6d04180f0547d6f4b6e34f211\"\u003e\u003ccode\u003e4dd52ca\u003c/code\u003e\u003c/a\u003e Update GitHub Actions workflow for artifact handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/55c62556571ee46a94da174643b50ece06edead4\"\u003e\u003ccode\u003e55c6255\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/d8259eb11900285af9b80b0fa47f841174c054e3\"\u003e\u003ccode\u003ed8259eb\u003c/code\u003e\u003c/a\u003e use Jinja name consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/38b4c1e19b50494cfcdc9332899e09b7fed34979\"\u003e\u003ccode\u003e38b4c1e\u003c/code\u003e\u003c/a\u003e refactor stream_with_context for async views (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5799\"\u003e#5799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/9822a0351574790cb66c652fcc396ad7aa2b09d8\"\u003e\u003ccode\u003e9822a03\u003c/code\u003e\u003c/a\u003e refactor stream_with_context for async views\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/49b7e7bc8fb69d605719991d1c0a99fcee689053\"\u003e\u003ccode\u003e49b7e7b\u003c/code\u003e\u003c/a\u003e security docs for TRUSTED_HOSTS (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5798\"\u003e#5798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/b228ca3d87745b746d904a2108429617a814ffda\"\u003e\u003ccode\u003eb228ca3\u003c/code\u003e\u003c/a\u003e security docs for TRUSTED_HOSTS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ff64079a516c269f171ababf3d92b86886a62ffd\"\u003e\u003ccode\u003eff64079\u003c/code\u003e\u003c/a\u003e update flask-talisman link\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.1.0...3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 1.55.3 to 1.109.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.109.1\u003c/h2\u003e\n\u003ch2\u003e1.109.1 (2025-09-24)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v1.109.0...v1.109.1\"\u003ev1.109.0...v1.109.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecompat:\u003c/strong\u003e compat with \u003ccode\u003epydantic\u0026amp;lt;2.8.0\u003c/code\u003e when using additional fields (\u003ca href=\"https://github.com/openai/openai-python/commit/5d95ecf7abd65f3e4e273be14c80f9b4cd91ffe8\"\u003e5d95ecf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.109.0\u003c/h2\u003e\n\u003ch2\u003e1.109.0 (2025-09-23)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v1.108.2...v1.109.0\"\u003ev1.108.2...v1.109.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e gpt-5-codex (\u003ca href=\"https://github.com/openai/openai-python/commit/34502b5a175f8a10ea8694fcea38fe7308de89ef\"\u003e34502b5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.108.2\u003c/h2\u003e\n\u003ch2\u003e1.108.2 (2025-09-22)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v1.108.1...v1.108.2\"\u003ev1.108.1...v1.108.2\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e fix mcp tool name (\u003ca href=\"https://github.com/openai/openai-python/commit/fd1c673fa8d5581b38c69c37aa4fd1fd251259a2\"\u003efd1c673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e openapi updates for conversations (\u003ca href=\"https://github.com/openai/openai-python/commit/3224f6f9b4221b954a8f63de66bcaab389164ee5\"\u003e3224f6f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not install brew dependencies in ./scripts/bootstrap by default (\u003ca href=\"https://github.com/openai/openai-python/commit/6764b00bcb8aeab41e73d2fcaf6c7a18ea9f7909\"\u003e6764b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove example values (\u003ca href=\"https://github.com/openai/openai-python/commit/20b58e164f9f28b9fc562968263fa3eacc6f5c7c\"\u003e20b58e1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.108.1\u003c/h2\u003e\n\u003ch2\u003e1.108.1 (2025-09-19)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v1.108.0...v1.108.1\"\u003ev1.108.0...v1.108.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add reasoning_text (\u003ca href=\"https://github.com/openai/openai-python/commit/18d8e12061d1fd4e09d24986ff6e38c5063013e9\"\u003e18d8e12\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypes:\u003c/strong\u003e change optional parameter type from NotGiven to Omit (\u003ca href=\"https://github.com/openai/openai-python/commit/acc190a29526e64db6074e7f21aca800423c128c\"\u003eacc190a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.108.0\u003c/h2\u003e\n\u003ch2\u003e1.108.0 (2025-09-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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.109.1 (2025-09-24)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v1.109.0...v1.109.1\"\u003ev1.109.0...v1.109.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecompat:\u003c/strong\u003e compat with \u003ccode\u003epydantic\u0026amp;lt;2.8.0\u003c/code\u003e when using additional fields (\u003ca href=\"https://github.com/openai/openai-python/commit/5d95ecf7abd65f3e4e273be14c80f9b4cd91ffe8\"\u003e5d95ecf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.109.0 (2025-09-23)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v1.108.2...v1.109.0\"\u003ev1.108.2...v1.109.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e gpt-5-codex (\u003ca href=\"https://github.com/openai/openai-python/commit/34502b5a175f8a10ea8694fcea38fe7308de89ef\"\u003e34502b5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.108.2 (2025-09-22)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v1.108.1...v1.108.2\"\u003ev1.108.1...v1.108.2\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e fix mcp tool name (\u003ca href=\"https://github.com/openai/openai-python/commit/fd1c673fa8d5581b38c69c37aa4fd1fd251259a2\"\u003efd1c673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e openapi updates for conversations (\u003ca href=\"https://github.com/openai/openai-python/commit/3224f6f9b4221b954a8f63de66bcaab389164ee5\"\u003e3224f6f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not install brew dependencies in ./scripts/bootstrap by default (\u003ca href=\"https://github.com/openai/openai-python/commit/6764b00bcb8aeab41e73d2fcaf6c7a18ea9f7909\"\u003e6764b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove example values (\u003ca href=\"https://github.com/openai/openai-python/commit/20b58e164f9f28b9fc562968263fa3eacc6f5c7c\"\u003e20b58e1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.108.1 (2025-09-19)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v1.108.0...v1.108.1\"\u003ev1.108.0...v1.108.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add reasoning_text (\u003ca href=\"https://github.com/openai/openai-python/commit/18d8e12061d1fd4e09d24986ff6e38c5063013e9\"\u003e18d8e12\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypes:\u003c/strong\u003e change optional parameter type from NotGiven to Omit (\u003ca href=\"https://github.com/openai/openai-python/commit/acc190a29526e64db6074e7f21aca800423c128c\"\u003eacc190a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.108.0 (2025-09-17)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v1.107.3...v1.108.0\"\u003ev1.107.3...v1.108.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\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/openai/openai-python/commit/a1493f92a7cd4399d57046aadc943aeadda5b8e7\"\u003e\u003ccode\u003ea1493f9\u003c/code\u003e\u003c/a\u003e release: 1.109.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/edb8e106bf41937e1da9644250945665bc7a4caa\"\u003e\u003ccode\u003eedb8e10\u003c/code\u003e\u003c/a\u003e fix(compat): compat with \u003ccode\u003epydantic\u0026lt;2.8.0\u003c/code\u003e when using additional fields\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/9c4b995682f664c629d681c975496a99c793c06d\"\u003e\u003ccode\u003e9c4b995\u003c/code\u003e\u003c/a\u003e release: 1.109.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/c523e639bb0b041562aa2a1b511ddf032e4a719a\"\u003e\u003ccode\u003ec523e63\u003c/code\u003e\u003c/a\u003e feat(api): gpt-5-codex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/02af9aacd14805cbca21078d32a311758360f134\"\u003e\u003ccode\u003e02af9aa\u003c/code\u003e\u003c/a\u003e release: 1.108.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/58add648f119140bf108931371e0811601e977c3\"\u003e\u003ccode\u003e58add64\u003c/code\u003e\u003c/a\u003e chore(api): openapi updates for conversations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/3a3cabb7e140f0a462e4e3aa4f9f2902bb7a2a92\"\u003e\u003ccode\u003e3a3cabb\u003c/code\u003e\u003c/a\u003e chore: improve example values\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/bfed4af9be93e911111299c34da1baf324cbea99\"\u003e\u003ccode\u003ebfed4af\u003c/code\u003e\u003c/a\u003e fix(api): fix mcp tool name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/9272e61afa41b1e8223fdccc4935f55e7b72d11b\"\u003e\u003ccode\u003e9272e61\u003c/code\u003e\u003c/a\u003e chore: do not install brew dependencies in ./scripts/bootstrap by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/71dedfad6716c241744d3bd856370e8c59e75500\"\u003e\u003ccode\u003e71dedfa\u003c/code\u003e\u003c/a\u003e release: 1.108.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v1.55.3...v1.109.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentence-transformers` from 5.1.0 to 5.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/UKPLab/sentence-transformers/releases\"\u003esentence-transformers's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.1.1 - Explicit incorrect arguments, fixes for multi-GPU, evaluator, and hard negative\u003c/h2\u003e\n\u003cp\u003eThis patch makes Sentence Transformers more explicit with incorrect arguments and introduces some fixes for multi-GPU processing, evaluators, and hard negatives mining.\u003c/p\u003e\n\u003cp\u003eInstall this version with\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# Training + Inference\npip install sentence-transformers[train]==5.1.1\n\u003ch1\u003eInference only, use one of:\u003c/h1\u003e\n\u003cp\u003epip install sentence-transformers==5.1.1\npip install sentence-transformers[onnx-gpu]==5.1.1\npip install sentence-transformers[onnx]==5.1.1\npip install sentence-transformers[openvino]==5.1.1\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003eError if unused kwargs is passed \u0026amp; \u003ccode\u003eget_model_kwargs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/UKPLab/sentence-transformers/issues/3500\"\u003e#3500\u003c/a\u003e)\u003c/h2\u003e\n\u003cp\u003eSome SentenceTransformer or SparseEncoder models support custom model-specific keyword arguments, such as \u003ca href=\"https://huggingface.co/jinaai/jina-embeddings-v4\"\u003ejinaai/jina-embeddings-v4\u003c/a\u003e. As of this release, calling \u003ccode\u003emodel.encode\u003c/code\u003e with keyword arguments that aren't used by the model will result in an error.\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e\u0026gt;\u0026gt;\u0026gt; from sentence_transformers import SentenceTransformer\n\u0026gt;\u0026gt;\u0026gt; model = SentenceTransformer(\u0026quot;all-MiniLM-L6-v2\u0026quot;)\n\u0026gt;\u0026gt;\u0026gt; model.encode(\u0026quot;Who is Amelia Earhart?\u0026quot;, normalize=True)\nTraceback (most recent call last):\n  File \u0026quot;\u0026lt;stdin\u0026gt;\u0026quot;, line 1, in \u0026lt;module\u0026gt;\n  File \u0026quot;[sic]/torch/utils/_contextlib.py\u0026quot;, line 116, in decorate_context\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \u0026quot;[sic]/SentenceTransformer.py\u0026quot;, line 983, in encode\n    raise ValueError(\nValueError: SentenceTransformer.encode() has been called with additional keyword arguments that this model does not use: ['normalize']. As per SentenceTransformer.get_model_kwargs(), this model does not accept any additional keyword arguments.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eQuite useful when you, for example, accidentally forget that the parameter to get normalized embeddings is \u003ccode\u003enormalize_embeddings\u003c/code\u003e. Prior to this version, this parameter would simply quietly be ignored.\u003c/p\u003e\n\u003cp\u003eTo check which custom extra keyword arguments may be used for your model, you can call the new \u003ccode\u003eget_model_kwargs\u003c/code\u003e method:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e\u0026gt;\u0026gt;\u0026gt; from sentence_transformers import SentenceTransformer, SparseEncoder\n\u0026gt;\u0026gt;\u0026gt; SentenceTransformer(\u0026quot;all-MiniLM-L6-v2\u0026quot;).get_model_kwargs()\n[]\n\u0026gt;\u0026gt;\u0026gt; SentenceTransformer(\u0026quot;jinaai/jina-embeddings-v4\u0026quot;, trust_remote_code=True).get_model_kwargs()\n['task', 'truncate_dim']\n\u0026gt;\u0026gt;\u0026gt; SparseEncoder(\u0026quot;opensearch-project/opensearch-neural-sparse-encoding-doc-v3-distill\u0026quot;).get_model_kwargs()\n['task']\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e You can always pass the \u003ccode\u003etask\u003c/code\u003e parameter, it's the only model-specific parameter that will be quietly ignored. This means that you can always use \u003ccode\u003emodel.encode(..., task=\u0026quot;query\u0026quot;)\u003c/code\u003e and \u003ccode\u003emodel.encode(..., task=\u0026quot;document\u0026quot;)\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003eMinor 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/UKPLab/sentence-transformers/commit/22ff509464b431f6f084b48ae58bfc3fc8210e4e\"\u003e\u003ccode\u003e22ff509\u003c/code\u003e\u003c/a\u003e Release v5.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/UKPLab/sentence-transformers/commit/5ad8a44ee4b24f3e2ef9b3db77d6ecc54d51e1ac\"\u003e\u003ccode\u003e5ad8a44\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into v5.1-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/UKPLab/sentence-transformers/commit/1def8d3d6289e72bfa6a6a48592b1342053e6ff2\"\u003e\u003ccode\u003e1def8d3\u003c/code\u003e\u003c/a\u003e Fix the number of missing negatives in mine_hard_negatives (\u003ca href=\"https://redirect.github.com/UKPLab/sentence-transformers/issues/3504\"\u003e#3504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/UKPLab/sentence-transformers/commit/2e077fb3b033b394bcc82781397c5e54c560754c\"\u003e\u003ccode\u003e2e077fb\u003c/code\u003e\u003c/a\u003e fix: add makedirs to informationretrievalevaluator (\u003ca href=\"https://redirect.github.com/UKPLab/sentence-transformers/issues/3516\"\u003e#3516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/UKPLab/sentence-transformers/commit/20c48207f36e81a993fdce872911bf37b97bf18d\"\u003e\u003ccode\u003e20c4820\u003c/code\u003e\u003c/a\u003e Fix:Import SentenceTransformer class explicitly in losses module (\u003ca href=\"https://redirect.github.com/UKPLab/sentence-transformers/issues/3521\"\u003e#3521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/UKPLab/sentence-transformers/commit/7240b334b7aa068f298693764a7cd0a0afb9ed24\"\u003e\u003ccode\u003e7240b33\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003efeat\u003c/code\u003e] add get_model_kwargs method; throw error if unused kwarg is passed (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/UKPLab/sentence-transformers/commit/560cc336b1c483da2c8994312c6e1e7b824f9792\"\u003e\u003ccode\u003e560cc33\u003c/code\u003e\u003c/a\u003e always pass \u003ccode\u003einput_ids\u003c/code\u003e, \u003ccode\u003eattention_mask\u003c/code\u003e, \u003ccode\u003etoken_type_ids\u003c/code\u003e, \u003ccode\u003einputs_embeds\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/UKPLab/sentence-transformers/commit/bd91098bd6f84fb2fd29a4954abc65d175d912b1\"\u003e\u003ccode\u003ebd91098\u003c/code\u003e\u003c/a\u003e Update rasyosef/splade-mini MSMARCO and BEIR-13 benchmark scores in pretraine...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/UKPLab/sentence-transformers/commit/ad8d27de4520b814b2526afcd69f427f2365eb0b\"\u003e\u003ccode\u003ead8d27d\u003c/code\u003e\u003c/a\u003e Add Support for Knowledgeable Passage Retriever (KPR) (\u003ca href=\"https://redirect.github.com/UKPLab/sentence-transformers/issues/3495\"\u003e#3495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/UKPLab/sentence-transformers/commit/5b18f3672c0f3eb5617451b12b2d3fcafd08e043\"\u003e\u003ccode\u003e5b18f36\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003efeat\u003c/code\u003e] Use encode_document and encode_query in mine_hard_negatives (\u003ca href=\"https://redirect.github.com/UKPLab/sentence-transformers/issues/3502\"\u003e#3502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/UKPLab/sentence-transformers/compare/v5.1.0...v5.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.0.2 to 2.3.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\u003ev2.3.4 (Oct 15,  2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.3.4 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.3.4 release is a patch release split between a number of maintenance\nupdates and bug fixes. This release supports Python versions 3.11-3.14. This\nrelease is based on Python 3.14.0 final.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eThe \u003ccode\u003enpymath\u003c/code\u003e and \u003ccode\u003enpyrandom\u003c/code\u003e libraries now have a \u003ccode\u003e.lib\u003c/code\u003e rather than a\n\u003ccode\u003e.a\u003c/code\u003e file extension on win-arm64, for compatibility for building with MSVC and\n\u003ccode\u003esetuptools\u003c/code\u003e. Please note that using these static libraries is discouraged\nand for existing projects using it, it's best to use it with a matching\ncompiler toolchain, which is \u003ccode\u003eclang-cl\u003c/code\u003e on Windows on Arm.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29750\"\u003egh-29750\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 17 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\u003e!DWesl\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eChristian Barbia +\u003c/li\u003e\n\u003cli\u003eEvgeni Burovski\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMaaz +\u003c/li\u003e\n\u003cli\u003eMateusz Sokół\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eRiku Sakamoto +\u003c/li\u003e\n\u003cli\u003eSandeep Gupta +\u003c/li\u003e\n\u003cli\u003eSayed Awad\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eSergey Fedorov +\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003cli\u003edependabot[bot]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 30 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/29725\"\u003e#29725\u003c/a\u003e: MAINT: Prepare 2.3.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29781\"\u003e#29781\u003c/a\u003e: MAINT: Pin some upstream dependences\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29782\"\u003e#29782\u003c/a\u003e: BLD: enable x86-simd-sort to build on KNL with -mavx512f\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29783\"\u003e#29783\u003c/a\u003e: BUG: Include python-including headers first (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29281\"\u003e#29281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29784\"\u003e#29784\u003c/a\u003e: TYP: fix np.number and np.*integer method declaration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29785\"\u003e#29785\u003c/a\u003e: TYP: mypy 1.18.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/1458b9e79d1a5755eae9adcb346758f449b6b430\"\u003e\u003ccode\u003e1458b9e\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.3.4 release (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29955\"\u003e#29955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7583bed3577d8b5e7e74a24a6337d530b045f0bc\"\u003e\u003ccode\u003e7583bed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29950\"\u003e#29950\u003c/a\u003e from charris/backport-29885\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/318675152646f184a24da3f9b8742de202c99bfb\"\u003e\u003ccode\u003e3186751\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29949\"\u003e#29949\u003c/a\u003e from charris/backport-29948\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7fd2ad9eff9cb04bcea5e2b6f89e8870329c5c93\"\u003e\u003ccode\u003e7fd2ad9\u003c/code\u003e\u003c/a\u003e STY: rename \u003ccode\u003e@classmethod\u003c/code\u003e arg to \u003ccode\u003ecls\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/fe8447d7aefe7c63ab37d426e6d725e857fb45f7\"\u003e\u003ccode\u003efe8447d\u003c/code\u003e\u003c/a\u003e MAINT: Simplify string arena growth strategy (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29885\"\u003e#29885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a90f073415846b378ab166b5a2f9acf87876853b\"\u003e\u003ccode\u003ea90f073\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29940\"\u003e#29940\u003c/a\u003e from charris/backport-29937\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/55d91abd9564835cc0e0dcc92d84b25dcfaff1d9\"\u003e\u003ccode\u003e55d91ab\u003c/code\u003e\u003c/a\u003e MAINT: Bump pypa/cibuildwheel from 3.1.4 to 3.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/e2f038314bb736930f74c127eed8843d29f59c55\"\u003e\u003ccode\u003ee2f0383\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29926\"\u003e#29926\u003c/a\u003e from charris/backport-29609\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b427e83710abd344168f156ab212a8d19f0d2185\"\u003e\u003ccode\u003eb427e83\u003c/code\u003e\u003c/a\u003e BUG: fix negative samples generated by Wald distribution (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29609\"\u003e#29609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/36363d6534eb9e786f998a56ccc59f0ba1bc1efe\"\u003e\u003ccode\u003e36363d6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29922\"\u003e#29922\u003c/a\u003e from charris/backport-29914\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.0.2...v2.3.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `torch` from 2.8.0 to 2.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytorch/pytorch/releases\"\u003etorch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9 Release Notes\u003c/h2\u003e\n\u003ch1\u003ePyTorch 2.9.0 Release Notes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#highlights\"\u003eHighlights\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#backwards-incompatible-changes\"\u003eBackwards Incompatible Changes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#deprecations\"\u003eDeprecations\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#new-features\"\u003eNew Features\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#improvements\"\u003eImprovements\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#bug-fixes\"\u003eBug fixes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#performance\"\u003ePerformance\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#documentation\"\u003eDocumentation\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#developers\"\u003eDevelopers\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#security\"\u003eSecurity\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eFor more details about these highlighted features, you can look at the \u003ca href=\"https://pytorch.org/blog/pytorch-2-9/\"\u003erelease blogpost\u003c/a\u003e. Below are the full release notes for this release.\u003c/p\u003e\n\u003ch1\u003eBackwards Incompatible Changes\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/pytorch/pytorch/commit/0fabc3ba44823f257e70ce397d989c8de5e362c1\"\u003e\u003ccode\u003e0fabc3b\u003c/code\u003e\u003c/a\u003e CUDA aarch64 12.6 and 12.8 builds fix triton constraints (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/issues/165022\"\u003e#165022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/commit/26e023a973cc3e70f0248957c96e9e1f9d593858\"\u003e\u003ccode\u003e26e023a\u003c/code\u003e\u003c/a\u003e [MPS] Update OS version in error message (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/issues/164949\"\u003e#164949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/commit/6f12be27709abe4e5365ec94376cb7529e219692\"\u003e\u003ccode\u003e6f12be2\u003c/code\u003e\u003c/a\u003e CUDA 13.0 builds fix on Amazon Linux 2023 (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/issues/164893\"\u003e#164893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/commit/42f0c2c970728d8933489ac247c6e091d9070ed3\"\u003e\u003ccode\u003e42f0c2c\u003c/code\u003e\u003c/a\u003e update the baseline data for the operator benchmark (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/issues/164789\"\u003e#164789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/commit/b015422da1fd2aa3186a88cf3ed1d2cb77c4374d\"\u003e\u003ccode\u003eb015422\u003c/code\u003e\u003c/a\u003e fix cpp extension distributed warning spew (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/issues/164785\"\u003e#164785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/commit/d4c43070320e8892fa2965e1805db445ea4d4274\"\u003e\u003ccode\u003ed4c4307\u003c/code\u003e\u003c/a\u003e Fix docker build issue after 164575 (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/issues/164779\"\u003e#164779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/commit/3b57315b1bc85d4928ea385e6afd7e60eac99b2e\"\u003e\u003ccode\u003e3b57315\u003c/code\u003e\u003c/a\u003e [ROCm] Increase binary build timeout to 5 hours (300 minutes) (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/issues/164770\"\u003e#164770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/commit/c74f05797d171b6d80488ac015e9dd0c73409220\"\u003e\u003ccode\u003ec74f057\u003c/code\u003e\u003c/a\u003e Pin conda version for Docker builds (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/issues/164579\"\u003e#164579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/commit/fd364580a94079854f2f32d463c118afaefe62e0\"\u003e\u003ccode\u003efd36458\u003c/code\u003e\u003c/a\u003e [Cherry-Pick] Work Around exposing statically linked libstdc++ CXX11 ABI stro...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/commit/2f6387e9a1c7f65faaff938e67d9e2041e3b1e84\"\u003e\u003ccode\u003e2f6387e\u003c/code\u003e\u003c/a\u003e [CherrryPick][2.9] Cherry pick request for `Reapply \u0026quot;Make functionalization V...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytorch/pytorch/compare/v2.8.0...v2.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scikit-learn` from 1.6.1 to 1.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scikit-learn/scikit-learn/releases\"\u003escikit-learn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eScikit-learn 1.7.2\u003c/h2\u003e\n\u003cp\u003eWe're happy to announce the 1.7.2 release.\u003c/p\u003e\n\u003cp\u003eThis release contains a few bug fixes and is the first version supporting Python 3.14.\u003c/p\u003e\n\u003cp\u003eYou can see the changelog here: \u003ca href=\"https://scikit-learn.org/stable/whats_new/v1.7.html#version-1-7-2\"\u003ehttps://scikit-learn.org/stable/whats_new/v1.7.html#version-1-7-2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eYou can upgrade with pip as usual:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epip install -U scikit-learn\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe conda-forge builds can be installed using:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge scikit-learn\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThanks to everyone who contributed to this release !\u003c/p\u003e\n\u003ch2\u003eScikit-learn 1.7.1\u003c/h2\u003e\n\u003cp\u003eWe're happy to announce the 1.7.1 release.\u003c/p\u003e\n\u003cp\u003eThis release contains fixes for a few regressions introduced in 1.7.\u003c/p\u003e\n\u003cp\u003eYou can see the changelog here: \u003ca href=\"https://scikit-learn.org/stable/whats_new/v1.7.html#version-1-7-1\"\u003ehttps://scikit-learn.org/stable/whats_new/v1.7.html#version-1-7-1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eYou can upgrade with pip as usual:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epip install -U scikit-learn\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe conda-forge builds can be installed using:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge scikit-learn\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThanks to everyone who contributed to this release !\u003c/p\u003e\n\u003ch2\u003eScikit-learn 1.7.0\u003c/h2\u003e\n\u003cp\u003eWe're happy to announce the 1.7.0 release.\u003c/p\u003e\n\u003cp\u003eYou can read the release highlights under \u003ca href=\"https://scikit-learn.org/stable/auto_examples/release_highlights/plot_release_highlights_1_7_0.html\"\u003ehttps://scikit-learn.org/stable/auto_examples/release_highlights/plot_release_highlights_1_7_0.html\u003c/a\u003e and the long version of the change log under \u003ca href=\"https://scikit-learn.org/stable/whats_new/v1.7.html\"\u003ehttps://scikit-learn.org/stable/whats_new/v1.7.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis version supports Python versions 3.10 to 3.13 and features an experimental support of free-threaded CPython.\u003c/p\u003e\n\u003cp\u003eYou can upgrade with pip as usual:\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/scikit-learn/scikit-learn/commit/25dee604bae18205b01548348388baf7a1cdfe0e\"\u003e\u003ccode\u003e25dee60\u003c/code\u003e\u003c/a\u003e missing tag in changelog [cd build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/290b5af5e67e860945b3d226127772d639a463e4\"\u003e\u003ccode\u003e290b5af\u003c/code\u003e\u003c/a\u003e bump upper bounds [cd build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/813681d44126faf03e161c62698fe3ef03a366e4\"\u003e\u003ccode\u003e813681d\u003c/code\u003e\u003c/a\u003e CI Add Python 3.14 nightly wheels (\u003ca href=\"https://redirect.github.com/scikit-learn/scikit-learn/issues/32012\"\u003e#32012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/9cc302d15c453a8601f9fb14e56128d1e26ddb37\"\u003e\u003ccode\u003e9cc302d\u003c/code\u003e\u003c/a\u003e fix changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/65966587913acbdeb2be5650aaff7b9573af1a0d\"\u003e\u003ccode\u003e6596658\u003c/code\u003e\u003c/a\u003e fix changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/da98b43ee637417920f637e0aa6e0df152cbda3e\"\u003e\u003ccode\u003eda98b43\u003c/code\u003e\u003c/a\u003e generate changelog 1.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/f2ff9e85eae2d5c4808ab5c11bec3119b4ebc7d7\"\u003e\u003ccode\u003ef2ff9e8\u003c/code\u003e\u003c/a\u003e set version 1.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/8b41b0fefc78a40e04ea33670be52a9791a95cbd\"\u003e\u003ccode\u003e8b41b0f\u003c/code\u003e\u003c/a\u003e Fix uncomparable values in SimpleImputer tie-breaking strategy (\u003ca href=\"https://redirect.github.com/scikit-learn/scikit-learn/issues/31820\"\u003e#31820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/401f6c407752442e232624c99a63dcd675bc1b6d\"\u003e\u003ccode\u003e401f6c4\u003c/code\u003e\u003c/a\u003e DOC: Fix formatting issues with bold font and \u003ccode\u003e backquote\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/scikit-learn/scikit-learn/issues/31950\"\u003e#31950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/3d063adf47dc09fa2176871952e6abab0b7327b9\"\u003e\u003ccode\u003e3d063ad\u003c/code\u003e\u003c/a\u003e DOC Clean up \u003ccode\u003eBuilding from source\u003c/code\u003e instructions on macOS (\u003ca href=\"https://redirect.github.com/scikit-learn/scikit-learn/issues/31938\"\u003e#31938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scikit-learn/scikit-learn/compare/1.6.1...1.7.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `authlib` from 1.6.4 to 1.6.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/authlib/authlib/releases\"\u003eauthlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a \u003ccode\u003erequest\u003c/code\u003e param to RFC7591 \u003ccode\u003egenerate_client_info\u003c/code\u003e and \u003ccode\u003egenerate_client_secret\u003c/code\u003e methods by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/825\"\u003eauthlib/authlib#825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: support list params in prepare_grant_uri by \u003ca href=\"https://github.com/lisongmin\"\u003e\u003ccode\u003e@​lisongmin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/827\"\u003eauthlib/authlib#827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump SonarSource/sonarqube-scan-action from 5 to 6 in /.github/workflows by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/828\"\u003eauthlib/authlib#828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(jose): add max size for JWE zip=DEF decompression by \u003ca href=\"https://github.com/lepture\"\u003e\u003ccode\u003e@​lepture\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/830\"\u003eauthlib/authlib#830\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/lisongmin\"\u003e\u003ccode\u003e@​lisongmin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/827\"\u003eauthlib/authlib#827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/828\"\u003eauthlib/authlib#828\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.4...v1.6.5\"\u003ehttps://github.com/authlib/authlib/compare/v1.6.4...v1.6.5\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/authlib/authlib/blob/main/docs/changelog.rst\"\u003eauthlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.6.5\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eReleased on Oct 2, 2025\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRFC7591 \u003ccode\u003egenerate_client_info\u003c/code\u003e and \u003ccode\u003egenerate_client_secret\u003c/code\u003e take a \u003ccode\u003erequest\u003c/code\u003e parameter.\u003c/li\u003e\n\u003cli\u003eAdd size limitation when decode JWS/JWE to prevent DoS.\u003c/li\u003e\n\u003cli\u003eAdd size limitation for \u003ccode\u003eDEF\u003c/code\u003e JWE zip algorithm.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/9ec42561cd1a81b518598d252f8adbcf446f7419\"\u003e\u003ccode\u003e9ec4256\u003c/code\u003e\u003c/a\u003e chore: release 1.6.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/b62b5b27577db038133f7453dacc534d6a3b06a5\"\u003e\u003ccode\u003eb62b5b2\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-GHSA-pq5p-34cr-23v9'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/e0863d5129316b1790eee5f14cece32a03b8184d\"\u003e\u003ccode\u003ee0863d5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/830\"\u003e#830\u003c/a\u003e from authlib/fix-GHSA-g7f3-828f-7h7m\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/867e3f87b072347a1ae9cf6983cc8bbf88447e5e\"\u003e\u003ccode\u003e867e3f8\u003c/code\u003e\u003c/a\u003e fix(jose): add size limitation to prevent DoS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/75ad6d4d625613d9d6cbbb91f5b559e071d8493b\"\u003e\u003ccode\u003e75ad6d4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/828\"\u003e#828\u003c/a\u003e from authlib/dependabot/github_actions/dot-github/wor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/68b982352d9b20c3e859fc3af30308ca9855ef57\"\u003e\u003ccode\u003e68b9823\u003c/code\u003e\u003c/a\u003e chore(deps): bump SonarSource/sonarqube-scan-action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/5bdfc4bfff8380620ed5ec55ba7a06d96cac3365\"\u003e\u003ccode\u003e5bdfc4b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/827\"\u003e#827\u003c/a\u003e from lisongmin/support-list-params-in-prepare-grant-uri\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/30ea3c5f85a9640cd08562db2c6fd9d3e4a9bfef\"\u003e\u003ccode\u003e30ea3c5\u003c/code\u003e\u003c/a\u003e feat: support list params in prepare_grant_uri\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/4b5b5703394608124cd39e547cc7829feda05a13\"\u003e\u003ccode\u003e4b5b570\u003c/code\u003e\u003c/a\u003e fix(jose): add max size for JWE zip=DEF decompression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/6e35a02ecf3c22d27249e6ed9fa07e544314ebe9\"\u003e\u003ccode\u003e6e35a02\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/825\"\u003e#825\u003c/a\u003e from azmeuk/request-params\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.4...v1.6.5\"\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.1 to 46.0.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyca/cryptography/compare/46.0.1...46.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.118.6 to 0.119.0\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.119.0\u003c/h2\u003e\n\u003cp\u003eFastAPI now (temporarily) supports both Pydantic v2 models and \u003ccode\u003epydantic.v1\u003c/code\u003e models at the same time in the same app, to make it easier for any FastAPI apps still using Pydantic v1 to gradually but quickly \u003cstrong\u003emigrate to Pydantic v2\u003c/strong\u003e.\u003c/p\u003e\n\u003cpre lang=\"Python\"\u003e\u003ccode\u003efrom fastapi import FastAPI\nfrom pydantic import BaseModel as BaseModelV2\nfrom pydantic.v1 import BaseModel\n\u003cp\u003eclass Item(BaseModel):\u003cbr /\u003e\nname: str\u003cbr /\u003e\ndescription: str | None = None\u003c/p\u003e\n\u003cp\u003eclass ItemV2(BaseModelV2):\u003cbr /\u003e\ntitle: str\u003cbr /\u003e\nsummary: str | None = None\u003c/p\u003e\n\u003cp\u003eapp = FastAPI()\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/app\"\u003e\u003ccode\u003e@​app\u003c/code\u003e\u003c/a\u003e.post(\u0026quot;/items/\u0026quot;, response_model=ItemV2)\u003cbr /\u003e\ndef create_item(item: Item):\u003cbr /\u003e\nreturn {\u0026quot;title\u0026quot;: item.name, \u0026quot;summary\u0026quot;: item.description}\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eAdding this feature was a big effort with the main objective of making it easier for the few applications still stuck in Pydantic v1 to migrate to Pydantic v2.\u003c/p\u003e\n\u003cp\u003eAnd with this, support for \u003cstrong\u003ePydantic v1 is now deprecated\u003c/strong\u003e and will be \u003cstrong\u003eremoved\u003c/strong\u003e from FastAPI in a future version soon.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote\u003c/strong\u003e: have in mind that the Pydantic team already stopped supporting Pydantic v1 for recent versions of Python, starting with Python 3.14.\u003c/p\u003e\n\u003cp\u003eYou can read in the docs more about how to \u003ca href=\"https://fastapi.tiangolo.com/how-to/migrate-from-pydantic-v1-to-pydantic-v2/\"\u003eMigrate from Pydantic v1 to Pydantic v2\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for \u003ccode\u003efrom pydantic.v1 import BaseModel\u003c/code\u003e, mixed Pydantic v1 and v2 models in the same app. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14168\"\u003e#14168\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\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fastapi/fastapi/commits/0.119.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `starlette` from 0.40.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/starlette/releases\"\u003estarlette'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\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd official Python 3.14 support \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/3013\"\u003e#3013\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement \u003ca href=\"https://www.rfc-editor.org/rfc/rfc9110\"\u003eRFC9110\u003c/a\u003e http status names \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2939\"\u003e#2939\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yakimka\"\u003e\u003ccode\u003e@​yakimka\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2943\"\u003eKludex/starlette#2943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mbeijen\"\u003e\u003ccode\u003e@​mbeijen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2939\"\u003eKludex/starlette#2939\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/starlette/compare/0.47.3...0.48.0\"\u003ehttps://github.com/Kludex/starlette/compare/0.47.3...0.48.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.47.3\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003easyncio.iscoroutinefunction\u003c/code\u003e for Python 3.12 and older by \u003ca href=\"https://github.com/mjpieters\"\u003e\u003ccode\u003e@​mjpieters\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/starlette/pull/2984\"\u003eencode/starlette#2984\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mjpieters\"\u003e\u003ccode\u003e@​mjpieters\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/starlette/pull/2984\"\u003eencode/starlette#2984\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/encode/starlette/compare/0.47.2...0.47.3\"\u003ehttps://github.com/encode/starlette/compare/0.47.2...0.47.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.47.2\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003eUploadFile\u003c/code\u003e check for future rollover \u003ca href=\"https://redirect.github.com/encode/starlette/pull/2962\"\u003e#2962\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HonakerM\"\u003e\u003ccode\u003e@​HonakerM\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/starlette/pull/2962\"\u003eencode/starlette#2962\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/encode/starlette/compare/0.47.1...0.47.2\"\u003ehttps://github.com/encode/starlette/compare/0.47.1...0.47.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.47.1\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eSelf\u003c/code\u003e in \u003ccode\u003eTestClient.__enter__\u003c/code\u003e \u003ca href=\"https://redirect.github.com/encode/starlette/pull/2951\"\u003e#2951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow async exception handlers to type-check \u003ca href=\"https://redirect.github.com/encode/starlette/pull/2949\"\u003e#2949\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/encode/starlette/compare/0.47.0...0.47.1\"\u003ehttps://github.com/encode/starlette/compare/0.47.0...0.47.1\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/Kludex/starlette/blob/main/docs/release-notes.md\"\u003estarlette's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.48.0 (September 13, 2025)\u003c/h2\u003e\n\u003ch4\u003eAdded\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd official Python 3.14 support \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/3013\"\u003e#3013\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanged\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eImplement \u003ca href=\"https://www.rfc-editor.org/rfc/rfc9110\"\u003eRFC9110\u003c/a\u003e http status names \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2939\"\u003e#2939\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.47.3 (August 24, 2025)\u003c/h2\u003e\n\u003ch4\u003eFixed\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003easyncio.iscoroutinefunction\u003c/code\u003e for Python 3.12 and older \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2984\"\u003e#2984\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.47.2 (July 20, 2025)\u003c/h2\u003e\n\u003ch4\u003eFixed\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003eUploadFile\u003c/code\u003e check for future rollover \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2962\"\u003e#2962\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.47.1 (June 21, 2025)\u003c/h2\u003e\n\u003ch4\u003eFixed\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eSelf\u003c/code\u003e in \u003ccode\u003eTestClient.__enter__\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2951\"\u003e#2951\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAllow async exception handlers to type-check \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2949\"\u003e#2949\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.47.0 (May 29, 2025)\u003c/h2\u003e\n\u003ch4\u003eAdded\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for ASGI \u003ccode\u003epathsend\u003c/code\u003e extension \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2671\"\u003e#2671\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epartitioned\u003c/code\u003e attribute to \u003ccode\u003eResponse.set_cookie\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2501\"\u003e#2501\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanged\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eChange \u003ccode\u003emethods\u003c/code\u003e parameter type from \u003ccode\u003elist[str]\u003c/code\u003e to \u003ccode\u003eCollection[str]\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2903\"\u003e#2903\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eimport typing\u003c/code\u003e by \u003ccode\u003efrom typing import ...\u003c/code\u003e in the whole codebase\n\u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2867\"\u003e#2867\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixed\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eMark \u003ccode\u003eExceptionMiddleware.http_exception\u003c/code\u003e as async to prevent thread creation\n\u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2922\"\u003e#2922\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.46.2 (April 13, 2025)\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/starlette/commit/e18637c68e36d112b1983bc0c8b663681e6a4c50\"\u003e\u003ccode\u003ee18637c\u003c/code\u003e\u003c/a\u003e Version 0.48.0 (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3014\"\u003e#3014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/1bee3ef6c316956726f887adb881b860be1c4284\"\u003e\u003ccode\u003e1bee3ef\u003c/code\u003e\u003c/a\u003e Add official Python 3.14 support (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3013\"\u003e#3013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/c379051181f2d82c820e8f23801c03638beb9ca6\"\u003e\u003ccode\u003ec379051\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003epublish.yaml\u003c/code\u003e with latest PyPI recommendations (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3011\"\u003e#3011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/40a81479c7146bab21cc58ccb92b017cf177a077\"\u003e\u003ccode\u003e40a8147\u003c/code\u003e\u003c/a\u003e feat: implement rfc9110 http status names (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/2939\"\u003e#2939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/efea3b89b5a2c736608e22ccdf6c60989a804afe\"\u003e\u003ccode\u003eefea3b8\u003c/code\u003e\u003c/a\u003e chore: set minimum uv version (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3012\"\u003e#3012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/63e70d048a4fa2e361024839578bafcb54bb23df\"\u003e\u003ccode\u003e63e70d0\u003c/code\u003e\u003c/a\u003e chore: add citation file (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3010\"\u003e#3010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/da0f1ce5c91007fa24a5d1028871dff5716d817f\"\u003e\u003ccode\u003eda0f1ce\u003c/code\u003e\u003c/a\u003e ci: pin github actions' versions (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3009\"\u003e#3009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/4bd6ab166fd3e6b679c9a733790f5a5ea6e09e45\"\u003e\u003ccode\u003e4bd6ab1\u003c/code\u003e\u003c/a\u003e chore: add Marcelo Trylesinski as maintainer (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3008\"\u003e#3008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/118c7c71c9dd053291100176113338eb62071547\"\u003e\u003ccode\u003e118c7c7\u003c/code\u003e\u003c/a\u003e Rename branch \u003ccode\u003emaster\u003c/code\u003e to \u003ccode\u003emain\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3001\"\u003e#3001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/73d83e9eb87f2d1785971babcdc5674fc1401a6b\"\u003e\u003ccode\u003e73d83e9\u003c/code\u003e\u003c/a\u003e Clarify BaseHTTPMiddleware effect on contextvars propagation (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/2943\"\u003e#2943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/starlette/compare/0.40.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 `flask-limiter` from 3.5.0 to 3.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/alisaifee/flask-limiter/releases\"\u003eflask-limiter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.12\u003c/h2\u003e\n\u003ch2\u003eCompatibility\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for python 3.9\u003c/li\u003e\n\u003cli\u003eAdd install extra for valkey\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove documentation about rate limiting strategies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTyping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse builtin types (list, set, tuple)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.10.1\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange pypi release to use trusted publishing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.10.0\u003c/h2\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typing error with exempt decorator\u003c/li\u003e\n\u003cli\u003eUpdate types for window wrapper to use named tuple\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.9.2\u003c/h2\u003e\n\u003ch2\u003eCompatibility\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure wheels are uploaded to pypi as well (for real)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.9.0\u003c/h2\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate development dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCompatibility\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for python 3.8\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.13\u003c/li\u003e\n\u003cli\u003eAdd CI matrix entry for flask 3.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.8.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/alisaifee/flask-limiter/blob/master/HISTORY.rst\"\u003eflask-limiter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.12\u003c/h2\u003e\n\u003cp\u003eRelease Date: 2025-03-14\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCompatibility\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for python 3.9\u003c/li\u003e\n\u003cli\u003eAdd install extra for valkey\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.11.0\u003c/h2\u003e\n\u003cp\u003eRelease Date: 2025-03-11\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove documentation about rate limiting strategies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTyping\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse builtin types (list, set, tuple)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.10.1\u003c/h2\u003e\n\u003cp\u003eRelease Date: 2025-01-16\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSecurity\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChange pypi release to use trusted publishing\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003cp\u003eRelease Date: 2025-01-05\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eChores\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix typing error with exempt decorator\u003c/li\u003e\n\u003cli\u003eUpdate types for window wrapper to use named tuple\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.9.2\u003c/h2\u003e\n\u003cp\u003eRelease Date: 2024-11-27\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCompatibility\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure wheels are uploaded to pypi as well (for real)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.9.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/8b111eb5f0298e5b095272027bf3194d2c999aa8\"\u003e\u003ccode\u003e8b111eb\u003c/code\u003e\u003c/a\u003e Update changelog for  3.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/c2114e52d2a2e31f78df3c433450725858dd5abc\"\u003e\u003ccode\u003ec2114e5\u003c/code\u003e\u003c/a\u003e Remove etcd extra\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/2fd605f8b4cd246b1bfcb0b32ec7af23bd393be5\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Update python version for readthedocs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/ff0e62608e8caaaf8acba726d9ff0f5a982440e4\"\u003e\u003ccode\u003eff0e626\u003c/code\u003e\u003c/a\u003e Remove dependency on typing_extensions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/132d59e6bc15fdb87bf699800f915a8e50b902aa\"\u003e\u003ccode\u003e132d59e\u003c/code\u003e\u003c/a\u003e Add installation extras for etcd \u0026amp; valkey\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/2e42351d334c0dc781e477634064d25fe33ca2c2\"\u003e\u003ccode\u003e2e42351\u003c/code\u003e\u003c/a\u003e Remove use of Optional/Union\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/118e6066490045e685eb106c91924e71b9269e8d\"\u003e\u003ccode\u003e118e606\u003c/code\u003e\u003c/a\u003e Apply an isort-style sorting to \u003ccode\u003e__all__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/bf7881805bd3596845bd773c77a1d51fbcaf16bb\"\u003e\u003ccode\u003ebf78818\u003c/code\u003e\u003c/a\u003e Drop support for python 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/b99478486644ee0bcab49fe8b5de372b0a2a214c\"\u003e\u003ccode\u003eb994784\u003c/code\u003e\u003c/a\u003e Update changelog for  3.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/03bcaf9cd1cb9131d0ef1fda9e60a930dd66ae5b\"\u003e\u003ccode\u003e03bcaf9\u003c/code\u003e\u003c/a\u003e Use version sort in tagging script\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/alisaifee/flask-limiter/compare/3.5.0...3.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `validators` from 0.22.0 to 0.35.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/releases\"\u003evalidators's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\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/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003epython-validators/validators#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003epython-validators/validators#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003epython-validators/validators#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003epython-validators/validators#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003epython-validators/validators#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003epython-validators/validators#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003epython-validators/validators#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003epython-validators/validators#415\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.34.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eNo breaking changes were introduced in this version.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat: cache IANA TLDs for faster lookups by \u003ca href=\"https://github.com/salty-horse\"\u003e\u003ccode\u003e@​salty-horse\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/390\"\u003e#390\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore: update dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/394\"\u003e#394\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/blob/master/CHANGES.md\"\u003evalidators's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0 (2025-05-01)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPili...\n\n_Description has been truncated_","html_url":"https://github.com/AnalineS/roteirosdedispersacao/pull/268","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnalineS%2Froteirosdedispersacao/issues/268","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/268/packages"},{"uuid":"2776517152","node_id":"PR_kwDOC9G94c6lfkog","number":276,"state":"open","title":"Bump validators from 0.34.0 to 0.35.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-26T21:46:32.000Z","updated_at":"2025-08-26T21:46:33.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"}],"path":null,"ecosystem":"pip"},"body":"Bumps [validators](https://github.com/python-validators/validators) from 0.34.0 to 0.35.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/releases\"\u003evalidators's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\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/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003epython-validators/validators#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003epython-validators/validators#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003epython-validators/validators#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003epython-validators/validators#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003epython-validators/validators#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003epython-validators/validators#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003epython-validators/validators#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003epython-validators/validators#415\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/blob/master/CHANGES.md\"\u003evalidators's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0 (2025-05-01)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/75788ed9e116fe3bf1bb9699f1696e7f7e132067\"\u003e\u003ccode\u003e75788ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/425\"\u003e#425\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/0b1799cdb431e708aff6b1b59e4430bd0828a70b\"\u003e\u003ccode\u003e0b1799c\u003c/code\u003e\u003c/a\u003e chore: updates changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/de4948f45fc4d79abec2da3b8586f6b271c5d723\"\u003e\u003ccode\u003ede4948f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/424\"\u003e#424\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/6d8a1abcdf2d92e113b1707bbf372bde4d48e3a5\"\u003e\u003ccode\u003e6d8a1ab\u003c/code\u003e\u003c/a\u003e chore: prepare for new release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/8691cead510052aae88f22776b9d6fbe1cf55351\"\u003e\u003ccode\u003e8691cea\u003c/code\u003e\u003c/a\u003e chore: formatting; sync dependencies (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/422\"\u003e#422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/bafe62e757bd99526129f8dffcfc9795817d08d8\"\u003e\u003ccode\u003ebafe62e\u003c/code\u003e\u003c/a\u003e feat: add Mir card validation support (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/7c97eca2990f6d42e27f0f211475eb0d4809de59\"\u003e\u003ccode\u003e7c97eca\u003c/code\u003e\u003c/a\u003e Fix: Allow Special DOI Cases Used in Public Administration Tests (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/415\"\u003e#415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/b2510d1c5f7ef81cdf9fa90d2548ebd826e4e734\"\u003e\u003ccode\u003eb2510d1\u003c/code\u003e\u003c/a\u003e feat: adds \u003ccode\u003edoctest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/f7742c55b680036116a7f61e140476ffd4774ccb\"\u003e\u003ccode\u003ef7742c5\u003c/code\u003e\u003c/a\u003e Refactor API: remove print from ru_inn, update description, and expose via __...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/d6241fc31f6b46bf81283c6ab3cae07c370fc1f6\"\u003e\u003ccode\u003ed6241fc\u003c/code\u003e\u003c/a\u003e fix(uri): remove \u0026quot;mailto:\u0026quot; prefix manually (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/418\"\u003e#418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=validators\u0026package-manager=pip\u0026previous-version=0.34.0\u0026new-version=0.35.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/sfneal/nginx-certbot/pull/276","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfneal%2Fnginx-certbot/issues/276","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/276/packages"},{"uuid":"2770397174","node_id":"PR_kwDOJz679M6lIOf2","number":10,"state":"open","title":"Bump validators from 0.18.2 to 0.35.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["Robert-96"],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-25T02:48:17.000Z","updated_at":"2025-08-25T02:48:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"validators","old_version":"0.18.2","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"}],"path":null,"ecosystem":"pip"},"body":"Bumps [validators](https://github.com/python-validators/validators) from 0.18.2 to 0.35.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/releases\"\u003evalidators's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\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/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003epython-validators/validators#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003epython-validators/validators#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003epython-validators/validators#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003epython-validators/validators#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003epython-validators/validators#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003epython-validators/validators#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003epython-validators/validators#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003epython-validators/validators#415\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.34.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eNo breaking changes were introduced in this version.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat: cache IANA TLDs for faster lookups by \u003ca href=\"https://github.com/salty-horse\"\u003e\u003ccode\u003e@​salty-horse\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/390\"\u003e#390\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore: update dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/394\"\u003e#394\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/blob/master/CHANGES.md\"\u003evalidators's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0 (2025-05-01)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.34.0 (2024-09-03)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eNo breaking changes were introduced in this version.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat: cache IANA TLDs for faster lookups by \u003ca href=\"https://github.com/salty-horse\"\u003e\u003ccode\u003e@​salty-horse\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/390\"\u003e#390\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore: update dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/394\"\u003e#394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: adds configuration info by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/395\"\u003e#395\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.33.0...0.34.0\"\u003e\u003ccode\u003e0.33.0...0.34.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.33.0 (2024-07-15)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/75788ed9e116fe3bf1bb9699f1696e7f7e132067\"\u003e\u003ccode\u003e75788ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/425\"\u003e#425\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/0b1799cdb431e708aff6b1b59e4430bd0828a70b\"\u003e\u003ccode\u003e0b1799c\u003c/code\u003e\u003c/a\u003e chore: updates changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/de4948f45fc4d79abec2da3b8586f6b271c5d723\"\u003e\u003ccode\u003ede4948f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/424\"\u003e#424\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/6d8a1abcdf2d92e113b1707bbf372bde4d48e3a5\"\u003e\u003ccode\u003e6d8a1ab\u003c/code\u003e\u003c/a\u003e chore: prepare for new release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/8691cead510052aae88f22776b9d6fbe1cf55351\"\u003e\u003ccode\u003e8691cea\u003c/code\u003e\u003c/a\u003e chore: formatting; sync dependencies (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/422\"\u003e#422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/bafe62e757bd99526129f8dffcfc9795817d08d8\"\u003e\u003ccode\u003ebafe62e\u003c/code\u003e\u003c/a\u003e feat: add Mir card validation support (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/7c97eca2990f6d42e27f0f211475eb0d4809de59\"\u003e\u003ccode\u003e7c97eca\u003c/code\u003e\u003c/a\u003e Fix: Allow Special DOI Cases Used in Public Administration Tests (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/415\"\u003e#415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/b2510d1c5f7ef81cdf9fa90d2548ebd826e4e734\"\u003e\u003ccode\u003eb2510d1\u003c/code\u003e\u003c/a\u003e feat: adds \u003ccode\u003edoctest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/f7742c55b680036116a7f61e140476ffd4774ccb\"\u003e\u003ccode\u003ef7742c5\u003c/code\u003e\u003c/a\u003e Refactor API: remove print from ru_inn, update description, and expose via __...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/d6241fc31f6b46bf81283c6ab3cae07c370fc1f6\"\u003e\u003ccode\u003ed6241fc\u003c/code\u003e\u003c/a\u003e fix(uri): remove \u0026quot;mailto:\u0026quot; prefix manually (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/418\"\u003e#418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-validators/validators/compare/0.18.2...0.35.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=validators\u0026package-manager=pip\u0026previous-version=0.18.2\u0026new-version=0.35.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Robert-96/fast-api-url-shortener/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robert-96%2Ffast-api-url-shortener/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"},{"uuid":"2747161924","node_id":"PR_kwDOC1OTS86jvl1E","number":256,"state":"closed","title":"Bump validators from 0.34.0 to 0.35.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-08-18T19:03:05.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-14T19:33:34.000Z","updated_at":"2025-08-18T19:03:05.000Z","time_to_close":343771,"merged_at":"2025-08-18T19:03:05.000Z","merged_by":"sfneal","closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"}],"path":null,"ecosystem":"pip"},"body":"Bumps [validators](https://github.com/python-validators/validators) from 0.34.0 to 0.35.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/releases\"\u003evalidators's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\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/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003epython-validators/validators#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003epython-validators/validators#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003epython-validators/validators#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003epython-validators/validators#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003epython-validators/validators#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003epython-validators/validators#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003epython-validators/validators#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003epython-validators/validators#415\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/blob/master/CHANGES.md\"\u003evalidators's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0 (2025-05-01)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/75788ed9e116fe3bf1bb9699f1696e7f7e132067\"\u003e\u003ccode\u003e75788ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/425\"\u003e#425\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/0b1799cdb431e708aff6b1b59e4430bd0828a70b\"\u003e\u003ccode\u003e0b1799c\u003c/code\u003e\u003c/a\u003e chore: updates changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/de4948f45fc4d79abec2da3b8586f6b271c5d723\"\u003e\u003ccode\u003ede4948f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/424\"\u003e#424\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/6d8a1abcdf2d92e113b1707bbf372bde4d48e3a5\"\u003e\u003ccode\u003e6d8a1ab\u003c/code\u003e\u003c/a\u003e chore: prepare for new release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/8691cead510052aae88f22776b9d6fbe1cf55351\"\u003e\u003ccode\u003e8691cea\u003c/code\u003e\u003c/a\u003e chore: formatting; sync dependencies (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/422\"\u003e#422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/bafe62e757bd99526129f8dffcfc9795817d08d8\"\u003e\u003ccode\u003ebafe62e\u003c/code\u003e\u003c/a\u003e feat: add Mir card validation support (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/7c97eca2990f6d42e27f0f211475eb0d4809de59\"\u003e\u003ccode\u003e7c97eca\u003c/code\u003e\u003c/a\u003e Fix: Allow Special DOI Cases Used in Public Administration Tests (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/415\"\u003e#415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/b2510d1c5f7ef81cdf9fa90d2548ebd826e4e734\"\u003e\u003ccode\u003eb2510d1\u003c/code\u003e\u003c/a\u003e feat: adds \u003ccode\u003edoctest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/f7742c55b680036116a7f61e140476ffd4774ccb\"\u003e\u003ccode\u003ef7742c5\u003c/code\u003e\u003c/a\u003e Refactor API: remove print from ru_inn, update description, and expose via __...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/d6241fc31f6b46bf81283c6ab3cae07c370fc1f6\"\u003e\u003ccode\u003ed6241fc\u003c/code\u003e\u003c/a\u003e fix(uri): remove \u0026quot;mailto:\u0026quot; prefix manually (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/418\"\u003e#418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=validators\u0026package-manager=pip\u0026previous-version=0.34.0\u0026new-version=0.35.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/sfneal/nginx-laravel/pull/256","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfneal%2Fnginx-laravel/issues/256","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/256/packages"},{"uuid":"3309474815","node_id":"PR_kwDOPSVYoc6jBRRz","number":21,"state":"closed","title":"chore(deps): Bump the python-dependencies group across 1 directory with 33 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-01-16T20:11:56.000Z","author_association":null,"state_reason":null,"created_at":"2025-08-11T10:44:22.000Z","updated_at":"2026-01-16T20:12:06.000Z","time_to_close":13685254,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"python-dependencies","update_count":33,"packages":[{"name":"python-owasp-zap-v2-4","old_version":"0.0.21","new_version":"0.1.0"},{"name":"fastapi","old_version":"0.104.1","new_version":"0.116.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.24.0","new_version":"0.35.0","repository_url":"https://github.com/encode/uvicorn"},{"name":"pydantic","old_version":"2.5.0","new_version":"2.11.7","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-settings","old_version":"2.1.0","new_version":"2.10.1","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"httpx","old_version":"0.25.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"requests","old_version":"2.31.0","new_version":"2.32.4","repository_url":"https://github.com/psf/requests"},{"name":"urllib3","old_version":"2.1.0","new_version":"2.5.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"pytest","old_version":"7.4.3","new_version":"8.4.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-asyncio","old_version":"0.21.1","new_version":"1.1.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"pytest-cov","old_version":"4.1.0","new_version":"6.2.1","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"beautifulsoup4","old_version":"4.12.2","new_version":"4.13.4"},{"name":"lxml","old_version":"4.9.3","new_version":"6.0.0","repository_url":"https://github.com/lxml/lxml"},{"name":"selenium","old_version":"4.15.2","new_version":"4.34.2","repository_url":"https://github.com/SeleniumHQ/Selenium"},{"name":"webdriver-manager","old_version":"4.0.1","new_version":"4.0.2","repository_url":"https://github.com/SergeyPirogov/webdriver_manager"},{"name":"jinja2","old_version":"3.1.2","new_version":"3.1.6","repository_url":"https://github.com/pallets/jinja"},{"name":"weasyprint","old_version":"60.1","new_version":"66.0","repository_url":"https://github.com/Kozea/WeasyPrint"},{"name":"matplotlib","old_version":"3.7.5","new_version":"3.9.4","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"plotly","old_version":"5.18.0","new_version":"6.2.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"sqlalchemy","old_version":"2.0.23","new_version":"2.0.42","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"aiosqlite","old_version":"0.19.0","new_version":"0.21.0","repository_url":"https://github.com/omnilib/aiosqlite"},{"name":"pyyaml","old_version":"6.0.1","new_version":"6.0.2","repository_url":"https://github.com/yaml/pyyaml"},{"name":"python-dotenv","old_version":"1.0.0","new_version":"1.1.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"click","old_version":"8.1.7","new_version":"8.1.8","repository_url":"https://github.com/pallets/click"},{"name":"rich","old_version":"13.7.0","new_version":"14.1.0","repository_url":"https://github.com/Textualize/rich"},{"name":"tqdm","old_version":"4.66.1","new_version":"4.67.1","repository_url":"https://github.com/tqdm/tqdm"},{"name":"aiofiles","old_version":"23.2.1","new_version":"24.1.0","repository_url":"https://github.com/Tinche/aiofiles"},{"name":"asyncio","old_version":"3.4.3","new_version":"4.0.0","repository_url":"https://github.com/python/asyncio"},{"name":"psutil","old_version":"5.9.6","new_version":"7.0.0","repository_url":"https://github.com/giampaolo/psutil"},{"name":"python-dateutil","old_version":"2.8.2","new_version":"2.9.0.post0","repository_url":"https://github.com/dateutil/dateutil"},{"name":"validators","old_version":"0.22.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"tenacity","old_version":"8.2.3","new_version":"9.1.2","repository_url":"https://github.com/jd/tenacity"},{"name":"cachetools","old_version":"5.3.2","new_version":"6.1.0","repository_url":"https://github.com/tkem/cachetools"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 33 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-owasp-zap-v2-4]() | `0.0.21` | `0.1.0` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.104.1` | `0.116.1` |\n| [uvicorn](https://github.com/encode/uvicorn) | `0.24.0` | `0.35.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.5.0` | `2.11.7` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.1.0` | `2.10.1` |\n| [httpx](https://github.com/encode/httpx) | `0.25.2` | `0.28.1` |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.32.4` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.1.0` | `2.5.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `7.4.3` | `8.4.1` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `0.21.1` | `1.1.0` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `4.1.0` | `6.2.1` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.12.2` | `4.13.4` |\n| [lxml](https://github.com/lxml/lxml) | `4.9.3` | `6.0.0` |\n| [selenium](https://github.com/SeleniumHQ/Selenium) | `4.15.2` | `4.34.2` |\n| [webdriver-manager](https://github.com/SergeyPirogov/webdriver_manager) | `4.0.1` | `4.0.2` |\n| [jinja2](https://github.com/pallets/jinja) | `3.1.2` | `3.1.6` |\n| [weasyprint](https://github.com/Kozea/WeasyPrint) | `60.1` | `66.0` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.7.5` | `3.9.4` |\n| [plotly](https://github.com/plotly/plotly.py) | `5.18.0` | `6.2.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.23` | `2.0.42` |\n| [aiosqlite](https://github.com/omnilib/aiosqlite) | `0.19.0` | `0.21.0` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.1` | `6.0.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.0` | `1.1.1` |\n| [click](https://github.com/pallets/click) | `8.1.7` | `8.1.8` |\n| [rich](https://github.com/Textualize/rich) | `13.7.0` | `14.1.0` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.66.1` | `4.67.1` |\n| [aiofiles](https://github.com/Tinche/aiofiles) | `23.2.1` | `24.1.0` |\n| [asyncio](https://github.com/python/asyncio) | `3.4.3` | `4.0.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `5.9.6` | `7.0.0` |\n| [python-dateutil](https://github.com/dateutil/dateutil) | `2.8.2` | `2.9.0.post0` |\n| [validators](https://github.com/python-validators/validators) | `0.22.0` | `0.35.0` |\n| [tenacity](https://github.com/jd/tenacity) | `8.2.3` | `9.1.2` |\n| [cachetools](https://github.com/tkem/cachetools) | `5.3.2` | `6.1.0` |\n\n\nUpdates `python-owasp-zap-v2-4` from 0.0.21 to 0.1.0\n\nUpdates `fastapi` from 0.104.1 to 0.116.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.116.1\u003c/h2\u003e\n\u003ch3\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Upgrade Starlette supported version range to \u003ccode\u003e\u0026gt;=0.40.0,\u0026lt;0.48.0\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13884\"\u003e#13884\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📝 Add notification about impending changes in Translations to \u003ccode\u003edocs/en/docs/contributing.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13886\"\u003e#13886\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⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13871\"\u003e#13871\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.116.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for deploying to FastAPI Cloud with \u003ccode\u003efastapi deploy\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13870\"\u003e#13870\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\u003cp\u003eInstalling \u003ccode\u003efastapi[standard]\u003c/code\u003e now includes \u003ccode\u003efastapi-cloud-cli\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThis will allow you to deploy to \u003ca href=\"https://fastapicloud.com\"\u003eFastAPI Cloud\u003c/a\u003e with the \u003ccode\u003efastapi deploy\u003c/code\u003e command.\u003c/p\u003e\n\u003cp\u003eIf you want to install \u003ccode\u003efastapi\u003c/code\u003e with the standard dependencies but without \u003ccode\u003efastapi-cloud-cli\u003c/code\u003e, you can install instead \u003ccode\u003efastapi[standard-no-fastapi-cloud-cli]\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Add Russian translation for \u003ccode\u003edocs/ru/docs/advanced/response-directly.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13801\"\u003e#13801\u003c/a\u003e by \u003ca href=\"https://github.com/NavesSapnis\"\u003e\u003ccode\u003e@​NavesSapnis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Add Russian translation for \u003ccode\u003edocs/ru/docs/advanced/additional-status-codes.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13799\"\u003e#13799\u003c/a\u003e by \u003ca href=\"https://github.com/NavesSapnis\"\u003e\u003ccode\u003e@​NavesSapnis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Add Ukrainian translation for \u003ccode\u003edocs/uk/docs/tutorial/body-updates.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13804\"\u003e#13804\u003c/a\u003e by \u003ca href=\"https://github.com/valentinDruzhinin\"\u003e\u003ccode\u003e@​valentinDruzhinin\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 pillow from 11.1.0 to 11.3.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13852\"\u003e#13852\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 FastAPI People - Sponsors. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13846\"\u003e#13846\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/13848\"\u003e#13848\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 mkdocs-material from 9.6.1 to 9.6.15. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13849\"\u003e#13849\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⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13843\"\u003e#13843\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\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/13845\"\u003e#13845\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.115.14\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix support for unions when using \u003ccode\u003eForm\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13827\"\u003e#13827\u003c/a\u003e by \u003ca href=\"https://github.com/patrick91\"\u003e\u003ccode\u003e@​patrick91\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 grammar mistake in \u003ccode\u003edocs/en/docs/advanced/response-directly.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13800\"\u003e#13800\u003c/a\u003e by \u003ca href=\"https://github.com/NavesSapnis\"\u003e\u003ccode\u003e@​NavesSapnis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update Speakeasy URL to Speakeasy Sandbox. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13697\"\u003e#13697\u003c/a\u003e by \u003ca href=\"https://github.com/ndimares\"\u003e\u003ccode\u003e@​ndimares\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\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/fastapi/fastapi/commit/313723494be79d4b24ccaa60e4f6d1f96c150fed\"\u003e\u003ccode\u003e3137234\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.116.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/095dab00c7d7bb3fc5d02da159207d56ac5bc1ea\"\u003e\u003ccode\u003e095dab0\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cad6880fd97d6f25d3f05025c88230285386e7f9\"\u003e\u003ccode\u003ecad6880\u003c/code\u003e\u003c/a\u003e ⬆️ Upgrade Starlette supported version range to \u003ccode\u003e\u0026gt;=0.40.0,\u0026lt;0.48.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/13884\"\u003e#13884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/a6e79e68a438c3e1f2ff628254d433832f73df53\"\u003e\u003ccode\u003ea6e79e6\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/2c13b1ba4bce313d68f2ebd562b9b0c3267f5158\"\u003e\u003ccode\u003e2c13b1b\u003c/code\u003e\u003c/a\u003e 📝 Add notification about impending changes in Translations to `docs/en/docs/c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7179d48fd774bcbc5f5013bb8f4df61b8c36795f\"\u003e\u003ccode\u003e7179d48\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/07bcb18a5a2ddab8282f4a9d50f63f3c9f46ca8c\"\u003e\u003ccode\u003e07bcb18\u003c/code\u003e\u003c/a\u003e ⬆ [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/13871\"\u003e#13871\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/bd8f358fd93416835b06486566b9d9ab991577b6\"\u003e\u003ccode\u003ebd8f358\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.116.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/18eb7a708096ab7a19f31a59918bc010aba0ddba\"\u003e\u003ccode\u003e18eb7a7\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/dd906a998ee2aa41cba98edf13364b34fdc9b1c1\"\u003e\u003ccode\u003edd906a9\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.104.1...0.116.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.24.0 to 0.35.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/encode/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.35.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eWebSocketsSansIOProtocol\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/encode/uvicorn/pull/2540\"\u003eencode/uvicorn#2540\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefine help message for option \u003ccode\u003e--proxy-headers\u003c/code\u003e by \u003ca href=\"https://github.com/zhangyoufu\"\u003e\u003ccode\u003e@​zhangyoufu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2653\"\u003eencode/uvicorn#2653\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/zhangyoufu\"\u003e\u003ccode\u003e@​zhangyoufu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2653\"\u003eencode/uvicorn#2653\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/encode/uvicorn/compare/0.34.3...0.35.0\"\u003ehttps://github.com/encode/uvicorn/compare/0.34.3...0.35.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.34.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDon't include \u003ccode\u003ecwd()\u003c/code\u003e when non-empty \u003ccode\u003e--reload-dirs\u003c/code\u003e is passed by \u003ca href=\"https://github.com/stinovlas\"\u003e\u003ccode\u003e@​stinovlas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2598\"\u003eencode/uvicorn#2598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply \u003ccode\u003eget_client_addr\u003c/code\u003e formatting to WebSocket logging by \u003ca href=\"https://github.com/Harry-Lees\"\u003e\u003ccode\u003e@​Harry-Lees\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2636\"\u003eencode/uvicorn#2636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve type hints by \u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2638\"\u003eencode/uvicorn#2638\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/stinovlas\"\u003e\u003ccode\u003e@​stinovlas\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2598\"\u003eencode/uvicorn#2598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LifeLex\"\u003e\u003ccode\u003e@​LifeLex\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2621\"\u003eencode/uvicorn#2621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Harry-Lees\"\u003e\u003ccode\u003e@​Harry-Lees\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2636\"\u003eencode/uvicorn#2636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2638\"\u003eencode/uvicorn#2638\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/encode/uvicorn/compare/0.34.2...0.34.3\"\u003ehttps://github.com/encode/uvicorn/compare/0.34.2...0.34.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.34.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFlush the stdout buffer on Windows to trigger reload by \u003ca href=\"https://github.com/jamesh1999\"\u003e\u003ccode\u003e@​jamesh1999\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2604\"\u003eencode/uvicorn#2604\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/jamesh1999\"\u003e\u003ccode\u003e@​jamesh1999\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2604\"\u003eencode/uvicorn#2604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/encode/uvicorn/compare/0.34.1...0.34.2\"\u003ehttps://github.com/encode/uvicorn/compare/0.34.1...0.34.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.34.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eServerState\u003c/code\u003e in the main module by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2581\"\u003eencode/uvicorn#2581\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/RakhimovRamis\"\u003e\u003ccode\u003e@​RakhimovRamis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2567\"\u003eencode/uvicorn#2567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carlwgeorge\"\u003e\u003ccode\u003e@​carlwgeorge\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2590\"\u003eencode/uvicorn#2590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/encode/uvicorn/compare/0.34.0...0.34.1\"\u003ehttps://github.com/encode/uvicorn/compare/0.34.0...0.34.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.34.0\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/encode/uvicorn/blob/master/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0 (June 28, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eWebSocketsSansIOProtocol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2540\"\u003e#2540\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefine help message for option \u003ccode\u003e--proxy-headers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2653\"\u003e#2653\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.34.3 (June 1, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't include \u003ccode\u003ecwd()\u003c/code\u003e when non-empty \u003ccode\u003e--reload-dirs\u003c/code\u003e is passed (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2598\"\u003e#2598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApply \u003ccode\u003eget_client_addr\u003c/code\u003e formatting to WebSocket logging (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2636\"\u003e#2636\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.34.2 (April 19, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlush stdout buffer on Windows to trigger reload (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2604\"\u003e#2604\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.34.1 (April 13, 2025)\u003c/h2\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eServerState\u003c/code\u003e in the main module (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2581\"\u003e#2581\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.34.0 (December 15, 2024)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003econtent-length\u003c/code\u003e to 500 response in \u003ccode\u003ewsproto\u003c/code\u003e implementation (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2542\"\u003e#2542\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2543\"\u003e#2543\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.33.0 (December 14, 2024)\u003c/h2\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eWatchGod\u003c/code\u003e support for \u003ccode\u003e--reload\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2536\"\u003e#2536\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.32.1 (November 20, 2024)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop ASGI spec version to 2.3 on HTTP scope (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2513\"\u003e#2513\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/encode/uvicorn/commit/daecb45327702efe8f702f46fb0870c2d6357837\"\u003e\u003ccode\u003edaecb45\u003c/code\u003e\u003c/a\u003e Version 0.35.0 (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2654\"\u003e#2654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/uvicorn/commit/22dfd3fa95dd035db77099c4903aad6e148a50a8\"\u003e\u003ccode\u003e22dfd3f\u003c/code\u003e\u003c/a\u003e refine help message for option --proxy-headers (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2653\"\u003e#2653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/uvicorn/commit/b9606269a7f24f2511de0015b7af7df499be569f\"\u003e\u003ccode\u003eb960626\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eWebSocketsSansIOProtocol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2540\"\u003e#2540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/uvicorn/commit/5432729137988a53bb70d2f3e0c790f9bdf33ec5\"\u003e\u003ccode\u003e5432729\u003c/code\u003e\u003c/a\u003e Add CITATION.cff (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2649\"\u003e#2649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/uvicorn/commit/5e33d430f13622c8363fe74d97963ab37f3df3c2\"\u003e\u003ccode\u003e5e33d43\u003c/code\u003e\u003c/a\u003e Add notes about 0.34.3 and Google Analytics (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2642\"\u003e#2642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/uvicorn/commit/ce129ff120c31f433edea63e697de60ab690ace6\"\u003e\u003ccode\u003ece129ff\u003c/code\u003e\u003c/a\u003e chore: improve type hints (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2638\"\u003e#2638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/uvicorn/commit/fa3d9d27dbe7ecbc68e0992309d0ba49ead5640b\"\u003e\u003ccode\u003efa3d9d2\u003c/code\u003e\u003c/a\u003e Apply \u003ccode\u003eget_client_addr\u003c/code\u003e formatting to WebSocket logging (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2636\"\u003e#2636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/uvicorn/commit/66b9b58ad90112d54e7e3c4160c837ec72de51da\"\u003e\u003ccode\u003e66b9b58\u003c/code\u003e\u003c/a\u003e Bump the python-packages group across 1 directory with 5 updates (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2631\"\u003e#2631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/uvicorn/commit/bc795051bd6761d2dc6eaf3b5fef3cad1b2009ba\"\u003e\u003ccode\u003ebc79505\u003c/code\u003e\u003c/a\u003e chore: update h11 dependecy to latest release (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2621\"\u003e#2621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/uvicorn/commit/2eda7b10be2e91d84f639974b915a00378b0375d\"\u003e\u003ccode\u003e2eda7b1\u003c/code\u003e\u003c/a\u003e Bump uvloop (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2618\"\u003e#2618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/encode/uvicorn/compare/0.24.0...0.35.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.5.0 to 2.11.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.11.7 2025-06-14\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCopy \u003ccode\u003eFieldInfo\u003c/code\u003e instance if necessary during \u003ccode\u003eFieldInfo\u003c/code\u003e build 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/11980\"\u003epydantic/pydantic#11980\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.6...v2.11.7\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.6...v2.11.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.6 2025-06-13\u003c/h2\u003e\n\u003ch2\u003ev2.11.6 (2025-06-13)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRebuild dataclass fields before schema generation 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/11949\"\u003e#11949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways store the original field assignment on \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/11946\"\u003e#11946\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.5...v2.11.6\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.5...v2.11.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.5 2025-05-22\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCheck if \u003ccode\u003eFieldInfo\u003c/code\u003e is complete after applying type variable map 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/11855\"\u003e#11855\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not delete mock validator/serializer in \u003ccode\u003emodel_rebuild()\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/11890\"\u003e#11890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not duplicate metadata on model rebuild 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/11902\"\u003e#11902\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.4...v2.11.5\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.4...v2.11.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.4 2025-04-29\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump \u003ccode\u003emkdocs-llmstxt\u003c/code\u003e to v0.2.0 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/11725\"\u003e#11725\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow config and bases to be specified together in \u003ccode\u003ecreate_model()\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/11714\"\u003e#11714\u003c/a\u003e.\nThis change was backported as it was previously possible (although not meant to be supported)\nto provide \u003ccode\u003emodel_config\u003c/code\u003e as a field, which would make it possible to provide both configuration\nand bases.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\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\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.11.7 (2025-06-14)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.7\"\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\u003eCopy \u003ccode\u003eFieldInfo\u003c/code\u003e instance if necessary during \u003ccode\u003eFieldInfo\u003c/code\u003e build 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/11898\"\u003e#11898\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.11.6 (2025-06-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.6\"\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\u003eRebuild dataclass fields before schema generation 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/11949\"\u003e#11949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways store the original field assignment on \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/11946\"\u003e#11946\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.11.5 (2025-05-22)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.5\"\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\u003eCheck if \u003ccode\u003eFieldInfo\u003c/code\u003e is complete after applying type variable map 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/11855\"\u003e#11855\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not delete mock validator/serializer in \u003ccode\u003emodel_rebuild()\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/11890\"\u003e#11890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not duplicate metadata on model rebuild 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/11902\"\u003e#11902\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.11.4 (2025-04-29)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.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 \u003ccode\u003emkdocs-llmstxt\u003c/code\u003e to v0.2.0 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/11725\"\u003e#11725\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow config and bases to be specified together in \u003ccode\u003ecreate_model()\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/11714\"\u003e#11714\u003c/a\u003e.\nThis change was backported as it was previously possible (although not meant to be supported)\nto provide \u003ccode\u003emodel_config\u003c/code\u003e as a field, which would make it possible to provide both configuration\nand bases.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/5f033e46c54fea1b59b6894d6527daf49475e690\"\u003e\u003ccode\u003e5f033e4\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c3368b83c411f421a7322959bc29f3bea4bd252a\"\u003e\u003ccode\u003ec3368b8\u003c/code\u003e\u003c/a\u003e Copy \u003ccode\u003eFieldInfo\u003c/code\u003e instance if necessary during \u003ccode\u003eFieldInfo\u003c/code\u003e build (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/11980\"\u003e#11980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/3987b23db4b31ff35e9fa15c21c0c1d1c9808838\"\u003e\u003ccode\u003e3987b23\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/dc7a9d20bee55a3a6e7397ee46abfcd9057b627b\"\u003e\u003ccode\u003edc7a9d2\u003c/code\u003e\u003c/a\u003e Always store the original field assignment on \u003ccode\u003eFieldInfo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c284c279a5b8c95d32ab5ec31d2511b3b27bfa87\"\u003e\u003ccode\u003ec284c27\u003c/code\u003e\u003c/a\u003e Rebuild dataclass fields before schema generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e6d1dc71fe9bd832635cb2e9b4af92286fd00b8\"\u003e\u003ccode\u003e5e6d1dc\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1b63218c42b515bd1f6b0dd323190236ead14bdb\"\u003e\u003ccode\u003e1b63218\u003c/code\u003e\u003c/a\u003e Do not duplicate metadata on model rebuild (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/11902\"\u003e#11902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5aefad873b3dfd60c419bd081ffaf0ac197c7b60\"\u003e\u003ccode\u003e5aefad8\u003c/code\u003e\u003c/a\u003e Do not delete mock validator/serializer in \u003ccode\u003emodel_rebuild()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8fbe6585f4d6179e5234ab61de00059c52e57975\"\u003e\u003ccode\u003e8fbe658\u003c/code\u003e\u003c/a\u003e Check if \u003ccode\u003eFieldInfo\u003c/code\u003e is complete after applying type variable map\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/12b371a0f7f800bf65daa3eaada1b4348348d9c4\"\u003e\u003ccode\u003e12b371a\u003c/code\u003e\u003c/a\u003e Update documentation about \u003ccode\u003e@dataclass_transform\u003c/code\u003e support\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.5.0...v2.11.7\"\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.1.0 to 2.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic-settings/releases\"\u003epydantic-settings's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.10.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix UnboundLocalError error in _replace_field_names_case_insensitively 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/639\"\u003epydantic/pydantic-settings#639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unknown file reference in documentation 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-settings/pull/640\"\u003epydantic/pydantic-settings#640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.10.1 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/642\"\u003epydantic/pydantic-settings#642\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/2.10.0...2.10.1\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/2.10.0...2.10.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.10.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix running tests when azure-keyvault-secrets is not installed by \u003ca href=\"https://github.com/CyberTailor\"\u003e\u003ccode\u003e@​CyberTailor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/601\"\u003epydantic/pydantic-settings#601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix running tests when google-cloud-secret-manager is not installed by \u003ca href=\"https://github.com/CyberTailor\"\u003e\u003ccode\u003e@​CyberTailor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/602\"\u003epydantic/pydantic-settings#602\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport loading a specific nested key from YAML in YamlConfigSettingsSource by \u003ca href=\"https://github.com/Seunghan-Jung\"\u003e\u003ccode\u003e@​Seunghan-Jung\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/603\"\u003epydantic/pydantic-settings#603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CLI suppression for model group help by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/604\"\u003epydantic/pydantic-settings#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix missing DEFAULT_PATH import 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/606\"\u003epydantic/pydantic-settings#606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix case-insensitive handling of nested aliases in EnvironmentSettingsSource by \u003ca href=\"https://github.com/d15ky\"\u003e\u003ccode\u003e@​d15ky\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/608\"\u003epydantic/pydantic-settings#608\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAzure Key Vault case insensitive support and dash-underscore translation by \u003ca href=\"https://github.com/d15ky\"\u003e\u003ccode\u003e@​d15ky\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/607\"\u003epydantic/pydantic-settings#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Respect 'cli_parse_args' from model_config with settings_customise_sources by \u003ca href=\"https://github.com/karta9821\"\u003e\u003ccode\u003e@​karta9821\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/611\"\u003epydantic/pydantic-settings#611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv 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/612\"\u003epydantic/pydantic-settings#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate packages 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/613\"\u003epydantic/pydantic-settings#613\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md 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/616\"\u003epydantic/pydantic-settings#616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI badge 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/617\"\u003epydantic/pydantic-settings#617\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/618\"\u003epydantic/pydantic-settings#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix coverage report 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/619\"\u003epydantic/pydantic-settings#619\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix _consume_object_or_array on unbalanced brackets in JSON strings by \u003ca href=\"https://github.com/andryak\"\u003e\u003ccode\u003e@​andryak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/621\"\u003epydantic/pydantic-settings#621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd region as a parameter to aws secret manager by \u003ca href=\"https://github.com/barakor-vs\"\u003e\u003ccode\u003e@​barakor-vs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/622\"\u003epydantic/pydantic-settings#622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose GCP Secret Manager case sensitive option by \u003ca href=\"https://github.com/bellmatthewf\"\u003e\u003ccode\u003e@​bellmatthewf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/626\"\u003epydantic/pydantic-settings#626\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/633\"\u003epydantic/pydantic-settings#633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add \u003ccode\u003ecli_shortcuts\u003c/code\u003e to CLI settings by \u003ca href=\"https://github.com/karta9821\"\u003e\u003ccode\u003e@​karta9821\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/624\"\u003epydantic/pydantic-settings#624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose AWS Secrets Manager case sensitive option by \u003ca href=\"https://github.com/femiadebayo\"\u003e\u003ccode\u003e@​femiadebayo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/629\"\u003epydantic/pydantic-settings#629\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.10.0 by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/635\"\u003epydantic/pydantic-settings#635\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/Seunghan-Jung\"\u003e\u003ccode\u003e@​Seunghan-Jung\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/603\"\u003epydantic/pydantic-settings#603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/d15ky\"\u003e\u003ccode\u003e@​d15ky\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/608\"\u003epydantic/pydantic-settings#608\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/karta9821\"\u003e\u003ccode\u003e@​karta9821\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/611\"\u003epydantic/pydantic-settings#611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andryak\"\u003e\u003ccode\u003e@​andryak\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/621\"\u003epydantic/pydantic-settings#621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/barakor-vs\"\u003e\u003ccode\u003e@​barakor-vs\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/622\"\u003epydantic/pydantic-settings#622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bellmatthewf\"\u003e\u003ccode\u003e@​bellmatthewf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/626\"\u003epydantic/pydantic-settings#626\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/femiadebayo\"\u003e\u003ccode\u003e@​femiadebayo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/629\"\u003epydantic/pydantic-settings#629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.9.1...2.10.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.9.1...2.10.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.9.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Expose ConfigFileSourceMixing on top level sources/\u003cstrong\u003einit\u003c/strong\u003e.py by \u003ca href=\"https://github.com/jbw-vtl\"\u003e\u003ccode\u003e@​jbw-vtl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/597\"\u003epydantic/pydantic-settings#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in gcp secret manager error message by \u003ca href=\"https://github.com/christian-heusel\"\u003e\u003ccode\u003e@​christian-heusel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/598\"\u003epydantic/pydantic-settings#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.9.1 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/600\"\u003epydantic/pydantic-settings#600\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/pydantic/pydantic-settings/commit/6bae3ab4fb321434feca35d120f05509d5c4ac55\"\u003e\u003ccode\u003e6bae3ab\u003c/code\u003e\u003c/a\u003e Prepare release 2.10.1 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/642\"\u003e#642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/36b8bfed902cce5d870fe09688014902d3894cab\"\u003e\u003ccode\u003e36b8bfe\u003c/code\u003e\u003c/a\u003e Remove unknown file reference in documentation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/640\"\u003e#640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/697aaa621eb184a51e2e2729d8146b5ef4b2b7cc\"\u003e\u003ccode\u003e697aaa6\u003c/code\u003e\u003c/a\u003e Fix UnboundLocalError error in _replace_field_names_case_insensitively (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/639\"\u003e#639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/910b1b1e0c30af39e10a3703e78b1e5943cde491\"\u003e\u003ccode\u003e910b1b1\u003c/code\u003e\u003c/a\u003e Prepare release 2.10.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/635\"\u003e#635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/1ee66248adeff298d7f37b08c2dfb07f8562f08e\"\u003e\u003ccode\u003e1ee6624\u003c/code\u003e\u003c/a\u003e Expose AWS Secrets Manager case sensitive option (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/629\"\u003e#629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/180e74e324d8418e22b5dcb196fd6390fa964537\"\u003e\u003ccode\u003e180e74e\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003ecli_shortcuts\u003c/code\u003e to CLI settings (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/624\"\u003e#624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/e1629080542ffab481030a7a100b820556f2695f\"\u003e\u003ccode\u003ee162908\u003c/code\u003e\u003c/a\u003e Update deps (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/159ef14dc1d299a29992283060d038cf6e6d3b56\"\u003e\u003ccode\u003e159ef14\u003c/code\u003e\u003c/a\u003e Expose GCP Secret Manager case sensitive option (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/626\"\u003e#626\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/e9f7994872ebcd7a284d98d0ed501cc314a6a7fa\"\u003e\u003ccode\u003ee9f7994\u003c/code\u003e\u003c/a\u003e add region as a parameter to aws secret manager (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/622\"\u003e#622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/ca4ff9f96fc22396647ab878e5b87458ae0fde2f\"\u003e\u003ccode\u003eca4ff9f\u003c/code\u003e\u003c/a\u003e Fix _consume_object_or_array on unbalanced brackets in JSON strings (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/621\"\u003e#621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.1.0...2.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `httpx` from 0.25.2 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!-- 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/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\u003ch2\u003e0.27.0 (21st February, 2024)\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/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.25.2...0.28.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.31.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.31.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 `urllib3` from 2.1.0 to 2.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/urllib3/urllib3/releases\"\u003eurllib3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.5.0\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch1\u003eSecurity issues\u003c/h1\u003e\n\u003cp\u003eurllib3 2.5.0 fixes two moderate security issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePool managers now properly control redirects when \u003ccode\u003eretries\u003c/code\u003e is passed — CVE-2025-50181 reported by \u003ca href=\"https://github.com/sandumjacob\"\u003e\u003ccode\u003e@​sandumjacob\u003c/code\u003e\u003c/a\u003e (5.3 Medium, GHSA-pq67-6m6q-mj2v)\u003c/li\u003e\n\u003cli\u003eRedirects are now controlled by urllib3 in the Node.js runtime — CVE-2025-50182 (5.3 Medium, GHSA-48p4-8xcf-vxj5)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFeatures\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003ecompression.zstd\u003c/code\u003e module that is new in Python 3.14. See \u003ca href=\"https://peps.python.org/pep-0784/\"\u003ePEP 784\u003c/a\u003e for more information. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3610\"\u003e#3610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for version 0.5 of \u003ccode\u003ehatch-vcs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3612\"\u003e#3612\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBugfixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRaised exception for \u003ccode\u003eHTTPResponse.shutdown\u003c/code\u003e on a connection already released to the pool. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3581\"\u003e#3581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed incorrect \u003ccode\u003eCONNECT\u003c/code\u003e statement when using an IPv6 proxy with \u003ccode\u003econnection_from_host\u003c/code\u003e. Previously would not be wrapped in \u003ccode\u003e[]\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3615\"\u003e#3615\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch1\u003eFeatures\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApplied PEP 639 by specifying the license fields in pyproject.toml. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3522\"\u003e#3522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated exceptions to save and restore more properties during the pickle/serialization process. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3567\"\u003e#3567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003everify_flags\u003c/code\u003e option to \u003ccode\u003ecreate_urllib3_context\u003c/code\u003e with a default of \u003ccode\u003eVERIFY_X509_PARTIAL_CHAIN\u003c/code\u003e and \u003ccode\u003eVERIFY_X509_STRICT\u003c/code\u003e for Python 3.13+. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3571\"\u003e#3571\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBugfixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug with partial reads of streaming data in Emscripten. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eMisc\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSwitched to uv for installing development dependecies. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved the \u003ccode\u003emultiple.intoto.jsonl\u003c/code\u003e asset from GitHub releases. Attestation of release files since v2.3.0 can be found on PyPI. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3566\"\u003e#3566\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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/urllib3/urllib3/blob/main/CHANGES.rst\"\u003eurllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.5.0 (2025-06-18)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003ecompression.zstd\u003c/code\u003e module that is new in Python 3.14.\nSee \u003ccode\u003ePEP 784 \u0026lt;https://peps.python.org/pep-0784/\u0026gt;\u003c/code\u003e_ for more information. (\u003ccode\u003e[#3610](https://github.com/urllib3/urllib3/issues/3610) \u0026lt;https://github.com/urllib3/urllib3/issues/3610\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eAdded support for version 0.5 of \u003ccode\u003ehatch-vcs\u003c/code\u003e (\u003ccode\u003e[#3612](https://github.com/urllib3/urllib3/issues/3612) \u0026lt;https://github.com/urllib3/urllib3/issues/3612\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a security issue where restricting the maximum number of followed\nredirects at the \u003ccode\u003eurllib3.PoolManager\u003c/code\u003e level via the \u003ccode\u003eretries\u003c/code\u003e parameter\ndid not work.\u003c/li\u003e\n\u003cli\u003eMade the Node.js runtime respect redirect parameters such as \u003ccode\u003eretries\u003c/code\u003e\nand \u003ccode\u003eredirects\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised exception for \u003ccode\u003eHTTPResponse.shutdown\u003c/code\u003e on a connection already released to the pool. (\u003ccode\u003e[#3581](https://github.com/urllib3/urllib3/issues/3581) \u0026lt;https://github.com/urllib3/urllib3/issues/3581\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eFixed incorrect \u003ccode\u003eCONNECT\u003c/code\u003e statement when using an IPv6 proxy with \u003ccode\u003econnection_from_host\u003c/code\u003e. Previously would not be wrapped in \u003ccode\u003e[]\u003c/code\u003e. (\u003ccode\u003e[#3615](https://github.com/urllib3/urllib3/issues/3615) \u0026lt;https://github.com/urllib3/urllib3/issues/3615\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.4.0 (2025-04-10)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eApplied PEP 639 by specifying the license fields in pyproject.toml. (\u003ccode\u003e[#3522](https://github.com/urllib3/urllib3/issues/3522) \u0026lt;https://github.com/urllib3/urllib3/issues/3522\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eUpdated exceptions to save and restore more properties during the pickle/serialization process. (\u003ccode\u003e[#3567](https://github.com/urllib3/urllib3/issues/3567) \u0026lt;https://github.com/urllib3/urllib3/issues/3567\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003everify_flags\u003c/code\u003e option to \u003ccode\u003ecreate_urllib3_context\u003c/code\u003e with a default of \u003ccode\u003eVERIFY_X509_PARTIAL_CHAIN\u003c/code\u003e and \u003ccode\u003eVERIFY_X509_STRICT\u003c/code\u003e for Python 3.13+. (\u003ccode\u003e[#3571](https://github.com/urllib3/urllib3/issues/3571) \u0026lt;https://github.com/urllib3/urllib3/issues/3571\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug with partial reads of streaming data in Emscripten. (\u003ccode\u003e[#3555](https://github.com/urllib3/urllib3/issues/3555) \u0026lt;https://github.com/urllib3/urllib3/issues/3555\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSwitched to uv for installing development dependecies. (\u003ccode\u003e[#3550](https://github.com/urllib3/urllib3/issues/3550) \u0026lt;https://github.com/urllib3/urllib3/issues/3550\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eRemoved the \u003ccode\u003emultiple.intoto.jsonl\u003c/code\u003e asset from GitHub releases. Attestation of release files since v2.3.0 can be found on PyPI. (\u003ccode\u003e[#3566](https://github.com/urllib3/urllib3/issues/3566) \u0026lt;https://github.com/urllib3/urllib3/issues/3566\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.3.0 (2024-12-22)\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/urllib3/urllib3/commit/aaab4eccc10c965897540b21e15f11859d0b62e7\"\u003e\u003ccode\u003eaaab4ec\u003c/code\u003e\u003c/a\u003e Release 2.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/7eb4a2aafe49a279c29b6d1f0ed0f42e9736194f\"\u003e\u003ccode\u003e7eb4a2a\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/f05b1329126d5be6de501f9d1e3e36738bc08857\"\u003e\u003ccode\u003ef05b132\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/d03fe327a71d09728512217149f269763671f296\"\u003e\u003ccode\u003ed03fe32\u003c/code\u003e\u003c/a\u003e Fix HTTP tunneling with IPv6 in older Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/11661e9bb4278e43d081f47a516e287a928c2206\"\u003e\u003ccode\u003e11661e9\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.0 to 3.29.0 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3624\"\u003e#3624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/6a0ecc6b16fe30f721021b44a81d19615098c71e\"\u003e\u003ccode\u003e6a0ecc6\u003c/code\u003e\u003c/a\u003e Update v2 migration guide to 2.4.0 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/8e32e60d9024c05bc6f7adda08bdf6c539d0b0d4\"\u003e\u003ccode\u003e8e32e60\u003c/code\u003e\u003c/a\u003e Raise exception for shutdown on a connection already released to the pool (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/9996e0fbf90b77083ad3c73737a6c6395703faa9\"\u003e\u003ccode\u003e9996e0f\u003c/code\u003e\u003c/a\u003e Fix emscripten CI for Chrome 137+ (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3599\"\u003e#3599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/4fd1a99a59725faf0efc946ce3b6bc9a194420af\"\u003e\u003ccode\u003e4fd1a99\u003c/code\u003e\u003c/a\u003e Bump RECENT_DATE (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3617\"\u003e#3617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/c4b5917e911a90c8bf279448df8952a682294135\"\u003e\u003ccode\u003ec4b5917\u003c/code\u003e\u003c/a\u003e Add support for the new \u003ccode\u003ecompression.zstd\u003c/code\u003e module in Python 3.14 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3611\"\u003e#3611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/urllib3/urllib3/compare/2.1.0...2.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 7.4.3 to 8.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.4.1\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.1 (2025-06-17)\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/13461\"\u003e#13461\u003c/a\u003e: Corrected \u003ccode\u003e_pytest.terminal.TerminalReporter.isatty\u003c/code\u003e to support\nbeing called as a method. Before it was just a boolean which could\nbreak correct code when using \u003ccode\u003e-o log_cli=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/1347...\n\n_Description has been truncated_","html_url":"https://github.com/murr2k/linknode-security-tester/pull/21","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/murr2k%2Flinknode-security-tester/issues/21","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/21/packages"},{"uuid":"2730577973","node_id":"PR_kwDONVUiI86iwVA1","number":143,"state":"open","title":"Bump validators from 0.34.0 to 0.35.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-08T12:12:55.000Z","updated_at":"2025-08-08T12:12:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"}],"path":null,"ecosystem":"pip"},"body":"Bumps [validators](https://github.com/python-validators/validators) from 0.34.0 to 0.35.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/releases\"\u003evalidators's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\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/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003epython-validators/validators#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003epython-validators/validators#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003epython-validators/validators#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003epython-validators/validators#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003epython-validators/validators#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003epython-validators/validators#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003epython-validators/validators#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003epython-validators/validators#415\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/blob/master/CHANGES.md\"\u003evalidators's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0 (2025-05-01)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/75788ed9e116fe3bf1bb9699f1696e7f7e132067\"\u003e\u003ccode\u003e75788ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/425\"\u003e#425\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/0b1799cdb431e708aff6b1b59e4430bd0828a70b\"\u003e\u003ccode\u003e0b1799c\u003c/code\u003e\u003c/a\u003e chore: updates changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/de4948f45fc4d79abec2da3b8586f6b271c5d723\"\u003e\u003ccode\u003ede4948f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/424\"\u003e#424\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/6d8a1abcdf2d92e113b1707bbf372bde4d48e3a5\"\u003e\u003ccode\u003e6d8a1ab\u003c/code\u003e\u003c/a\u003e chore: prepare for new release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/8691cead510052aae88f22776b9d6fbe1cf55351\"\u003e\u003ccode\u003e8691cea\u003c/code\u003e\u003c/a\u003e chore: formatting; sync dependencies (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/422\"\u003e#422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/bafe62e757bd99526129f8dffcfc9795817d08d8\"\u003e\u003ccode\u003ebafe62e\u003c/code\u003e\u003c/a\u003e feat: add Mir card validation support (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/7c97eca2990f6d42e27f0f211475eb0d4809de59\"\u003e\u003ccode\u003e7c97eca\u003c/code\u003e\u003c/a\u003e Fix: Allow Special DOI Cases Used in Public Administration Tests (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/415\"\u003e#415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/b2510d1c5f7ef81cdf9fa90d2548ebd826e4e734\"\u003e\u003ccode\u003eb2510d1\u003c/code\u003e\u003c/a\u003e feat: adds \u003ccode\u003edoctest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/f7742c55b680036116a7f61e140476ffd4774ccb\"\u003e\u003ccode\u003ef7742c5\u003c/code\u003e\u003c/a\u003e Refactor API: remove print from ru_inn, update description, and expose via __...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/d6241fc31f6b46bf81283c6ab3cae07c370fc1f6\"\u003e\u003ccode\u003ed6241fc\u003c/code\u003e\u003c/a\u003e fix(uri): remove \u0026quot;mailto:\u0026quot; prefix manually (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/418\"\u003e#418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=validators\u0026package-manager=pip\u0026previous-version=0.34.0\u0026new-version=0.35.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/swiss-ai/mmore/pull/143","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/swiss-ai%2Fmmore/issues/143","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/143/packages"}],"issue_packages":[{"old_version":"0.34.0","new_version":"0.35.0","update_type":"minor","path":null,"pr_created_at":"2026-03-16T01:20:06.000Z","version_change":"0.34.0 → 0.35.0","issue":{"uuid":"4079698436","node_id":"PR_kwDOQmboGc7KyDWC","number":46,"state":"closed","title":"chore(deps)(deps): bump the python-minor-patch group across 1 directory with 56 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["KyaRhamil"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-03-20T21:20:19.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-16T01:20:06.000Z","updated_at":"2026-03-20T21:20:20.000Z","time_to_close":417613,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"python-minor-patch","update_count":56,"packages":[{"name":"flask","old_version":"3.0.3","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"flask-cors","old_version":"6.0.0","new_version":"6.0.2","repository_url":"https://github.com/corydolphin/flask-cors"},{"name":"werkzeug","old_version":"3.1.5","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"tenacity","old_version":"9.1.2","new_version":"9.1.4","repository_url":"https://github.com/jd/tenacity"},{"name":"numpy","old_version":"2.1.3","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"joblib","old_version":"1.4.2","new_version":"1.5.3","repository_url":"https://github.com/joblib/joblib"},{"name":"scipy","old_version":"1.14.1","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"lightgbm","old_version":"4.5.0","new_version":"4.6.0","repository_url":"https://github.com/microsoft/LightGBM"},{"name":"apscheduler","old_version":"3.10.4","new_version":"3.11.2","repository_url":"https://github.com/agronholm/apscheduler"},{"name":"celery","old_version":"5.4.0","new_version":"5.6.2","repository_url":"https://github.com/celery/celery"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"sqlalchemy","old_version":"2.0.35","new_version":"2.0.48","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"alembic","old_version":"1.13.3","new_version":"1.18.4","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"matplotlib","old_version":"3.9.2","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"pyjwt","old_version":"2.9.0","new_version":"2.12.1","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"email-validator","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/JoshData/python-email-validator"},{"name":"flask-compress","old_version":"1.15","new_version":"1.23","repository_url":"https://github.com/colour-science/flask-compress"},{"name":"flask-caching","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/pallets-eco/flask-caching"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"prometheus-flask-exporter","old_version":"0.23.1","new_version":"0.23.2","repository_url":"https://github.com/rycus86/prometheus_flask_exporter"},{"name":"sentry-sdk","old_version":"2.18.0","new_version":"2.54.0"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.67.3","repository_url":"https://github.com/tqdm/tqdm"},{"name":"openmeteo-requests","old_version":"1.2.0","new_version":"1.7.5","repository_url":"https://github.com/open-meteo/python-requests"},{"name":"requests-cache","old_version":"1.2.1","new_version":"1.3.1","repository_url":"https://github.com/requests-cache/requests-cache"},{"name":"beautifulsoup4","old_version":"4.12.3","new_version":"4.14.3"},{"name":"tabula-py","old_version":"2.9.3","new_version":"2.10.0","repository_url":"https://github.com/chezou/tabula-py"},{"name":"reportlab","old_version":"4.2.5","new_version":"4.4.10"},{"name":"shap","old_version":"0.50.0","new_version":"0.51.0","repository_url":"https://github.com/shap/shap"},{"name":"geopandas","old_version":"1.1.2","new_version":"1.1.3","repository_url":"https://github.com/geopandas/geopandas"},{"name":"folium","old_version":"0.18.0","new_version":"0.20.0","repository_url":"https://github.com/python-visualization/folium"},{"name":"shapely","old_version":"2.0.6","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"},{"name":"statsmodels","old_version":"0.14.4","new_version":"0.14.6","repository_url":"https://github.com/statsmodels/statsmodels"},{"name":"prophet","old_version":"1.1.6","new_version":"1.3.0","repository_url":"https://github.com/facebook/prophet"},{"name":"graphql-core","old_version":"3.2.5","new_version":"3.2.8","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"earthengine-api","old_version":"1.4.3","new_version":"1.7.17","repository_url":"https://github.com/google/earthengine-api"},{"name":"google-cloud-bigquery","old_version":"3.27.0","new_version":"3.40.1","repository_url":"https://github.com/googleapis/python-bigquery"},{"name":"google-auth","old_version":"2.37.0","new_version":"2.49.1","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-auth-oauthlib","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-auth-httplib2","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2"},{"name":"jupyter","old_version":"1.0.0","new_version":"1.1.1"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-xdist","old_version":"3.5.0","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"responses","old_version":"0.24.1","new_version":"0.26.0","repository_url":"https://github.com/getsentry/responses"},{"name":"httpx","old_version":"0.25.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"locust","old_version":"2.20.1","new_version":"2.43.3","repository_url":"https://github.com/locustio/locust"},{"name":"bandit","old_version":"1.7.6","new_version":"1.9.4","repository_url":"https://github.com/PyCQA/bandit"},{"name":"safety","old_version":"3.2.0","new_version":"3.7.0","repository_url":"https://github.com/pyupio/safety"},{"name":"pip-audit","old_version":"2.7.3","new_version":"2.10.0","repository_url":"https://github.com/pypa/pip-audit"},{"name":"coverage","old_version":"7.6.0","new_version":"7.13.4","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"coverage-badge","old_version":"1.1.0","new_version":"1.1.2","repository_url":"https://github.com/dbrgn/coverage-badge"},{"name":"pytest-html","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/pytest-dev/pytest-html"},{"name":"google-cloud-bigquery-storage","old_version":"2.27.0","new_version":"2.36.2","repository_url":"https://github.com/googleapis/google-cloud-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 56 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `3.0.3` | `3.1.3` |\n| [flask-cors](https://github.com/corydolphin/flask-cors) | `6.0.0` | `6.0.2` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.5` | `3.1.6` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [tenacity](https://github.com/jd/tenacity) | `9.1.2` | `9.1.4` |\n| [numpy](https://github.com/numpy/numpy) | `2.1.3` | `2.4.3` |\n| [joblib](https://github.com/joblib/joblib) | `1.4.2` | `1.5.3` |\n| [scipy](https://github.com/scipy/scipy) | `1.14.1` | `1.17.1` |\n| [lightgbm](https://github.com/microsoft/LightGBM) | `4.5.0` | `4.6.0` |\n| [apscheduler](https://github.com/agronholm/apscheduler) | `3.10.4` | `3.11.2` |\n| [celery](https://github.com/celery/celery) | `5.4.0` | `5.6.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.2` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.35` | `2.0.48` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.13.3` | `1.18.4` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.9.2` | `3.10.8` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.9.0` | `2.12.1` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [email-validator](https://github.com/JoshData/python-email-validator) | `2.2.0` | `2.3.0` |\n| [flask-compress](https://github.com/colour-science/flask-compress) | `1.15` | `1.23` |\n| [flask-caching](https://github.com/pallets-eco/flask-caching) | `2.3.0` | `2.3.1` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [prometheus-flask-exporter](https://github.com/rycus86/prometheus_flask_exporter) | `0.23.1` | `0.23.2` |\n| [sentry-sdk[flask]](https://github.com/getsentry/sentry-python) | `2.18.0` | `2.54.0` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.1` | `4.67.3` |\n| [openmeteo-requests](https://github.com/open-meteo/python-requests) | `1.2.0` | `1.7.5` |\n| [requests-cache](https://github.com/requests-cache/requests-cache) | `1.2.1` | `1.3.1` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.12.3` | `4.14.3` |\n| [tabula-py](https://github.com/chezou/tabula-py) | `2.9.3` | `2.10.0` |\n| [reportlab](https://www.reportlab.com/) | `4.2.5` | `4.4.10` |\n| [shap](https://github.com/shap/shap) | `0.50.0` | `0.51.0` |\n| [geopandas](https://github.com/geopandas/geopandas) | `1.1.2` | `1.1.3` |\n| [folium](https://github.com/python-visualization/folium) | `0.18.0` | `0.20.0` |\n| [shapely](https://github.com/shapely/shapely) | `2.0.6` | `2.1.2` |\n| [statsmodels](https://github.com/statsmodels/statsmodels) | `0.14.4` | `0.14.6` |\n| [prophet](https://github.com/facebook/prophet) | `1.1.6` | `1.3.0` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.5` | `3.2.8` |\n| [earthengine-api](https://github.com/google/earthengine-api) | `1.4.3` | `1.7.17` |\n| [google-cloud-bigquery](https://github.com/googleapis/python-bigquery) | `3.27.0` | `3.40.1` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.37.0` | `2.49.1` |\n| [google-auth-oauthlib](https://github.com/googleapis/google-cloud-python) | `1.2.1` | `1.3.0` |\n| [google-auth-httplib2](https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2) | `0.2.0` | `0.3.0` |\n| [jupyter](https://jupyter.org) | `1.0.0` | `1.1.1` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.15.1` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.5.0` | `3.8.0` |\n| [responses](https://github.com/getsentry/responses) | `0.24.1` | `0.26.0` |\n| [httpx](https://github.com/encode/httpx) | `0.25.2` | `0.28.1` |\n| [locust](https://github.com/locustio/locust) | `2.20.1` | `2.43.3` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.7.6` | `1.9.4` |\n| [safety](https://github.com/pyupio/safety) | `3.2.0` | `3.7.0` |\n| [pip-audit](https://github.com/pypa/pip-audit) | `2.7.3` | `2.10.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.6.0` | `7.13.4` |\n| [coverage-badge](https://github.com/dbrgn/coverage-badge) | `1.1.0` | `1.1.2` |\n| [pytest-html](https://github.com/pytest-dev/pytest-html) | `4.1.1` | `4.2.0` |\n| [google-cloud-bigquery-storage](https://github.com/googleapis/google-cloud-python) | `2.27.0` | `2.36.2` |\n\n\nUpdates `flask` from 3.0.3 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue 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/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.0.3...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask-cors` from 6.0.0 to 6.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/corydolphin/flask-cors/releases\"\u003eflask-cors's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate license pyproject.toml by \u003ca href=\"https://github.com/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\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/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInvert regex sorting to make it correctly match the intent (sorting by specificity descending) \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1.dev\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\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/corydolphin/flask-cors/commit/fa55dcbec68b3524a39e5057c35c29c221a27d64\"\u003e\u003ccode\u003efa55dcb\u003c/code\u003e\u003c/a\u003e Update license pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/a5003f391e56f74f11a3e509cd180787c75eb6b0\"\u003e\u003ccode\u003ea5003f3\u003c/code\u003e\u003c/a\u003e Fix README file extension in pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/4ad56d6c20252d36031c74ba8386a81e94286f40\"\u003e\u003ccode\u003e4ad56d6\u003c/code\u003e\u003c/a\u003e Fix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 3.1.5 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/releases\"\u003ewerkzeug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.6 security fix release, which fixes a security issue 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/Werkzeug/3.1.6/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in multi-segment paths. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x\"\u003eGHSA-29vq-49wr-vm6x\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/blob/main/CHANGES.rst\"\u003ewerkzeug's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.6\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in\nmulti-segment paths. :ghsa:\u003ccode\u003e29vq-49wr-vm6x\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/04da1b5221b7a7b57e82246e4b5741d37a6b2e56\"\u003e\u003ccode\u003e04da1b5\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f407712fdc60a09c2b3f4fe7db557703e5d9338d\"\u003e\u003ccode\u003ef407712\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f54fe98026253e70fbbcd35a6b52fb67cfff1c03\"\u003e\u003ccode\u003ef54fe98\u003c/code\u003e\u003c/a\u003e safe_join prevents Windows special device names in multi-segment paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/d005985ef69ffe3275eda8fb6fb25e074dbe871b\"\u003e\u003ccode\u003ed005985\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/8565c2cbd6681ae8463e77d4fc0795324a7fdae7\"\u003e\u003ccode\u003e8565c2c\u003c/code\u003e\u003c/a\u003e document rule priority (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/3febc7e90072bffe04c27e6b7478dfc4f88930df\"\u003e\u003ccode\u003e3febc7e\u003c/code\u003e\u003c/a\u003e document rule priority\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/2525b827646c10ab7adb334664e6a4af1b769181\"\u003e\u003ccode\u003e2525b82\u003c/code\u003e\u003c/a\u003e remove state machine docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/4abfbd553cdeb6d4e6fa693340d52b13c884079f\"\u003e\u003ccode\u003e4abfbd5\u003c/code\u003e\u003c/a\u003e rewrite build docstring (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3097\"\u003e#3097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/161c18b2a8800ae6ef377fb3cbdb933a878fea67\"\u003e\u003ccode\u003e161c18b\u003c/code\u003e\u003c/a\u003e rewrite build docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/86e11c29e44726dae524cd9db11549b3b1ad681d\"\u003e\u003ccode\u003e86e11c2\u003c/code\u003e\u003c/a\u003e release version 3.1.5 (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pallets/werkzeug/compare/3.1.5...3.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tenacity` from 9.1.2 to 9.1.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jd/tenacity/releases\"\u003etenacity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.1.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eretry()\u003c/code\u003e annotations with async \u003ccode\u003esleep=\u003c/code\u003e function by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/555\"\u003ejd/tenacity#555\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.3...9.1.4\"\u003ehttps://github.com/jd/tenacity/compare/9.1.3...9.1.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e9.1.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eApply formatting to num seconds in before_sleep_log by \u003ca href=\"https://github.com/aguinane\"\u003e\u003ccode\u003e@​aguinane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/489\"\u003ejd/tenacity#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/sandrobonazzola\"\u003e\u003ccode\u003e@​sandrobonazzola\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/528\"\u003ejd/tenacity#528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTyping: Accept non-standard logger in helpers logging something by \u003ca href=\"https://github.com/k4nar\"\u003e\u003ccode\u003e@​k4nar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/540\"\u003ejd/tenacity#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(wait): add \u003ccode\u003ewait_exception\u003c/code\u003e strategy by \u003ca href=\"https://github.com/capitan-davide\"\u003e\u003ccode\u003e@​capitan-davide\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/541\"\u003ejd/tenacity#541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix syntax error in wait_chain docstring example by \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/548\"\u003ejd/tenacity#548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: drop Python 3.9 support (EOL) by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/552\"\u003ejd/tenacity#552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport async sleep for sync fn-to-retry by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/551\"\u003ejd/tenacity#551\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/aguinane\"\u003e\u003ccode\u003e@​aguinane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/489\"\u003ejd/tenacity#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sandrobonazzola\"\u003e\u003ccode\u003e@​sandrobonazzola\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/528\"\u003ejd/tenacity#528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/k4nar\"\u003e\u003ccode\u003e@​k4nar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/540\"\u003ejd/tenacity#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capitan-davide\"\u003e\u003ccode\u003e@​capitan-davide\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/541\"\u003ejd/tenacity#541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/548\"\u003ejd/tenacity#548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/552\"\u003ejd/tenacity#552\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.2...9.1.3\"\u003ehttps://github.com/jd/tenacity/compare/9.1.2...9.1.3\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/jd/tenacity/commit/d4e868d6b8368c00b5a1fad54de36c2c8c3a0fb3\"\u003e\u003ccode\u003ed4e868d\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eretry()\u003c/code\u003e annotations with async \u003ccode\u003esleep=\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/24415ebbca6ecafdf870af06441656dd96149d1d\"\u003e\u003ccode\u003e24415eb\u003c/code\u003e\u003c/a\u003e support async sleep for sync fn (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/3bf33b44096077a0608855f6a380fd8a25fa6f26\"\u003e\u003ccode\u003e3bf33b4\u003c/code\u003e\u003c/a\u003e chore: drop Python 3.9 support (EOL) (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/552\"\u003e#552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/7027da31d27155c7b1831e292a29575af7b5c2b1\"\u003e\u003ccode\u003e7027da3\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/21ae7d0cc27069defd111e8ec81407f6d14089f6\"\u003e\u003ccode\u003e21ae7d0\u003c/code\u003e\u003c/a\u003e docs: fix syntax error in wait_chain docstring example (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/548\"\u003e#548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/ef12c9ed1df4dec3748b1fa9304527245b041d2d\"\u003e\u003ccode\u003eef12c9e\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/checkout in the github-actions group (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/c35a4b341ef5e553c670290fbd8835b59d5f08a3\"\u003e\u003ccode\u003ec35a4b3\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/e792bbaf0cab3685c8000899cb9f61e04d6f3e23\"\u003e\u003ccode\u003ee792bba\u003c/code\u003e\u003c/a\u003e ci: fix mypy (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/0f55245b8da5c4cc8385c2f692164a6ff52cd88e\"\u003e\u003ccode\u003e0f55245\u003c/code\u003e\u003c/a\u003e ci: remove reno requirements (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/815c34fec2c8d64fe2bc8a6bdd79bfb41f1938c6\"\u003e\u003ccode\u003e815c34f\u003c/code\u003e\u003c/a\u003e feat(wait): add \u003ccode\u003ewait_exception\u003c/code\u003e strategy (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/541\"\u003e#541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.2...9.1.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.1.3 to 2.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.3 (Mar 9, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.3 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.3 is a patch release that fixes bugs discovered after the\n2.4.2 release. The most user visible fix may be a threading fix for\nOpenBLAS on ARM, closing issue \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30816\"\u003e#30816\u003c/a\u003e.\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 11 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\u003eAntareep Sarkar +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMatthieu Darbois\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003ePeter Hawkins\u003c/li\u003e\n\u003cli\u003ePieter Eendebak\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003cli\u003estratakis +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 14 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/30759\"\u003e#30759\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/30827\"\u003e#30827\u003c/a\u003e: BUG: Fix some leaks found via LeakSanitizer (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30756\"\u003e#30756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30841\"\u003e#30841\u003c/a\u003e: MAINT: Synchronize 2.4.x submodules with main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30849\"\u003e#30849\u003c/a\u003e: TYP: \u003ccode\u003ematlib\u003c/code\u003e: missing extended precision imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30850\"\u003e#30850\u003c/a\u003e: BUG: Fix weak hash function in np.isin(). (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30840\"\u003e#30840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30921\"\u003e#30921\u003c/a\u003e: BUG: fix infinite recursion in np.ma.flatten_structured_array...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30922\"\u003e#30922\u003c/a\u003e: BUG: Fix buffer overrun in CPU baseline validation (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30877\"\u003e#30877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30923\"\u003e#30923\u003c/a\u003e: BUG: Fix busdaycalendar's handling of a bool array weekmask....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30924\"\u003e#30924\u003c/a\u003e: BUG: Fix reference leaks and NULL pointer dereferences (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30908\"\u003e#30908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30925\"\u003e#30925\u003c/a\u003e: MAINT: fix two minor issues noticed when touching the C API setup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30955\"\u003e#30955\u003c/a\u003e: ENH: Test .kind not .char in np.testing.assert_equal (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30879\"\u003e#30879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30957\"\u003e#30957\u003c/a\u003e: BUG: fix type issues in uses if PyDataType macros\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30958\"\u003e#30958\u003c/a\u003e: MAINT: Don't use vulture 2.15, it has false positives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30973\"\u003e#30973\u003c/a\u003e: MAINT: update openblas (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30961\"\u003e#30961\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.2 (Feb 1, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.2 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.2 is a patch release that fixes bugs discovered after the\n2.4.1 release. Highlights are:\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/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003ch2\u003eCheck the numpy-release repo\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/8bcb2e72e67c343e55165e6064fe6a9dc011e954\"\u003e\u003ccode\u003e8bcb2e7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30974\"\u003e#30974\u003c/a\u003e from charris/prepare-2.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9a2b5eef3b142e852c0092d449b2ea54e8d87314\"\u003e\u003ccode\u003e9a2b5ee\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a822ac28798a9a7ed1094879caaf885e282ccb6c\"\u003e\u003ccode\u003ea822ac2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30973\"\u003e#30973\u003c/a\u003e from charris/backport-30961\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/039bf549aad7ac149587884582e561f555ed770a\"\u003e\u003ccode\u003e039bf54\u003c/code\u003e\u003c/a\u003e MAINT: update openblas (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30961\"\u003e#30961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/254bafa78941aa1ceb9f4680c9f07e9ec6bb94b0\"\u003e\u003ccode\u003e254bafa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30955\"\u003e#30955\u003c/a\u003e from charris/backport-30879\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/0cc7d38c659741ddece03e59dad154bf3006bf49\"\u003e\u003ccode\u003e0cc7d38\u003c/code\u003e\u003c/a\u003e ENH: Test .kind not .char in np.testing.assert_equal (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30879\"\u003e#30879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9ee571dee7982c1e8369148c1585a07e9bd878b8\"\u003e\u003ccode\u003e9ee571d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30957\"\u003e#30957\u003c/a\u003e from charris/backport-30918\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f302a1699020958b2ee02a3eb4177160f8153556\"\u003e\u003ccode\u003ef302a16\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30958\"\u003e#30958\u003c/a\u003e from charris/backport-30938\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/d240a09784a41e9f7b00de2d9d24b2a1d46d171b\"\u003e\u003ccode\u003ed240a09\u003c/code\u003e\u003c/a\u003e MAINT: Don't use vulture 2.15, it has false positives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/4fc08e9ebfd25530345fbd8f03bcd60fb7b0fbda\"\u003e\u003ccode\u003e4fc08e9\u003c/code\u003e\u003c/a\u003e MAINT: Don't use vulture 2.15, it has false positives\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.1.3...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `joblib` from 1.4.2 to 1.5.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/joblib/joblib/blob/main/CHANGES.rst\"\u003ejoblib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.5.3 - 2025/12/15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eMemory\u003c/code\u003e object won't overwrite an already existing \u003ccode\u003e.gitignore\u003c/code\u003e file in its\ncache directory anymore.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1742\"\u003ejoblib/joblib#1742\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHarden the safety checks in \u003ccode\u003eeval_expr(pre_dispatch)\u003c/code\u003e to prevent excessive\nmemory allocation and potential crashes by limiting the allowed length of the\nexpression and the maximum numeric value of sub-expressions and not\nevaluating expressions with non-numeric literals.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1744\"\u003ejoblib/joblib#1744\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor cloudpickle 3.1.2 to fix a pickling problem with interactively\ndefined abstract base classes and type annotations in Python 3.14+.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.2 - 2025/08/27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendor \u003ccode\u003eloky3.5.6\u003c/code\u003e fixing the resource tracker for python 3.13.7+\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1740\"\u003ejoblib/joblib#1740\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMemory:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Ensure that temporary files managed by the ``Memory`` object do not collide\n  when using the same cache directory when the cache directory is accessed\n  concurrently from different nodes on a cluster with a shared filesystem.\n  https://github.com/joblib/joblib/pull/1656\n\u003ch2\u003eRelease 1.5.1 - 2025/05/23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix backend hints causing errors when no multiprocessing is present\u003cbr /\u003e\n\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1721\"\u003ejoblib/joblib#1721\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor \u003ccode\u003eloky3.5.5\u003c/code\u003e fixing the resource_tracker clean up with earlier Python\u003cbr /\u003e\nversions. \u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1724\"\u003ejoblib/joblib#1724\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.0 -- 2025/05/03\u003c/h2\u003e\n\u003cp\u003eMemory:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eEnforce \u003ccode\u003eage_limit\u003c/code\u003e is a positive timedelta for \u003ccode\u003eMemory.reduce_size\u003c/code\u003e,\nto avoid silently ignoring it.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1613\"\u003ejoblib/joblib#1613\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003ebytes_limit\u003c/code\u003e argument for \u003ccode\u003eMemory\u003c/code\u003e, which should\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/joblib/joblib/commit/40cd002ae1765195dfc4738a6bc7f5534b420a21\"\u003e\u003ccode\u003e40cd002\u003c/code\u003e\u003c/a\u003e RELEASE 1.5.3 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f05be6705e0f56856b76d76fecdddab95de394c8\"\u003e\u003ccode\u003ef05be67\u003c/code\u003e\u003c/a\u003e MNT Remove last usage of distutils (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1760\"\u003e#1760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/4273f396b7fb66da7f72f603a6bf6651393c5be1\"\u003e\u003ccode\u003e4273f39\u003c/code\u003e\u003c/a\u003e MNT bump actions/checkout from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1762\"\u003e#1762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f465f0245d20c1e793d98b8071a9604623ffd528\"\u003e\u003ccode\u003ef465f02\u003c/code\u003e\u003c/a\u003e FIX don't overwrite existing .gitignore (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1742\"\u003e#1742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/cca7d87a94a1bd141c6c505a909becd4c1854fde\"\u003e\u003ccode\u003ecca7d87\u003c/code\u003e\u003c/a\u003e MNT bump sklearn test on python 3.12 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1759\"\u003e#1759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f7775ad30051d95d83da76125b176962989bf763\"\u003e\u003ccode\u003ef7775ad\u003c/code\u003e\u003c/a\u003e MNT remove deprecated pytest feature (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1757\"\u003e#1757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/3c58aab890faad3b01eda5e6b35f382edcd71f91\"\u003e\u003ccode\u003e3c58aab\u003c/code\u003e\u003c/a\u003e Add Python 3.14 and 3.14t to the testing (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1747\"\u003e#1747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/9b96664daa07e11f6bee797f55567ac28a961cdb\"\u003e\u003ccode\u003e9b96664\u003c/code\u003e\u003c/a\u003e Bump cloudpickle to 3.1.2 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1752\"\u003e#1752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/c3bdbd9511da485c7036a433dce1924bdbbd1313\"\u003e\u003ccode\u003ec3bdbd9\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 5 updates (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1749\"\u003e#1749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/a09bb30b22b286ee8b233fe9391b21560e1799a9\"\u003e\u003ccode\u003ea09bb30\u003c/code\u003e\u003c/a\u003e Keep GitHub Actions up to date with GitHub's Dependabot (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1748\"\u003e#1748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/joblib/joblib/compare/1.4.2...1.5.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.14.1 to 1.17.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy/releases\"\u003escipy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSciPy 1.17.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.1\u003c/code\u003e is a bug-fix release with no new features compared to \u003ccode\u003e1.17.0\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eAuthors\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eName (commits)\u003c/li\u003e\n\u003cli\u003eEvgeni Burovski (5)\u003c/li\u003e\n\u003cli\u003eLucas Colley (1)\u003c/li\u003e\n\u003cli\u003eChristoph Gohlke (1)\u003c/li\u003e\n\u003cli\u003eRalf Gommers (6)\u003c/li\u003e\n\u003cli\u003eMatt Haberland (5)\u003c/li\u003e\n\u003cli\u003eMatthias Koeppe (1)\u003c/li\u003e\n\u003cli\u003eNick ODell (1)\u003c/li\u003e\n\u003cli\u003eIlhan Polat (10)\u003c/li\u003e\n\u003cli\u003eTyler Reddy (44)\u003c/li\u003e\n\u003cli\u003eMartin Schuck (3)\u003c/li\u003e\n\u003cli\u003eDan Schult (3)\u003c/li\u003e\n\u003cli\u003estratakis (1) +\u003c/li\u003e\n\u003cli\u003eਗਗਨਦੀਪ ਸਿੰਘ (Gagandeep Singh) (1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eA total of 13 people contributed to this release.\nPeople with a \u0026quot;+\u0026quot; by their names contributed a patch for the first time.\nThis list of names is automatically generated, and may not be fully complete.\u003c/p\u003e\n\u003cp\u003eComplete issue list, PR list, and release asset hashes are available in the associated \u003ca href=\"https://github.com/scipy/scipy/releases/download/v1.17.1/README.txt\"\u003e\u003ccode\u003eREADME.txt\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eSciPy 1.17.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.0\u003c/code\u003e is the culmination of 6 months of hard work. It contains\nmany new features, numerous bug-fixes, improved test coverage and better\ndocumentation. There have been a number of deprecations and API changes\nin this release, which are documented below. All users are encouraged to\nupgrade to this release, as there are a large number of bug-fixes and\noptimizations. Before upgrading, we recommend that users check that\ntheir own code does not use deprecated SciPy functionality (to do so,\nrun your code with \u003ccode\u003epython -Wd\u003c/code\u003e and check for \u003ccode\u003eDeprecationWarning\u003c/code\u003e s).\nOur development attention will now shift to bug-fix releases on the\n\u003ccode\u003e1.17.x\u003c/code\u003e branch, and on adding new features on the main branch.\u003c/p\u003e\n\u003cp\u003eThis release requires Python \u003ccode\u003e3.11\u003c/code\u003e-\u003ccode\u003e3.14\u003c/code\u003e and NumPy \u003ccode\u003e1.26.4\u003c/code\u003e or greater.\u003c/p\u003e\n\u003ch1\u003eHighlights of this release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMany SciPy functions have gained native support for batching of N-dimensional\narray input and additional support for the array API standard. An overall\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/527eb7fd7953a1de068f94bf8b322f249b9405ae\"\u003e\u003ccode\u003e527eb7f\u003c/code\u003e\u003c/a\u003e REL: 1.17.1 release commit [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/f11663bf044f1cb5a0112a28ac238f902ae36eea\"\u003e\u003ccode\u003ef11663b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24584\"\u003e#24584\u003c/a\u003e from tylerjereddy/treddy_prep_1.17.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/2c49e68b634d2657380ca7b65207c6122e83cb72\"\u003e\u003ccode\u003e2c49e68\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/400fa15ed6f9fece4c3848e9eade0e7d5e5aece0\"\u003e\u003ccode\u003e400fa15\u003c/code\u003e\u003c/a\u003e safely convert index dtypes to intc for csgraph and superLU\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/8c704044ab6f8f3e94295f354dbadfcab9139837\"\u003e\u003ccode\u003e8c70404\u003c/code\u003e\u003c/a\u003e MAINT: PR 24584 revisions [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/6dda8c13c534a61bc56c7b11bb5841efbd37d9dd\"\u003e\u003ccode\u003e6dda8c1\u003c/code\u003e\u003c/a\u003e BUG: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/4a187e59ea9cde1f79b4fae9dbd8177adcf0ddf3\"\u003e\u003ccode\u003e4a187e5\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/463ee9f72a5f1afe3363e86344a55eea1c1ba477\"\u003e\u003ccode\u003e463ee9f\u003c/code\u003e\u003c/a\u003e ENH: linalg/inv: re-enable overwrite_a for 2D inputs (\u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24442\"\u003e#24442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/df746eed5eae0243969fd8de07770c4ace1dc65c\"\u003e\u003ccode\u003edf746ee\u003c/code\u003e\u003c/a\u003e BUG: linalg: restore dtypes in inv, solve, det\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/246bfeecbe56200ae4e265a70e06ccc64daee9c2\"\u003e\u003ccode\u003e246bfee\u003c/code\u003e\u003c/a\u003e MAINT:optimize: Enable multi-phase init to DIRECT\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy/compare/v1.14.1...v1.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lightgbm` from 4.5.0 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/microsoft/LightGBM/releases\"\u003elightgbm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.6.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e💡 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[CUDA] fix setting of CUDA architectures and enable support for NVIDIA Blackwell \u003ca href=\"https://github.com/StrikerRUS\"\u003e\u003ccode\u003e@​StrikerRUS\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6812\"\u003e#6812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[python-package] support Python 3.13 \u003ca href=\"https://github.com/jameslamb\"\u003e\u003ccode\u003e@​jameslamb\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6668\"\u003e#6668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[GPU] Add support for linear tree with device=gpu \u003ca href=\"https://github.com/dragonbra\"\u003e\u003ccode\u003e@​dragonbra\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6567\"\u003e#6567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[c++] Add Bagging by Query for Lambdarank \u003ca href=\"https://github.com/shiyu1994\"\u003e\u003ccode\u003e@​shiyu1994\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6623\"\u003e#6623\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔨 Breaking\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[R-package] require lgb.Dataset, remove support for passing 'colnames' and 'categorical_feature' for lgb.train() and lgb.cv() \u003ca href=\"https://github.com/jameslamb\"\u003e\u003ccode\u003e@​jameslamb\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6714\"\u003e#6714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[python-package] support sub-classing scikit-learn estimators \u003ca href=\"https://github.com/jameslamb\"\u003e\u003ccode\u003e@​jameslamb\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6783\"\u003e#6783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[python-package] do not copy column-major numpy arrays when creating Dataset from list of arrays \u003ca href=\"https://github.com/jmoralez\"\u003e\u003ccode\u003e@​jmoralez\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6773\"\u003e#6773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[python-package] remove support for passing 'feature_name' and 'categorical_feature' through train() and cv() \u003ca href=\"https://github.com/jameslamb\"\u003e\u003ccode\u003e@​jameslamb\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6706\"\u003e#6706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[python-package] require \u003ccode\u003escikit-learn\u0026gt;=0.24.2\u003c/code\u003e, make scikit-learn estimators compatible with \u003ccode\u003escikit-learn\u0026gt;=1.6.0dev\u003c/code\u003e \u003ca href=\"https://github.com/vnherdeiro\"\u003e\u003ccode\u003e@​vnherdeiro\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6651\"\u003e#6651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ci] Require CMake 3.28 and replace \u003ccode\u003eFetchContent_Populate\u003c/code\u003e with \u003ccode\u003eFetchContent_MakeAvailable\u003c/code\u003e \u003ca href=\"https://github.com/StrikerRUS\"\u003e\u003ccode\u003e@​StrikerRUS\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6550\"\u003e#6550\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 Efficiency Improvement\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[python-package] do not copy column-major numpy arrays when predicting \u003ca href=\"https://github.com/jmoralez\"\u003e\u003ccode\u003e@​jmoralez\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6751\"\u003e#6751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[python-package] do not copy column-major numpy arrays when creating Dataset \u003ca href=\"https://github.com/jmoralez\"\u003e\u003ccode\u003e@​jmoralez\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6721\"\u003e#6721\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[python-package] Separately check whether \u003ccode\u003epyarrow\u003c/code\u003e and \u003ccode\u003ecffi\u003c/code\u003e are installed \u003ca href=\"https://github.com/mlondschien\"\u003e\u003ccode\u003e@​mlondschien\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6785\"\u003e#6785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[c++] Fixed Predictor lifecycle and trees initialization in Contrib mode \u003ca href=\"https://github.com/AndreyOrb\"\u003e\u003ccode\u003e@​AndreyOrb\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6778\"\u003e#6778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[python-package] Infer feature names from \u003ccode\u003epyarrow.Table\u003c/code\u003e \u003ca href=\"https://github.com/mlondschien\"\u003e\u003ccode\u003e@​mlondschien\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6781\"\u003e#6781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[python-package] Fix inconsistency in \u003ccode\u003epredict()\u003c/code\u003e output shape for 1-tree models \u003ca href=\"https://github.com/RektPunk\"\u003e\u003ccode\u003e@​RektPunk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6753\"\u003e#6753\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] resolve potential attack in linker connection building \u003ca href=\"https://github.com/shiyu1994\"\u003e\u003ccode\u003e@​shiyu1994\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6752\"\u003e#6752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[R-package] Avoid bashisms (non-POSIX code) in R-package/configure \u003ca href=\"https://github.com/smoser\"\u003e\u003ccode\u003e@​smoser\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6746\"\u003e#6746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[c++] fix parallel_tree_learner_split_info \u003ca href=\"https://github.com/moming39\"\u003e\u003ccode\u003e@​moming39\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6738\"\u003e#6738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[c++] Fix \u003ccode\u003edump_model()\u003c/code\u003e information for root node \u003ca href=\"https://github.com/neNasko1\"\u003e\u003ccode\u003e@​neNasko1\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6569\"\u003e#6569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[cmake] [R-package] include R-for-macOS vendored libs dir in OpenMP search path (fixes \u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6628\"\u003e#6628\u003c/a\u003e) \u003ca href=\"https://github.com/jameslamb\"\u003e\u003ccode\u003e@​jameslamb\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6629\"\u003e#6629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[R-package] only warn about early stopping and DART boosting being incompatible if early stopping was requested \u003ca href=\"https://github.com/serkor1\"\u003e\u003ccode\u003e@​serkor1\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6619\"\u003e#6619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[cmake] fixes static build for macos with OpenMP enabled (fixes \u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6601\"\u003e#6601\u003c/a\u003e) \u003ca href=\"https://github.com/Mottl\"\u003e\u003ccode\u003e@​Mottl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6600\"\u003e#6600\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[docs] update installation guide \u003ca href=\"https://github.com/StrikerRUS\"\u003e\u003ccode\u003e@​StrikerRUS\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6696\"\u003e#6696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] add note about pyodide support \u003ca href=\"https://github.com/jameslamb\"\u003e\u003ccode\u003e@​jameslamb\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6715\"\u003e#6715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove only cpu note due to gpu support for linear trees \u003ca href=\"https://github.com/JAroyan\"\u003e\u003ccode\u003e@​JAroyan\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6686\"\u003e#6686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] fix inaccurate comment for \u003ccode\u003eforce_col_wise\u003c/code\u003e param with CUDA version \u003ca href=\"https://github.com/StrikerRUS\"\u003e\u003ccode\u003e@​StrikerRUS\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] group logically external projects in README and add some new libraries \u003ca href=\"https://github.com/StrikerRUS\"\u003e\u003ccode\u003e@​StrikerRUS\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6691\"\u003e#6691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] use consistent naming for R-package and Python-package across the repo \u003ca href=\"https://github.com/StrikerRUS\"\u003e\u003ccode\u003e@​StrikerRUS\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6655\"\u003e#6655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] add supertree in README \u003ca href=\"https://github.com/pplonski\"\u003e\u003ccode\u003e@​pplonski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6625\"\u003e#6625\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] unify language and make small improvements in some param descriptions \u003ca href=\"https://github.com/StrikerRUS\"\u003e\u003ccode\u003e@​StrikerRUS\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6618\"\u003e#6618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[doc] Updates Rust bindings library link in README.md \u003ca href=\"https://github.com/Mottl\"\u003e\u003ccode\u003e@​Mottl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6611\"\u003e#6611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[R-package] [docs] update cran-comments for v4.5.0 release \u003ca href=\"https://github.com/jameslamb\"\u003e\u003ccode\u003e@​jameslamb\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6578\"\u003e#6578\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/lightgbm-org/LightGBM/commit/d02a01ac6f51d36c9e62388243bcb75c3b1b1774\"\u003e\u003ccode\u003ed02a01a\u003c/code\u003e\u003c/a\u003e release v4.6.0 (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6796\"\u003e#6796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lightgbm-org/LightGBM/commit/d24260fdad61df58588fe9e9f05337ae8061b31a\"\u003e\u003ccode\u003ed24260f\u003c/code\u003e\u003c/a\u003e [R-package] require lgb.Dataset, remove support for passing 'colnames' and 'c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lightgbm-org/LightGBM/commit/c6d90bc7fd6ef1735379287db478cb155d7213e1\"\u003e\u003ccode\u003ec6d90bc\u003c/code\u003e\u003c/a\u003e [python-package] support sub-classing scikit-learn estimators (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6783\"\u003e#6783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lightgbm-org/LightGBM/commit/768f642336b1466827bb4c374b6ade5a77a6226f\"\u003e\u003ccode\u003e768f642\u003c/code\u003e\u003c/a\u003e [c++] update to fmt 11.1.2, fast_double_parser 0.8.0 (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6802\"\u003e#6802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lightgbm-org/LightGBM/commit/1531d879d241a97c374eb7a659d9263516bceb38\"\u003e\u003ccode\u003e1531d87\u003c/code\u003e\u003c/a\u003e [ci] fix valgrind workflow (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6816\"\u003e#6816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lightgbm-org/LightGBM/commit/188f1be7e1f26123bce9f6874a030cca0c5237b2\"\u003e\u003ccode\u003e188f1be\u003c/code\u003e\u003c/a\u003e [ci] validate pyproject file by json schema (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6813\"\u003e#6813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lightgbm-org/LightGBM/commit/81922a7e8fd62a28c5b3035f69ad6d6285f7ac69\"\u003e\u003ccode\u003e81922a7\u003c/code\u003e\u003c/a\u003e [ci] [python-package] update pre-commit hooks to latest versions (\u003ca href=\"https://redirect.github.com/microsoft/LightGBM/issues/6817\"\u003e#6817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lightgbm-org/LightGBM/commit/2db0b25ee3d21f5b291b4f11dd4652909318bdb8\"\u003e\u003ccode\u003e2db0b25\u003c/code\u003e\u003c/a\u003e [python-package] Separately check whether \u003ccode\u003epyarrow\u003c/code\u003e and \u003ccode\u003ecffi\u003c/code\u003e are installed ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lightgbm-org/LightGBM/commit/c9de57b09cf9293213fa41b423e2409ebd9ae5c1\"\u003e\u003ccode\u003ec9de57b\u003c/code\u003e\u003c/a\u003e [CUDA] fix setting of CUDA architectures and enable support for NVIDIA Blackw...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lightgbm-org/LightGBM/commit/f2b959cdeeca7e60feaa2810738ba6f7bac24fb4\"\u003e\u003ccode\u003ef2b959c\u003c/code\u003e\u003c/a\u003e [ci]: Bump release-drafter/release-drafter from 6.0.0 to 6.1.0 in the ci-depe...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/LightGBM/compare/v4.5.0...v4.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `apscheduler` from 3.10.4 to 3.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/apscheduler/releases\"\u003eapscheduler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where a job using a \u003ccode\u003eCronTrigger\u003c/code\u003e scheduled in a repeated time interval during DST transitions could cause the scheduler to get stuck in an infinite loop (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e; PR by \u003ca href=\"https://github.com/soulofakuma\"\u003e\u003ccode\u003e@​soulofakuma\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003escheduler.shutdown()\u003c/code\u003e not raising \u003ccode\u003eSchedulerNotRunning\u003c/code\u003e (or raising the wrong exception) for asynchronous schedulers when the scheduler is in fact not running\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCronTrigger\u003c/code\u003e sticking on a folded datetime during the fall-back DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e \u0026lt;\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003eagronholm/apscheduler#1021\u003c/a\u003e\u0026gt;_; PR by \u003ca href=\"https://github.com/berianjames\"\u003e\u003ccode\u003e@​berianjames\u003c/code\u003e\u003c/a\u003e)`\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.6 and 3.7\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eZoneInfo\u003c/code\u003e time zones and deprecated support for pytz time zones\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCalendarIntervalTrigger\u003c/code\u003e, backported from the 4.x series\u003c/li\u003e\n\u003cli\u003eAdded the ability to export and import jobs via \u003ccode\u003escheduler.export_jobs()\u003c/code\u003e and \u003ccode\u003escheduler.import_jobs()\u003c/code\u003e, respectively\u003c/li\u003e\n\u003cli\u003eRemoved the dependency on \u003ccode\u003esix\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e to spawn new subprocesses from scratch instead of forking on all platform\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eAsyncIOScheduler\u003c/code\u003e inadvertently creating a defunct event loop at start, leading to the scheduler not working at all\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e not respecting the passed keyword arguments when a broken pool was being replaced\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/0f70950e320f3a7924dcd404c6c379143fb68b23\"\u003e\u003ccode\u003e0f70950\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/bc404e63af18bd8e493e0765f2ad0b51e6df0ef1\"\u003e\u003ccode\u003ebc404e6\u003c/code\u003e\u003c/a\u003e Updated publish actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/c3aa155bd39fe54639d69b396f9ad720246f0c98\"\u003e\u003ccode\u003ec3aa155\u003c/code\u003e\u003c/a\u003e Updated pre-commit modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/ad6b2dc766cd6722c8aa51543f988b9ee7b13110\"\u003e\u003ccode\u003ead6b2dc\u003c/code\u003e\u003c/a\u003e Added fix for get_next_fire_time not advancing through fold with unfolded pre...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/f4df139771b7741f58f0eb456f091d3f659555c1\"\u003e\u003ccode\u003ef4df139\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/25be7b77afca892d152441d4a61402623af7f943\"\u003e\u003ccode\u003e25be7b7\u003c/code\u003e\u003c/a\u003e Fixed CronTrigger getting stuck on fallback DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1079\"\u003e#1079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/12613862e34456215dc98574f6cf594f77d66f47\"\u003e\u003ccode\u003e1261386\u003c/code\u003e\u003c/a\u003e Updated etcd image repository name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/b1f5636ccaf6a2fe86b208d7bd6b43024a1546b3\"\u003e\u003ccode\u003eb1f5636\u003c/code\u003e\u003c/a\u003e Fixed shutdown() not raising the correct exception for some schedulers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/6c72...\n\n_Description has been truncated_","html_url":"https://github.com/floodingnaque/floodingnaque/pull/46","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/floodingnaque%2Ffloodingnaque/issues/46","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/46/packages"}},{"old_version":"0.34.0","new_version":"0.35.0","update_type":"minor","path":null,"pr_created_at":"2026-02-24T08:17:59.000Z","version_change":"0.34.0 → 0.35.0","issue":{"uuid":"3982214304","node_id":"PR_kwDOQmboGc7F2rcv","number":28,"state":"open","title":"chore(deps)(deps): bump the python-minor-patch group across 1 directory with 53 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["KyaRhamil"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-24T08:17:59.000Z","updated_at":"2026-02-24T08:18:12.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"python-minor-patch","update_count":53,"packages":[{"name":"flask","old_version":"3.0.3","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"flask-cors","old_version":"6.0.0","new_version":"6.0.2","repository_url":"https://github.com/corydolphin/flask-cors"},{"name":"werkzeug","old_version":"3.1.5","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"tenacity","old_version":"9.1.2","new_version":"9.1.4","repository_url":"https://github.com/jd/tenacity"},{"name":"numpy","old_version":"2.1.3","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"joblib","old_version":"1.4.2","new_version":"1.5.3","repository_url":"https://github.com/joblib/joblib"},{"name":"scipy","old_version":"1.14.1","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"apscheduler","old_version":"3.10.4","new_version":"3.11.2","repository_url":"https://github.com/agronholm/apscheduler"},{"name":"celery","old_version":"5.4.0","new_version":"5.6.2","repository_url":"https://github.com/celery/celery"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"sqlalchemy","old_version":"2.0.35","new_version":"2.0.46","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"alembic","old_version":"1.13.3","new_version":"1.18.4","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"matplotlib","old_version":"3.9.2","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"pyjwt","old_version":"2.9.0","new_version":"2.11.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"email-validator","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/JoshData/python-email-validator"},{"name":"flask-compress","old_version":"1.15","new_version":"1.23","repository_url":"https://github.com/colour-science/flask-compress"},{"name":"flask-caching","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/pallets-eco/flask-caching"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"prometheus-flask-exporter","old_version":"0.23.1","new_version":"0.23.2","repository_url":"https://github.com/rycus86/prometheus_flask_exporter"},{"name":"sentry-sdk","old_version":"2.18.0","new_version":"2.53.0"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.67.3","repository_url":"https://github.com/tqdm/tqdm"},{"name":"openmeteo-requests","old_version":"1.2.0","new_version":"1.7.5","repository_url":"https://github.com/open-meteo/python-requests"},{"name":"requests-cache","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/requests-cache/requests-cache"},{"name":"beautifulsoup4","old_version":"4.12.3","new_version":"4.14.3"},{"name":"tabula-py","old_version":"2.9.3","new_version":"2.10.0","repository_url":"https://github.com/chezou/tabula-py"},{"name":"reportlab","old_version":"4.2.5","new_version":"4.4.10"},{"name":"folium","old_version":"0.18.0","new_version":"0.20.0","repository_url":"https://github.com/python-visualization/folium"},{"name":"shapely","old_version":"2.0.6","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"},{"name":"statsmodels","old_version":"0.14.4","new_version":"0.14.6","repository_url":"https://github.com/statsmodels/statsmodels"},{"name":"prophet","old_version":"1.1.6","new_version":"1.3.0","repository_url":"https://github.com/facebook/prophet"},{"name":"graphql-core","old_version":"3.2.5","new_version":"3.2.7","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"earthengine-api","old_version":"1.4.3","new_version":"1.7.15","repository_url":"https://github.com/google/earthengine-api"},{"name":"google-cloud-bigquery","old_version":"3.27.0","new_version":"3.40.1","repository_url":"https://github.com/googleapis/python-bigquery"},{"name":"google-auth","old_version":"2.37.0","new_version":"2.48.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-auth-oauthlib","old_version":"1.2.1","new_version":"1.2.4","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib"},{"name":"google-auth-httplib2","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2"},{"name":"jupyter","old_version":"1.0.0","new_version":"1.1.1"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-xdist","old_version":"3.5.0","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"responses","old_version":"0.24.1","new_version":"0.26.0","repository_url":"https://github.com/getsentry/responses"},{"name":"httpx","old_version":"0.25.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"locust","old_version":"2.20.1","new_version":"2.43.3","repository_url":"https://github.com/locustio/locust"},{"name":"bandit","old_version":"1.7.6","new_version":"1.9.3","repository_url":"https://github.com/PyCQA/bandit"},{"name":"safety","old_version":"3.2.0","new_version":"3.7.0","repository_url":"https://github.com/pyupio/safety"},{"name":"pip-audit","old_version":"2.7.3","new_version":"2.10.0","repository_url":"https://github.com/pypa/pip-audit"},{"name":"coverage","old_version":"7.6.0","new_version":"7.13.4","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"coverage-badge","old_version":"1.1.0","new_version":"1.1.2","repository_url":"https://github.com/dbrgn/coverage-badge"},{"name":"pytest-html","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/pytest-dev/pytest-html"},{"name":"google-cloud-bigquery-storage","old_version":"2.27.0","new_version":"2.36.2","repository_url":"https://github.com/googleapis/google-cloud-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 53 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `3.0.3` | `3.1.3` |\n| [flask-cors](https://github.com/corydolphin/flask-cors) | `6.0.0` | `6.0.2` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.5` | `3.1.6` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [tenacity](https://github.com/jd/tenacity) | `9.1.2` | `9.1.4` |\n| [numpy](https://github.com/numpy/numpy) | `2.1.3` | `2.4.2` |\n| [joblib](https://github.com/joblib/joblib) | `1.4.2` | `1.5.3` |\n| [scipy](https://github.com/scipy/scipy) | `1.14.1` | `1.17.1` |\n| [apscheduler](https://github.com/agronholm/apscheduler) | `3.10.4` | `3.11.2` |\n| [celery](https://github.com/celery/celery) | `5.4.0` | `5.6.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.35` | `2.0.46` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.13.3` | `1.18.4` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.9.2` | `3.10.8` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.9.0` | `2.11.0` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [email-validator](https://github.com/JoshData/python-email-validator) | `2.2.0` | `2.3.0` |\n| [flask-compress](https://github.com/colour-science/flask-compress) | `1.15` | `1.23` |\n| [flask-caching](https://github.com/pallets-eco/flask-caching) | `2.3.0` | `2.3.1` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [prometheus-flask-exporter](https://github.com/rycus86/prometheus_flask_exporter) | `0.23.1` | `0.23.2` |\n| [sentry-sdk[flask]](https://github.com/getsentry/sentry-python) | `2.18.0` | `2.53.0` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.1` | `4.67.3` |\n| [openmeteo-requests](https://github.com/open-meteo/python-requests) | `1.2.0` | `1.7.5` |\n| [requests-cache](https://github.com/requests-cache/requests-cache) | `1.2.1` | `1.3.0` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.12.3` | `4.14.3` |\n| [tabula-py](https://github.com/chezou/tabula-py) | `2.9.3` | `2.10.0` |\n| [reportlab](https://www.reportlab.com/) | `4.2.5` | `4.4.10` |\n| [folium](https://github.com/python-visualization/folium) | `0.18.0` | `0.20.0` |\n| [shapely](https://github.com/shapely/shapely) | `2.0.6` | `2.1.2` |\n| [statsmodels](https://github.com/statsmodels/statsmodels) | `0.14.4` | `0.14.6` |\n| [prophet](https://github.com/facebook/prophet) | `1.1.6` | `1.3.0` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.5` | `3.2.7` |\n| [earthengine-api](https://github.com/google/earthengine-api) | `1.4.3` | `1.7.15` |\n| [google-cloud-bigquery](https://github.com/googleapis/python-bigquery) | `3.27.0` | `3.40.1` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.37.0` | `2.48.0` |\n| [google-auth-oauthlib](https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib) | `1.2.1` | `1.2.4` |\n| [google-auth-httplib2](https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2) | `0.2.0` | `0.3.0` |\n| [jupyter](https://jupyter.org) | `1.0.0` | `1.1.1` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.15.1` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.5.0` | `3.8.0` |\n| [responses](https://github.com/getsentry/responses) | `0.24.1` | `0.26.0` |\n| [httpx](https://github.com/encode/httpx) | `0.25.2` | `0.28.1` |\n| [locust](https://github.com/locustio/locust) | `2.20.1` | `2.43.3` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.7.6` | `1.9.3` |\n| [safety](https://github.com/pyupio/safety) | `3.2.0` | `3.7.0` |\n| [pip-audit](https://github.com/pypa/pip-audit) | `2.7.3` | `2.10.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.6.0` | `7.13.4` |\n| [coverage-badge](https://github.com/dbrgn/coverage-badge) | `1.1.0` | `1.1.2` |\n| [pytest-html](https://github.com/pytest-dev/pytest-html) | `4.1.1` | `4.2.0` |\n| [google-cloud-bigquery-storage](https://github.com/googleapis/google-cloud-python) | `2.27.0` | `2.36.2` |\n\n\nUpdates `flask` from 3.0.3 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue 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/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.0.3...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask-cors` from 6.0.0 to 6.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/corydolphin/flask-cors/releases\"\u003eflask-cors's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate license pyproject.toml by \u003ca href=\"https://github.com/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\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/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInvert regex sorting to make it correctly match the intent (sorting by specificity descending) \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1.dev\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\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/corydolphin/flask-cors/commit/fa55dcbec68b3524a39e5057c35c29c221a27d64\"\u003e\u003ccode\u003efa55dcb\u003c/code\u003e\u003c/a\u003e Update license pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/a5003f391e56f74f11a3e509cd180787c75eb6b0\"\u003e\u003ccode\u003ea5003f3\u003c/code\u003e\u003c/a\u003e Fix README file extension in pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/4ad56d6c20252d36031c74ba8386a81e94286f40\"\u003e\u003ccode\u003e4ad56d6\u003c/code\u003e\u003c/a\u003e Fix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 3.1.5 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/releases\"\u003ewerkzeug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.6 security fix release, which fixes a security issue 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/Werkzeug/3.1.6/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in multi-segment paths. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x\"\u003eGHSA-29vq-49wr-vm6x\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/blob/main/CHANGES.rst\"\u003ewerkzeug's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.6\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in\nmulti-segment paths. :ghsa:\u003ccode\u003e29vq-49wr-vm6x\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/04da1b5221b7a7b57e82246e4b5741d37a6b2e56\"\u003e\u003ccode\u003e04da1b5\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f407712fdc60a09c2b3f4fe7db557703e5d9338d\"\u003e\u003ccode\u003ef407712\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f54fe98026253e70fbbcd35a6b52fb67cfff1c03\"\u003e\u003ccode\u003ef54fe98\u003c/code\u003e\u003c/a\u003e safe_join prevents Windows special device names in multi-segment paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/d005985ef69ffe3275eda8fb6fb25e074dbe871b\"\u003e\u003ccode\u003ed005985\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/8565c2cbd6681ae8463e77d4fc0795324a7fdae7\"\u003e\u003ccode\u003e8565c2c\u003c/code\u003e\u003c/a\u003e document rule priority (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/3febc7e90072bffe04c27e6b7478dfc4f88930df\"\u003e\u003ccode\u003e3febc7e\u003c/code\u003e\u003c/a\u003e document rule priority\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/2525b827646c10ab7adb334664e6a4af1b769181\"\u003e\u003ccode\u003e2525b82\u003c/code\u003e\u003c/a\u003e remove state machine docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/4abfbd553cdeb6d4e6fa693340d52b13c884079f\"\u003e\u003ccode\u003e4abfbd5\u003c/code\u003e\u003c/a\u003e rewrite build docstring (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3097\"\u003e#3097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/161c18b2a8800ae6ef377fb3cbdb933a878fea67\"\u003e\u003ccode\u003e161c18b\u003c/code\u003e\u003c/a\u003e rewrite build docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/86e11c29e44726dae524cd9db11549b3b1ad681d\"\u003e\u003ccode\u003e86e11c2\u003c/code\u003e\u003c/a\u003e release version 3.1.5 (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pallets/werkzeug/compare/3.1.5...3.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tenacity` from 9.1.2 to 9.1.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jd/tenacity/releases\"\u003etenacity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.1.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eretry()\u003c/code\u003e annotations with async \u003ccode\u003esleep=\u003c/code\u003e function by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/555\"\u003ejd/tenacity#555\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.3...9.1.4\"\u003ehttps://github.com/jd/tenacity/compare/9.1.3...9.1.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e9.1.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eApply formatting to num seconds in before_sleep_log by \u003ca href=\"https://github.com/aguinane\"\u003e\u003ccode\u003e@​aguinane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/489\"\u003ejd/tenacity#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/sandrobonazzola\"\u003e\u003ccode\u003e@​sandrobonazzola\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/528\"\u003ejd/tenacity#528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTyping: Accept non-standard logger in helpers logging something by \u003ca href=\"https://github.com/k4nar\"\u003e\u003ccode\u003e@​k4nar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/540\"\u003ejd/tenacity#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(wait): add \u003ccode\u003ewait_exception\u003c/code\u003e strategy by \u003ca href=\"https://github.com/capitan-davide\"\u003e\u003ccode\u003e@​capitan-davide\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/541\"\u003ejd/tenacity#541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix syntax error in wait_chain docstring example by \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/548\"\u003ejd/tenacity#548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: drop Python 3.9 support (EOL) by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/552\"\u003ejd/tenacity#552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport async sleep for sync fn-to-retry by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/551\"\u003ejd/tenacity#551\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/aguinane\"\u003e\u003ccode\u003e@​aguinane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/489\"\u003ejd/tenacity#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sandrobonazzola\"\u003e\u003ccode\u003e@​sandrobonazzola\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/528\"\u003ejd/tenacity#528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/k4nar\"\u003e\u003ccode\u003e@​k4nar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/540\"\u003ejd/tenacity#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capitan-davide\"\u003e\u003ccode\u003e@​capitan-davide\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/541\"\u003ejd/tenacity#541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/548\"\u003ejd/tenacity#548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/552\"\u003ejd/tenacity#552\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.2...9.1.3\"\u003ehttps://github.com/jd/tenacity/compare/9.1.2...9.1.3\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/jd/tenacity/commit/d4e868d6b8368c00b5a1fad54de36c2c8c3a0fb3\"\u003e\u003ccode\u003ed4e868d\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eretry()\u003c/code\u003e annotations with async \u003ccode\u003esleep=\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/24415ebbca6ecafdf870af06441656dd96149d1d\"\u003e\u003ccode\u003e24415eb\u003c/code\u003e\u003c/a\u003e support async sleep for sync fn (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/3bf33b44096077a0608855f6a380fd8a25fa6f26\"\u003e\u003ccode\u003e3bf33b4\u003c/code\u003e\u003c/a\u003e chore: drop Python 3.9 support (EOL) (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/552\"\u003e#552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/7027da31d27155c7b1831e292a29575af7b5c2b1\"\u003e\u003ccode\u003e7027da3\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/21ae7d0cc27069defd111e8ec81407f6d14089f6\"\u003e\u003ccode\u003e21ae7d0\u003c/code\u003e\u003c/a\u003e docs: fix syntax error in wait_chain docstring example (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/548\"\u003e#548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/ef12c9ed1df4dec3748b1fa9304527245b041d2d\"\u003e\u003ccode\u003eef12c9e\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/checkout in the github-actions group (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/c35a4b341ef5e553c670290fbd8835b59d5f08a3\"\u003e\u003ccode\u003ec35a4b3\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/e792bbaf0cab3685c8000899cb9f61e04d6f3e23\"\u003e\u003ccode\u003ee792bba\u003c/code\u003e\u003c/a\u003e ci: fix mypy (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/0f55245b8da5c4cc8385c2f692164a6ff52cd88e\"\u003e\u003ccode\u003e0f55245\u003c/code\u003e\u003c/a\u003e ci: remove reno requirements (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/815c34fec2c8d64fe2bc8a6bdd79bfb41f1938c6\"\u003e\u003ccode\u003e815c34f\u003c/code\u003e\u003c/a\u003e feat(wait): add \u003ccode\u003ewait_exception\u003c/code\u003e strategy (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/541\"\u003e#541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.2...9.1.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.1.3 to 2.4.2\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.2 (Feb 1, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.2 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.2 is a patch release that fixes bugs discovered after the\n2.4.1 release. Highlights are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixes memory leaks\u003c/li\u003e\n\u003cli\u003eUpdates OpenBLAS to fix hangs\u003c/li\u003e\n\u003c/ul\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 9 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 Tang +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eKumar Aditya\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eVikram Kumar +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 12 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/30629\"\u003e#30629\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/30636\"\u003e#30636\u003c/a\u003e: TYP: \u003ccode\u003earange\u003c/code\u003e: accept datetime strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30657\"\u003e#30657\u003c/a\u003e: MAINT: avoid possible race condition by not touching \u003ccode\u003eos.environ\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30700\"\u003e#30700\u003c/a\u003e: BUG: validate contraction axes in tensordot (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30521\"\u003e#30521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30701\"\u003e#30701\u003c/a\u003e: DOC: __array_namespace__info__: set_module not __module__ (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30679\"\u003e#30679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30702\"\u003e#30702\u003c/a\u003e: BUG: fix free-threaded PyObject layout in replace_scalar_type_names...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30703\"\u003e#30703\u003c/a\u003e: TST: fix limited API example in tests for latest Cython\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30709\"\u003e#30709\u003c/a\u003e: BUG: Fix some bugs found via valgrind (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30680\"\u003e#30680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30712\"\u003e#30712\u003c/a\u003e: MAINT: replace ob_type access with Py_TYPE in PyArray_CheckExact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30713\"\u003e#30713\u003c/a\u003e: BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30736\"\u003e#30736\u003c/a\u003e: BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30737\"\u003e#30737\u003c/a\u003e: backport scipy-openblas version change\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.1 (Jan 10, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.1 is a patch release that fixes bugs discoved after the\n2.4.0 release. In particular, the typo \u003ccode\u003eSeedlessSequence\u003c/code\u003e is preserved to\nenable wheels using the random Cython API and built against NumPy \u0026lt; 2.4.0\nto run without errors.\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/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003cli\u003eYou can use the \u003ccode\u003ekeyring\u003c/code\u003e app to store the PyPI password for twine. See the\nonline twine documentation for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003cp\u003eCheck the numpy-release repo\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/c81c49f77451340651a751e76bca607d85e4fd55\"\u003e\u003ccode\u003ec81c49f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30757\"\u003e#30757\u003c/a\u003e from charris/prepare-2.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b3ae9c59de627110458653836f1be81280222f85\"\u003e\u003ccode\u003eb3ae9c5\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9de89843c3918fa133f1aab9fb4435c38a3b0ba6\"\u003e\u003ccode\u003e9de8984\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30737\"\u003e#30737\u003c/a\u003e from mattip/scipy-openblas-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b7be329895e32de44578742b2745fb307cdf8625\"\u003e\u003ccode\u003eb7be329\u003c/code\u003e\u003c/a\u003e backport scipy-openblas version change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7ff98637f80dc1ff7a18fce8025ffabdded76094\"\u003e\u003ccode\u003e7ff9863\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30736\"\u003e#30736\u003c/a\u003e from charris/backport-30667\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/431fffbe91d86c04738f039e0048441f8f9b5fff\"\u003e\u003ccode\u003e431fffb\u003c/code\u003e\u003c/a\u003e MAINT: Skip tests that require \u003cstrong\u003ebuffer\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/127235fcd9b2e80764da8f6c64f942a6bddb093a\"\u003e\u003ccode\u003e127235f\u003c/code\u003e\u003c/a\u003e BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/18bdb2e675b68daa5afc3250c41982ff77b3867f\"\u003e\u003ccode\u003e18bdb2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30713\"\u003e#30713\u003c/a\u003e from charris/backport-30710\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/41dd7512de6dc3dd665b71d4e3a321aa1150dc48\"\u003e\u003ccode\u003e41dd751\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30712\"\u003e#30712\u003c/a\u003e from charris/backport-30705\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7a278da99943376313b8f631905c3baaa7a82a30\"\u003e\u003ccode\u003e7a278da\u003c/code\u003e\u003c/a\u003e BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.1.3...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `joblib` from 1.4.2 to 1.5.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/joblib/joblib/blob/main/CHANGES.rst\"\u003ejoblib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.5.3 - 2025/12/15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eMemory\u003c/code\u003e object won't overwrite an already existing \u003ccode\u003e.gitignore\u003c/code\u003e file in its\ncache directory anymore.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1742\"\u003ejoblib/joblib#1742\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHarden the safety checks in \u003ccode\u003eeval_expr(pre_dispatch)\u003c/code\u003e to prevent excessive\nmemory allocation and potential crashes by limiting the allowed length of the\nexpression and the maximum numeric value of sub-expressions and not\nevaluating expressions with non-numeric literals.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1744\"\u003ejoblib/joblib#1744\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor cloudpickle 3.1.2 to fix a pickling problem with interactively\ndefined abstract base classes and type annotations in Python 3.14+.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.2 - 2025/08/27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendor \u003ccode\u003eloky3.5.6\u003c/code\u003e fixing the resource tracker for python 3.13.7+\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1740\"\u003ejoblib/joblib#1740\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMemory:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Ensure that temporary files managed by the ``Memory`` object do not collide\n  when using the same cache directory when the cache directory is accessed\n  concurrently from different nodes on a cluster with a shared filesystem.\n  https://github.com/joblib/joblib/pull/1656\n\u003ch2\u003eRelease 1.5.1 - 2025/05/23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix backend hints causing errors when no multiprocessing is present\u003cbr /\u003e\n\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1721\"\u003ejoblib/joblib#1721\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor \u003ccode\u003eloky3.5.5\u003c/code\u003e fixing the resource_tracker clean up with earlier Python\u003cbr /\u003e\nversions. \u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1724\"\u003ejoblib/joblib#1724\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.0 -- 2025/05/03\u003c/h2\u003e\n\u003cp\u003eMemory:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eEnforce \u003ccode\u003eage_limit\u003c/code\u003e is a positive timedelta for \u003ccode\u003eMemory.reduce_size\u003c/code\u003e,\nto avoid silently ignoring it.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1613\"\u003ejoblib/joblib#1613\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003ebytes_limit\u003c/code\u003e argument for \u003ccode\u003eMemory\u003c/code\u003e, which should\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/joblib/joblib/commit/40cd002ae1765195dfc4738a6bc7f5534b420a21\"\u003e\u003ccode\u003e40cd002\u003c/code\u003e\u003c/a\u003e RELEASE 1.5.3 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f05be6705e0f56856b76d76fecdddab95de394c8\"\u003e\u003ccode\u003ef05be67\u003c/code\u003e\u003c/a\u003e MNT Remove last usage of distutils (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1760\"\u003e#1760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/4273f396b7fb66da7f72f603a6bf6651393c5be1\"\u003e\u003ccode\u003e4273f39\u003c/code\u003e\u003c/a\u003e MNT bump actions/checkout from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1762\"\u003e#1762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f465f0245d20c1e793d98b8071a9604623ffd528\"\u003e\u003ccode\u003ef465f02\u003c/code\u003e\u003c/a\u003e FIX don't overwrite existing .gitignore (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1742\"\u003e#1742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/cca7d87a94a1bd141c6c505a909becd4c1854fde\"\u003e\u003ccode\u003ecca7d87\u003c/code\u003e\u003c/a\u003e MNT bump sklearn test on python 3.12 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1759\"\u003e#1759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f7775ad30051d95d83da76125b176962989bf763\"\u003e\u003ccode\u003ef7775ad\u003c/code\u003e\u003c/a\u003e MNT remove deprecated pytest feature (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1757\"\u003e#1757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/3c58aab890faad3b01eda5e6b35f382edcd71f91\"\u003e\u003ccode\u003e3c58aab\u003c/code\u003e\u003c/a\u003e Add Python 3.14 and 3.14t to the testing (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1747\"\u003e#1747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/9b96664daa07e11f6bee797f55567ac28a961cdb\"\u003e\u003ccode\u003e9b96664\u003c/code\u003e\u003c/a\u003e Bump cloudpickle to 3.1.2 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1752\"\u003e#1752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/c3bdbd9511da485c7036a433dce1924bdbbd1313\"\u003e\u003ccode\u003ec3bdbd9\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 5 updates (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1749\"\u003e#1749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/a09bb30b22b286ee8b233fe9391b21560e1799a9\"\u003e\u003ccode\u003ea09bb30\u003c/code\u003e\u003c/a\u003e Keep GitHub Actions up to date with GitHub's Dependabot (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1748\"\u003e#1748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/joblib/joblib/compare/1.4.2...1.5.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.14.1 to 1.17.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy/releases\"\u003escipy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSciPy 1.17.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.1\u003c/code\u003e is a bug-fix release with no new features compared to \u003ccode\u003e1.17.0\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eAuthors\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eName (commits)\u003c/li\u003e\n\u003cli\u003eEvgeni Burovski (5)\u003c/li\u003e\n\u003cli\u003eLucas Colley (1)\u003c/li\u003e\n\u003cli\u003eChristoph Gohlke (1)\u003c/li\u003e\n\u003cli\u003eRalf Gommers (6)\u003c/li\u003e\n\u003cli\u003eMatt Haberland (5)\u003c/li\u003e\n\u003cli\u003eMatthias Koeppe (1)\u003c/li\u003e\n\u003cli\u003eNick ODell (1)\u003c/li\u003e\n\u003cli\u003eIlhan Polat (10)\u003c/li\u003e\n\u003cli\u003eTyler Reddy (44)\u003c/li\u003e\n\u003cli\u003eMartin Schuck (3)\u003c/li\u003e\n\u003cli\u003eDan Schult (3)\u003c/li\u003e\n\u003cli\u003estratakis (1) +\u003c/li\u003e\n\u003cli\u003eਗਗਨਦੀਪ ਸਿੰਘ (Gagandeep Singh) (1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eA total of 13 people contributed to this release.\nPeople with a \u0026quot;+\u0026quot; by their names contributed a patch for the first time.\nThis list of names is automatically generated, and may not be fully complete.\u003c/p\u003e\n\u003cp\u003eComplete issue list, PR list, and release asset hashes are available in the associated \u003ca href=\"https://github.com/scipy/scipy/releases/download/v1.17.1/README.txt\"\u003e\u003ccode\u003eREADME.txt\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eSciPy 1.17.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.0\u003c/code\u003e is the culmination of 6 months of hard work. It contains\nmany new features, numerous bug-fixes, improved test coverage and better\ndocumentation. There have been a number of deprecations and API changes\nin this release, which are documented below. All users are encouraged to\nupgrade to this release, as there are a large number of bug-fixes and\noptimizations. Before upgrading, we recommend that users check that\ntheir own code does not use deprecated SciPy functionality (to do so,\nrun your code with \u003ccode\u003epython -Wd\u003c/code\u003e and check for \u003ccode\u003eDeprecationWarning\u003c/code\u003e s).\nOur development attention will now shift to bug-fix releases on the\n\u003ccode\u003e1.17.x\u003c/code\u003e branch, and on adding new features on the main branch.\u003c/p\u003e\n\u003cp\u003eThis release requires Python \u003ccode\u003e3.11\u003c/code\u003e-\u003ccode\u003e3.14\u003c/code\u003e and NumPy \u003ccode\u003e1.26.4\u003c/code\u003e or greater.\u003c/p\u003e\n\u003ch1\u003eHighlights of this release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMany SciPy functions have gained native support for batching of N-dimensional\narray input and additional support for the array API standard. An overall\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/527eb7fd7953a1de068f94bf8b322f249b9405ae\"\u003e\u003ccode\u003e527eb7f\u003c/code\u003e\u003c/a\u003e REL: 1.17.1 release commit [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/f11663bf044f1cb5a0112a28ac238f902ae36eea\"\u003e\u003ccode\u003ef11663b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24584\"\u003e#24584\u003c/a\u003e from tylerjereddy/treddy_prep_1.17.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/2c49e68b634d2657380ca7b65207c6122e83cb72\"\u003e\u003ccode\u003e2c49e68\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/400fa15ed6f9fece4c3848e9eade0e7d5e5aece0\"\u003e\u003ccode\u003e400fa15\u003c/code\u003e\u003c/a\u003e safely convert index dtypes to intc for csgraph and superLU\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/8c704044ab6f8f3e94295f354dbadfcab9139837\"\u003e\u003ccode\u003e8c70404\u003c/code\u003e\u003c/a\u003e MAINT: PR 24584 revisions [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/6dda8c13c534a61bc56c7b11bb5841efbd37d9dd\"\u003e\u003ccode\u003e6dda8c1\u003c/code\u003e\u003c/a\u003e BUG: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/4a187e59ea9cde1f79b4fae9dbd8177adcf0ddf3\"\u003e\u003ccode\u003e4a187e5\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/463ee9f72a5f1afe3363e86344a55eea1c1ba477\"\u003e\u003ccode\u003e463ee9f\u003c/code\u003e\u003c/a\u003e ENH: linalg/inv: re-enable overwrite_a for 2D inputs (\u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24442\"\u003e#24442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/df746eed5eae0243969fd8de07770c4ace1dc65c\"\u003e\u003ccode\u003edf746ee\u003c/code\u003e\u003c/a\u003e BUG: linalg: restore dtypes in inv, solve, det\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/246bfeecbe56200ae4e265a70e06ccc64daee9c2\"\u003e\u003ccode\u003e246bfee\u003c/code\u003e\u003c/a\u003e MAINT:optimize: Enable multi-phase init to DIRECT\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy/compare/v1.14.1...v1.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `apscheduler` from 3.10.4 to 3.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/apscheduler/releases\"\u003eapscheduler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where a job using a \u003ccode\u003eCronTrigger\u003c/code\u003e scheduled in a repeated time interval during DST transitions could cause the scheduler to get stuck in an infinite loop (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e; PR by \u003ca href=\"https://github.com/soulofakuma\"\u003e\u003ccode\u003e@​soulofakuma\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003escheduler.shutdown()\u003c/code\u003e not raising \u003ccode\u003eSchedulerNotRunning\u003c/code\u003e (or raising the wrong exception) for asynchronous schedulers when the scheduler is in fact not running\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCronTrigger\u003c/code\u003e sticking on a folded datetime during the fall-back DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e \u0026lt;\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003eagronholm/apscheduler#1021\u003c/a\u003e\u0026gt;_; PR by \u003ca href=\"https://github.com/berianjames\"\u003e\u003ccode\u003e@​berianjames\u003c/code\u003e\u003c/a\u003e)`\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.6 and 3.7\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eZoneInfo\u003c/code\u003e time zones and deprecated support for pytz time zones\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCalendarIntervalTrigger\u003c/code\u003e, backported from the 4.x series\u003c/li\u003e\n\u003cli\u003eAdded the ability to export and import jobs via \u003ccode\u003escheduler.export_jobs()\u003c/code\u003e and \u003ccode\u003escheduler.import_jobs()\u003c/code\u003e, respectively\u003c/li\u003e\n\u003cli\u003eRemoved the dependency on \u003ccode\u003esix\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e to spawn new subprocesses from scratch instead of forking on all platform\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eAsyncIOScheduler\u003c/code\u003e inadvertently creating a defunct event loop at start, leading to the scheduler not working at all\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e not respecting the passed keyword arguments when a broken pool was being replaced\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/0f70950e320f3a7924dcd404c6c379143fb68b23\"\u003e\u003ccode\u003e0f70950\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/bc404e63af18bd8e493e0765f2ad0b51e6df0ef1\"\u003e\u003ccode\u003ebc404e6\u003c/code\u003e\u003c/a\u003e Updated publish actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/c3aa155bd39fe54639d69b396f9ad720246f0c98\"\u003e\u003ccode\u003ec3aa155\u003c/code\u003e\u003c/a\u003e Updated pre-commit modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/ad6b2dc766cd6722c8aa51543f988b9ee7b13110\"\u003e\u003ccode\u003ead6b2dc\u003c/code\u003e\u003c/a\u003e Added fix for get_next_fire_time not advancing through fold with unfolded pre...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/f4df139771b7741f58f0eb456f091d3f659555c1\"\u003e\u003ccode\u003ef4df139\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/25be7b77afca892d152441d4a61402623af7f943\"\u003e\u003ccode\u003e25be7b7\u003c/code\u003e\u003c/a\u003e Fixed CronTrigger getting stuck on fallback DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1079\"\u003e#1079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/12613862e34456215dc98574f6cf594f77d66f47\"\u003e\u003ccode\u003e1261386\u003c/code\u003e\u003c/a\u003e Updated etcd image repository name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/b1f5636ccaf6a2fe86b208d7bd6b43024a1546b3\"\u003e\u003ccode\u003eb1f5636\u003c/code\u003e\u003c/a\u003e Fixed shutdown() not raising the correct exception for some schedulers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/6c72a51416893eb0eebbe63d0f2a0151952cab59\"\u003e\u003ccode\u003e6c72a51\u003c/code\u003e\u003c/a\u003e Backported release job from master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/4b965109548e528c061cf32b672de1a6f65f2c2a\"\u003e\u003ccode\u003e4b96510\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/apscheduler/compare/3.10.4...3.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `celery` from 5.4.0 to 5.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/releases\"\u003ecelery's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.6.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string by \u003ca href=\"https://github.com/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix: Revoked tasks now immediately update backend status to REVOKED by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9869\"\u003ecelery/celery#9869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.2 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10049\"\u003ecelery/celery#10049\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.1...v5.6.2\"\u003ehttps://github.com/celery/celery/compare/v5.6.1...v5.6.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support by \u003ca href=\"https://github.com/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown by \u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option by \u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10020\"\u003ecelery/celery#10020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup by \u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereliable prefork detection by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10023\"\u003ecelery/celery#10023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebetter coverage by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10029\"\u003ecelery/celery#10029\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example by \u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10032\"\u003ecelery/celery#10032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10033\"\u003ecelery/celery#10033\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10037\"\u003ecelery/celery#10037\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.0...v5.6.1\"\u003ehttps://github.com/celery/celery/compare/v5.6.0...v5.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.0\u003c/h2\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003ch2\u003eKey Highlights\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.celeryq.dev/en/stable/history/whatsnew-5.6.html\"\u003eWhat's new in Celery 5.6\u003c/a\u003e for a complete overview or read the main highlights below.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Minimum Version\u003c/h3\u003e\n\u003cp\u003eCelery 5.6.0 drops support for Python 3.8 (EOL). The minimum required Python version is now 3.9. Users still on Python 3.8 must upgrade their Python version before upgrading to Celery 5.6.0.\u003c/p\u003e\n\u003cp\u003eAdditionally, this release includes initial support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eSQS: Reverted to \u003ccode\u003epycurl\u003c/code\u003e from \u003ccode\u003eurllib3\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003eThe switch from \u003ccode\u003epycurl\u003c/code\u003e to \u003ccode\u003eurllib3\u003c/code\u003e for the SQS transport (introduced in Celery 5.5.0 via Kombu) has been reverted due to critical issues affecting SQS users.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/blob/main/Changelog.rst\"\u003ecelery's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.6.2\u003c/h1\u003e\n\u003cp\u003e:release-date: 2026-01-04\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string ([#10045](https://github.com/celery/celery/issues/10045))\n- Bugfix: Revoked tasks now immediately update backend status to REVOKED ([#9869](https://github.com/celery/celery/issues/9869))\n- Prepare for release: v5.6.2 ([#10049](https://github.com/celery/celery/issues/10049))\n\u003cp\u003e.. _version-5.6.1:\u003c/p\u003e\n\u003ch1\u003e5.6.1\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-12-29\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10013\"\u003e#10013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9986\"\u003e#9986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10016\"\u003e#10016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10020\"\u003e#10020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10015\"\u003e#10015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereliable prefork detection (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10023\"\u003e#10023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebetter coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#10029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10030\"\u003e#10030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10032\"\u003e#10032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _version-5.6.0:\u003c/p\u003e\n\u003ch1\u003e5.6.0\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-11-30\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003cp\u003eKey Highlights\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nSee :ref:`whatsnew-5.6` for a complete overview or read the main highlights below.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6a43c846f183ef0cbade24f4b9a8f7a6ea113b44\"\u003e\u003ccode\u003e6a43c84\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.2 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10049\"\u003e#10049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/333a82f746734151c5cbe848916085455b0a3748\"\u003e\u003ccode\u003e333a82f\u003c/code\u003e\u003c/a\u003e Bugfix: Revoked tasks now immediately update backend status to REVOKED (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9869\"\u003e#9869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/9d6ab110d947270c4edf0b42454266d2954e653d\"\u003e\u003ccode\u003e9d6ab11\u003c/code\u003e\u003c/a\u003e Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeEr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21dbc73f81d2fae058de49e665afaa1cd92da5c0\"\u003e\u003ccode\u003e21dbc73\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/ba20bed7723c684d12ddd62d6a7c0c0d901b3351\"\u003e\u003ccode\u003eba20bed\u003c/code\u003e\u003c/a\u003e Only use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21675299bc2d10c648448ec5221136e07c1eec1a\"\u003e\u003ccode\u003e2167529\u003c/code\u003e\u003c/a\u003e Stop importing pytest_subtests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/0527296acb1f1790788301d4395ba6d5ce2a9704\"\u003e\u003ccode\u003e0527296\u003c/code\u003e\u003c/a\u003e Bump google-cloud-firestore from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/5f8659bdba4561796d66e938a1e2c71d4489562f\"\u003e\u003ccode\u003e5f8659b\u003c/code\u003e\u003c/a\u003e Clarify 'result_extended' setting usage in tasks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/f19db7008682c782d85e69b5ce736970491752ea\"\u003e\u003ccode\u003ef19db70\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.19.0 to 1.19.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10028\"\u003e#10028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6da72bde60553a1c350eef1e17d834d004ed099d\"\u003e\u003ccode\u003e6da72bd\u003c/code\u003e\u003c/a\u003e better coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#...\n\n_Description has been truncated_","html_url":"https://github.com/KyaRhamil/floodingnaque/pull/28","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyaRhamil%2Ffloodingnaque/issues/28","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/28/packages"}},{"old_version":"0.34.0","new_version":"0.35.0","update_type":"minor","path":"/backend","pr_created_at":"2026-02-20T22:40:37.000Z","version_change":"0.34.0 → 0.35.0","issue":{"uuid":"3970665694","node_id":"PR_kwDOOlz2PM7FRk0z","number":196,"state":"closed","title":"build(deps): bump validators from 0.34.0 to 0.35.0 in /backend","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-21T02:26:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-20T22:40:37.000Z","updated_at":"2026-02-21T02:26:45.000Z","time_to_close":13566,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps [validators](https://github.com/python-validators/validators) from 0.34.0 to 0.35.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/releases\"\u003evalidators's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\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/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003epython-validators/validators#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003epython-validators/validators#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003epython-validators/validators#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003epython-validators/validators#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003epython-validators/validators#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003epython-validators/validators#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003epython-validators/validators#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003epython-validators/validators#415\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/blob/master/CHANGES.md\"\u003evalidators's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0 (2025-05-01)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/75788ed9e116fe3bf1bb9699f1696e7f7e132067\"\u003e\u003ccode\u003e75788ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/425\"\u003e#425\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/0b1799cdb431e708aff6b1b59e4430bd0828a70b\"\u003e\u003ccode\u003e0b1799c\u003c/code\u003e\u003c/a\u003e chore: updates changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/de4948f45fc4d79abec2da3b8586f6b271c5d723\"\u003e\u003ccode\u003ede4948f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/424\"\u003e#424\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/6d8a1abcdf2d92e113b1707bbf372bde4d48e3a5\"\u003e\u003ccode\u003e6d8a1ab\u003c/code\u003e\u003c/a\u003e chore: prepare for new release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/8691cead510052aae88f22776b9d6fbe1cf55351\"\u003e\u003ccode\u003e8691cea\u003c/code\u003e\u003c/a\u003e chore: formatting; sync dependencies (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/422\"\u003e#422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/bafe62e757bd99526129f8dffcfc9795817d08d8\"\u003e\u003ccode\u003ebafe62e\u003c/code\u003e\u003c/a\u003e feat: add Mir card validation support (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/7c97eca2990f6d42e27f0f211475eb0d4809de59\"\u003e\u003ccode\u003e7c97eca\u003c/code\u003e\u003c/a\u003e Fix: Allow Special DOI Cases Used in Public Administration Tests (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/415\"\u003e#415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/b2510d1c5f7ef81cdf9fa90d2548ebd826e4e734\"\u003e\u003ccode\u003eb2510d1\u003c/code\u003e\u003c/a\u003e feat: adds \u003ccode\u003edoctest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/f7742c55b680036116a7f61e140476ffd4774ccb\"\u003e\u003ccode\u003ef7742c5\u003c/code\u003e\u003c/a\u003e Refactor API: remove print from ru_inn, update description, and expose via __...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/d6241fc31f6b46bf81283c6ab3cae07c370fc1f6\"\u003e\u003ccode\u003ed6241fc\u003c/code\u003e\u003c/a\u003e fix(uri): remove \u0026quot;mailto:\u0026quot; prefix manually (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/418\"\u003e#418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=validators\u0026package-manager=pip\u0026previous-version=0.34.0\u0026new-version=0.35.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/bannert1337/foss-webui/pull/196","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bannert1337%2Ffoss-webui/issues/196","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/196/packages"}},{"old_version":"0.34.0","new_version":"0.35.0","update_type":"minor","path":"/api","pr_created_at":"2026-02-02T19:27:30.000Z","version_change":"0.34.0 → 0.35.0","issue":{"uuid":"3887544515","node_id":"PR_kwDOKqBlQc7A_6RM","number":171,"state":"closed","title":"chore(deps): bump the pip group in /api with 38 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-03T17:08:25.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-02T19:27:30.000Z","updated_at":"2026-02-03T17:08:27.000Z","time_to_close":78055,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":38,"packages":[{"name":"apscheduler","old_version":"3.10.4","new_version":"3.11.2","repository_url":"https://github.com/agronholm/apscheduler"},{"name":"azure-identity","old_version":"1.16.1","new_version":"1.25.1","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-blob","old_version":"12.14.1","new_version":"12.28.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"chardet","old_version":"5.1.0","new_version":"5.2.0","repository_url":"https://github.com/chardet/chardet"},{"name":"elastic-apm","old_version":"6.23.0","new_version":"6.25.0","repository_url":"https://github.com/elastic/apm-agent-python"},{"name":"elasticsearch","old_version":"8.6.1","new_version":"8.19.3","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"flask","old_version":"2.2.5","new_version":"2.3.3","repository_url":"https://github.com/pallets/flask"},{"name":"flask-caching","old_version":"2.0.2","new_version":"2.3.1","repository_url":"https://github.com/pallets-eco/flask-caching"},{"name":"prometheus-client","old_version":"0.17.1","new_version":"0.24.1","repository_url":"https://github.com/prometheus/client_python"},{"name":"pyjwt","old_version":"2.6.0","new_version":"2.11.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"redis","old_version":"4.5.4","new_version":"4.6.0","repository_url":"https://github.com/redis/redis-py"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"typing-extensions","old_version":"4.13.2","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"pysigma","old_version":"0.11.17","new_version":"0.11.23","repository_url":"https://github.com/SigmaHQ/pySigma"},{"name":"pysigma-backend-elasticsearch","old_version":"1.1.5","new_version":"1.1.6","repository_url":"https://github.com/SigmaHQ/pySigma-backend-elasticsearch"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"python-dotenv","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"pydantic","old_version":"2.11.4","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-settings","old_version":"2.9.1","new_version":"2.11.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"pydash","old_version":"8.0.5","new_version":"8.0.6","repository_url":"https://github.com/dgilland/pydash"},{"name":"flake8","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/pycqa/flake8"},{"name":"retrying","old_version":"1.3.3","new_version":"1.4.2","repository_url":"https://github.com/groodt/retrying"},{"name":"pyftpdlib","old_version":"1.5.7","new_version":"1.5.10","repository_url":"https://github.com/giampaolo/pyftpdlib"},{"name":"mypy","old_version":"1.6.1","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"mock","old_version":"5.1.0","new_version":"5.2.0","repository_url":"https://github.com/testing-cabal/mock"},{"name":"mypy-extensions","old_version":"1.0.0","new_version":"1.1.0","repository_url":"https://github.com/python/mypy_extensions"},{"name":"coverage","old_version":"7.4.0","new_version":"7.10.7","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"ruff","old_version":"0.8.6","new_version":"0.14.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"types-pyyaml","old_version":"6.0.12.12","new_version":"6.0.12.20250915","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-paramiko","old_version":"3.3.0.0","new_version":"3.5.0.20250801","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-pyopenssl","old_version":"23.3.0.0","new_version":"23.3.0.20240106","repository_url":"https://github.com/python/typeshed"},{"name":"types-redis","old_version":"4.6.0.9","new_version":"4.6.0.20241004","repository_url":"https://github.com/python/typeshed"},{"name":"types-six","old_version":"1.16.21.9","new_version":"1.17.0.20251009","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-requests","old_version":"2.31.0.6","new_version":"2.32.4.20260107","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"websocket-client","old_version":"1.5.1","new_version":"1.9.0","repository_url":"https://github.com/websocket-client/websocket-client"},{"name":"types-mock","old_version":"5.2.0.20250306","new_version":"5.2.0.20250924","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"rich","old_version":"14.2.0","new_version":"14.3.2","repository_url":"https://github.com/Textualize/rich"}],"path":"/api","ecosystem":"pip"},"body":"Bumps the pip group in /api with 38 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [apscheduler](https://github.com/agronholm/apscheduler) | `3.10.4` | `3.11.2` |\n| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.16.1` | `1.25.1` |\n| [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python) | `12.14.1` | `12.28.0` |\n| [chardet](https://github.com/chardet/chardet) | `5.1.0` | `5.2.0` |\n| [elastic-apm](https://github.com/elastic/apm-agent-python) | `6.23.0` | `6.25.0` |\n| [elasticsearch](https://github.com/elastic/elasticsearch-py) | `8.6.1` | `8.19.3` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `2.3.3` |\n| [flask-caching](https://github.com/pallets-eco/flask-caching) | `2.0.2` | `2.3.1` |\n| [prometheus-client](https://github.com/prometheus/client_python) | `0.17.1` | `0.24.1` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.6.0` | `2.11.0` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [redis](https://github.com/redis/redis-py) | `4.5.4` | `4.6.0` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.13.2` | `4.15.0` |\n| [pysigma](https://github.com/SigmaHQ/pySigma) | `0.11.17` | `0.11.23` |\n| [pysigma-backend-elasticsearch](https://github.com/SigmaHQ/pySigma-backend-elasticsearch) | `1.1.5` | `1.1.6` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.1.0` | `1.2.1` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.4` | `2.12.5` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.9.1` | `2.11.0` |\n| [pydash](https://github.com/dgilland/pydash) | `8.0.5` | `8.0.6` |\n| [flake8](https://github.com/pycqa/flake8) | `7.2.0` | `7.3.0` |\n| [retrying](https://github.com/groodt/retrying) | `1.3.3` | `1.4.2` |\n| [pyftpdlib](https://github.com/giampaolo/pyftpdlib) | `1.5.7` | `1.5.10` |\n| [mypy](https://github.com/python/mypy) | `1.6.1` | `1.19.1` |\n| [mock](https://github.com/testing-cabal/mock) | `5.1.0` | `5.2.0` |\n| [mypy-extensions](https://github.com/python/mypy_extensions) | `1.0.0` | `1.1.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.4.0` | `7.10.7` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.8.6` | `0.14.14` |\n| [types-pyyaml](https://github.com/typeshed-internal/stub_uploader) | `6.0.12.12` | `6.0.12.20250915` |\n| [types-paramiko](https://github.com/typeshed-internal/stub_uploader) | `3.3.0.0` | `3.5.0.20250801` |\n| [types-pyopenssl](https://github.com/python/typeshed) | `23.3.0.0` | `23.3.0.20240106` |\n| [types-redis](https://github.com/python/typeshed) | `4.6.0.9` | `4.6.0.20241004` |\n| [types-six](https://github.com/typeshed-internal/stub_uploader) | `1.16.21.9` | `1.17.0.20251009` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.31.0.6` | `2.32.4.20260107` |\n| [websocket-client](https://github.com/websocket-client/websocket-client) | `1.5.1` | `1.9.0` |\n| [types-mock](https://github.com/typeshed-internal/stub_uploader) | `5.2.0.20250306` | `5.2.0.20250924` |\n| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.2` |\n\nUpdates `apscheduler` from 3.10.4 to 3.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/apscheduler/releases\"\u003eapscheduler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where a job using a \u003ccode\u003eCronTrigger\u003c/code\u003e scheduled in a repeated time interval during DST transitions could cause the scheduler to get stuck in an infinite loop (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e; PR by \u003ca href=\"https://github.com/soulofakuma\"\u003e\u003ccode\u003e@​soulofakuma\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003escheduler.shutdown()\u003c/code\u003e not raising \u003ccode\u003eSchedulerNotRunning\u003c/code\u003e (or raising the wrong exception) for asynchronous schedulers when the scheduler is in fact not running\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCronTrigger\u003c/code\u003e sticking on a folded datetime during the fall-back DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e \u0026lt;\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003eagronholm/apscheduler#1021\u003c/a\u003e\u0026gt;_; PR by \u003ca href=\"https://github.com/berianjames\"\u003e\u003ccode\u003e@​berianjames\u003c/code\u003e\u003c/a\u003e)`\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.6 and 3.7\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eZoneInfo\u003c/code\u003e time zones and deprecated support for pytz time zones\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCalendarIntervalTrigger\u003c/code\u003e, backported from the 4.x series\u003c/li\u003e\n\u003cli\u003eAdded the ability to export and import jobs via \u003ccode\u003escheduler.export_jobs()\u003c/code\u003e and \u003ccode\u003escheduler.import_jobs()\u003c/code\u003e, respectively\u003c/li\u003e\n\u003cli\u003eRemoved the dependency on \u003ccode\u003esix\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e to spawn new subprocesses from scratch instead of forking on all platform\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eAsyncIOScheduler\u003c/code\u003e inadvertently creating a defunct event loop at start, leading to the scheduler not working at all\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e not respecting the passed keyword arguments when a broken pool was being replaced\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/0f70950e320f3a7924dcd404c6c379143fb68b23\"\u003e\u003ccode\u003e0f70950\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/bc404e63af18bd8e493e0765f2ad0b51e6df0ef1\"\u003e\u003ccode\u003ebc404e6\u003c/code\u003e\u003c/a\u003e Updated publish actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/c3aa155bd39fe54639d69b396f9ad720246f0c98\"\u003e\u003ccode\u003ec3aa155\u003c/code\u003e\u003c/a\u003e Updated pre-commit modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/ad6b2dc766cd6722c8aa51543f988b9ee7b13110\"\u003e\u003ccode\u003ead6b2dc\u003c/code\u003e\u003c/a\u003e Added fix for get_next_fire_time not advancing through fold with unfolded pre...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/f4df139771b7741f58f0eb456f091d3f659555c1\"\u003e\u003ccode\u003ef4df139\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/25be7b77afca892d152441d4a61402623af7f943\"\u003e\u003ccode\u003e25be7b7\u003c/code\u003e\u003c/a\u003e Fixed CronTrigger getting stuck on fallback DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1079\"\u003e#1079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/12613862e34456215dc98574f6cf594f77d66f47\"\u003e\u003ccode\u003e1261386\u003c/code\u003e\u003c/a\u003e Updated etcd image repository name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/b1f5636ccaf6a2fe86b208d7bd6b43024a1546b3\"\u003e\u003ccode\u003eb1f5636\u003c/code\u003e\u003c/a\u003e Fixed shutdown() not raising the correct exception for some schedulers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/6c72a51416893eb0eebbe63d0f2a0151952cab59\"\u003e\u003ccode\u003e6c72a51\u003c/code\u003e\u003c/a\u003e Backported release job from master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/4b965109548e528c061cf32b672de1a6f65f2c2a\"\u003e\u003ccode\u003e4b96510\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/apscheduler/compare/3.10.4...3.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-identity` from 1.16.1 to 1.25.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/dbf147506014177ceb85ca4cf5e90eef5a5d4660\"\u003e\u003ccode\u003edbf1475\u003c/code\u003e\u003c/a\u003e [Identity] Update changelog (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43249\"\u003e#43249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/949e5b8d351d97b1abafb3fda49880bf2aaf401d\"\u003e\u003ccode\u003e949e5b8\u003c/code\u003e\u003c/a\u003e Added response hook to replace throughput (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43243\"\u003e#43243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/65f6f1ac22eca4f5b3218279c73cc1e6568b29f3\"\u003e\u003ccode\u003e65f6f1a\u003c/code\u003e\u003c/a\u003e Rename Path Efficiency to Task Navigation Efficiency Evaluator and Return Onl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/772ee5ad10ad7f4867044ea39ce516f9dd3cc5bc\"\u003e\u003ccode\u003e772ee5a\u003c/code\u003e\u003c/a\u003e Rename Tool Call Accuracy Evaluator to Tool Call Quality (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43246\"\u003e#43246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/05f1eae0b18abc85f5ffb759f943268dac9e06c5\"\u003e\u003ccode\u003e05f1eae\u003c/code\u003e\u003c/a\u003e Rename Task Success Evaluator to Task Completion Evaluator (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43190\"\u003e#43190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/07395dd0dbdc75b25f5fc2ac8ff82a8824b5a90f\"\u003e\u003ccode\u003e07395dd\u003c/code\u003e\u003c/a\u003e [Identity] Skip IMDS probe when MI selected in DAC via env (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43080\"\u003e#43080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/b0ec83c3f0ad69dd40aaf7e2c832616ea01060fc\"\u003e\u003ccode\u003eb0ec83c\u003c/code\u003e\u003c/a\u003e Revert behavior change introduced in \u003ca href=\"https://github.com/Azure/azure-sdk-tools\"\u003ehttps://github.com/Azure/azure-sdk-tools\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/33bbf3517faa8e0b285faa1b3b7241c00c50e7a8\"\u003e\u003ccode\u003e33bbf35\u003c/code\u003e\u003c/a\u003e [Identity] Improve MI error messages (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43231\"\u003e#43231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/f837589b09b3f37f3576ee4c752db56e9a281a81\"\u003e\u003ccode\u003ef837589\u003c/code\u003e\u003c/a\u003e update verifywhl to check that one of homepage/repository exists (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43188\"\u003e#43188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/befebbf01f86e85a12b5f9a16adc3d2c5175703c\"\u003e\u003ccode\u003ebefebbf\u003c/code\u003e\u003c/a\u003e update pinned apistub version 0.3.23 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43237\"\u003e#43237\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-identity_1.16.1...azure-identity_1.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-storage-blob` from 12.14.1 to 12.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/releases\"\u003eazure-storage-blob's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-storage-blob_12.28.0\u003c/h2\u003e\n\u003ch2\u003e12.28.0 (2026-01-06)\u003c/h2\u003e\n\u003ch3\u003eFeatures Added\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStable release of features from 12.28.0b1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChanged the default \u003ccode\u003econnection_data_block_size\u003c/code\u003e for all clients from 4 KiB to 256 KiB. This should result in\nsignificantly better throughput on large file downloads for most environments.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eazure-storage-blob_12.28.0b1\u003c/h2\u003e\n\u003ch2\u003e12.28.0b1 (2025-12-04)\u003c/h2\u003e\n\u003ch3\u003eFeatures Added\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for service version 2026-02-06.\u003c/li\u003e\n\u003cli\u003eAdded support for the keywords \u003ccode\u003eif_modified_since\u003c/code\u003e, \u003ccode\u003eif_unmodified_since\u003c/code\u003e, \u003ccode\u003eetag\u003c/code\u003e, and \u003ccode\u003ematch_condition\u003c/code\u003e to\nconditionally perform \u003ccode\u003eBlobClient\u003c/code\u003e's \u003ccode\u003eset_blob_tags\u003c/code\u003e and \u003ccode\u003eget_blob_tags\u003c/code\u003e operations.\u003c/li\u003e\n\u003cli\u003eAdded support for the keyword \u003ccode\u003estart_from\u003c/code\u003e in \u003ccode\u003eContainerClient\u003c/code\u003e's \u003ccode\u003elist_blobs\u003c/code\u003e, \u003ccode\u003elist_blob_names\u003c/code\u003e, and \u003ccode\u003ewalk_blobs\u003c/code\u003e\nAPIs, which specifies the full path to start listing paths from.\u003c/li\u003e\n\u003cli\u003eAdded support for the keyword \u003ccode\u003euser_delegation_oid\u003c/code\u003e to \u003ccode\u003egenerate_blob_sas\u003c/code\u003e and \u003ccode\u003egenerate_container_sas\u003c/code\u003e, which\nspecifies the Entra ID of the user that is authorized to use the generated SAS URL.\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eUseDevelopmentStorage=true;\u003c/code\u003e as a valid connection string for Azurite.\u003c/li\u003e\n\u003cli\u003eAdded the ability to skip auto decompression on \u003ccode\u003eBlobClient.download_blob\u003c/code\u003e via the \u003ccode\u003edecompress\u003c/code\u003e keyword.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/b3301acbed95d1e11f8ab859eced5292627c763a\"\u003e\u003ccode\u003eb3301ac\u003c/code\u003e\u003c/a\u003e STG 100 GA Release Date for 2026-01-06\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/beb8dfaad1420c54288adb8e0ceb468cff144a70\"\u003e\u003ccode\u003ebeb8dfa\u003c/code\u003e\u003c/a\u003e [Storage][STG 100] Prepare branch for GA + cherry-pick block size change (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44\"\u003e#44\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/874cfcf701ccc2a2ef9a3444fe0563ce2efdc058\"\u003e\u003ccode\u003e874cfcf\u003c/code\u003e\u003c/a\u003e [Storage] Update Swagger and Release Date (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44243\"\u003e#44243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/4aca0cc83494e1fe243a21d31af357acf60160be\"\u003e\u003ccode\u003e4aca0cc\u003c/code\u003e\u003c/a\u003e Fix perf tests on Python 3.14 + Storage change (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44230\"\u003e#44230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/cd5ecc5c0e05c1deeb4b74f72d85f01418e5d27c\"\u003e\u003ccode\u003ecd5ecc5\u003c/code\u003e\u003c/a\u003e [Storage] Fix 100 Live Tests (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44108\"\u003e#44108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/1cd78b1c3dbc5acb2a40d81cf4d3587783a187eb\"\u003e\u003ccode\u003e1cd78b1\u003c/code\u003e\u003c/a\u003e [Storage] Added support for Python 3.14 + update 100 release date (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44224\"\u003e#44224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/471cda17da08c0320c12c4f2ee30becaaec94a7a\"\u003e\u003ccode\u003e471cda1\u003c/code\u003e\u003c/a\u003e [Storage] Add Blob download perf test that uses HTTP library directly (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44111\"\u003e#44111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/9e53510dc0e1acfdbbf418174f656fac5025ea92\"\u003e\u003ccode\u003e9e53510\u003c/code\u003e\u003c/a\u003e [Storage] Decompression for Binary Response in Download APIs (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43587\"\u003e#43587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/68b646be00366dc3f9157065eccf55dd0c7c21b2\"\u003e\u003ccode\u003e68b646b\u003c/code\u003e\u003c/a\u003e Removed create file with data and file semantics features (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43978\"\u003e#43978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/09f0066bee9b717da6e15aa5fc2183e3490fe7f1\"\u003e\u003ccode\u003e09f0066\u003c/code\u003e\u003c/a\u003e [Storage] Added Support for \u003ccode\u003eUseDevelopmentStorage=true;\u003c/code\u003e for Connection Stri...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-storage-blob_12.14.1...azure-storage-blob_12.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `chardet` from 5.1.0 to 5.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chardet/chardet/releases\"\u003echardet's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003echardet 5.2.0\u003c/h2\u003e\n\u003cp\u003eAdds support for running chardet CLI via \u003ccode\u003epython -m chardet\u003c/code\u003e (0e9b7bc20366163efcc221281201baff4100fe19, \u003ca href=\"https://github.com/dan-blanchard\"\u003e\u003ccode\u003e@​dan-blanchard\u003c/code\u003e\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/chardet/chardet/commit/78250d917a2883aa60215c04480aeb27a545f1d9\"\u003e\u003ccode\u003e78250d9\u003c/code\u003e\u003c/a\u003e Bump version to 5.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chardet/chardet/commit/0e9b7bc20366163efcc221281201baff4100fe19\"\u003e\u003ccode\u003e0e9b7bc\u003c/code\u003e\u003c/a\u003e Add \u003cstrong\u003emain\u003c/strong\u003e module to support python -m chardet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chardet/chardet/commit/0649ffe20fb3fa435f0a0e01445e6ead6cc672ee\"\u003e\u003ccode\u003e0649ffe\u003c/code\u003e\u003c/a\u003e Bump version to 5.2.0dev0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/chardet/chardet/compare/5.1.0...5.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elastic-apm` from 6.23.0 to 6.25.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/apm-agent-python/releases\"\u003eelastic-apm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.25.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eELASTIC_APM_SKIP_SERVER_INFO\u003c/code\u003e to reduce overhead on serverless with APM server 8.7.1+ \u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2516\"\u003e#2516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eList all exported symbols in elasticapm module  \u003ccode\u003e__all__\u003c/code\u003e \u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2504\"\u003e#2504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle Tornado 6.5.3 \u003ccode\u003eHttpHeaders\u003c/code\u003e \u003ccode\u003ein\u003c/code\u003e operator behavior change \u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2512\"\u003e#2512\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eRegion\u003c/th\u003e\n\u003cth\u003eARN\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eaf-south-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:af-south-1:2670937327\u0026lt;50:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eap-east-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:ap-east-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eap-northeast-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:ap-northeast-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eap-northeast-2\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:ap-northeast-2:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eap-northeast-3\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:ap-northeast-3:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eap-south-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:ap-south-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eap-southeast-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:ap-southeast-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eap-southeast-2\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:ap-southeast-2:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eap-southeast-3\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:ap-southeast-3:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eca-central-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:ca-central-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eeu-central-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:eu-central-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eeu-north-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:eu-north-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eeu-south-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:eu-south-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eeu-west-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:eu-west-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eeu-west-2\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:eu-west-2:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eeu-west-3\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:eu-west-3:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eme-south-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:me-south-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003esa-east-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:sa-east-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eus-east-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:us-east-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eus-east-2\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:us-east-2:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eus-west-1\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:us-west-1:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eus-west-2\u003c/td\u003e\n\u003ctd\u003earn:aws:lambda:us-west-2:267093732750:layer:elastic-apm-python-ver-6-25-0:1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/md-adil\"\u003e\u003ccode\u003e@​md-adil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/pull/2504\"\u003eelastic/apm-agent-python#2504\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/elastic/apm-agent-python/compare/v6.24.1...v6.25.0\"\u003ehttps://github.com/elastic/apm-agent-python/compare/v6.24.1...v6.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.24.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of psycopg ServerCursor and AsyncServerCursor instrumentation \u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2489\"\u003e#2489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix contrib/opentelemetry set_status to match base signature \u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2457\"\u003e#2457\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/elastic/apm-agent-python/blob/main/CHANGELOG.asciidoc\"\u003eelastic-apm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e==== 6.25.0 - 2025-12-23\u003c/p\u003e\n\u003cp\u003e[float]\n===== Features\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eELASTIC_APM_SKIP_SERVER_INFO\u003c/code\u003e to reduce overhead on serverless with APM server 8.7.1+ {pull}2516\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2516\"\u003e#2516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eList all exported symbols in elasticapm module  \u003ccode\u003e__all__\u003c/code\u003e {pull}2504\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2504\"\u003e#2504\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e[float]\n===== Bug fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHandle Tornado 6.5.3 \u003ccode\u003eHttpHeaders\u003c/code\u003e \u003ccode\u003ein\u003c/code\u003e operator behavior change {pull}2512\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2512\"\u003e#2512\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e[[release-notes-6.24.1]]\n==== 6.24.1 - 2025-11-21\u003c/p\u003e\n\u003cp\u003e[float]\n===== Bug fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of psycopg ServerCursor and AsyncServerCursor instrumentation {pull}2489\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2489\"\u003e#2489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix contrib/opentelemetry set_status to match base signature {pull}2457\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2457\"\u003e#2457\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e[[release-notes-6.24.0]]\n==== 6.24.0 - 2025-08-12\u003c/p\u003e\n\u003cp\u003e[float]\n===== Features\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for recent sanic versions {pull}2190\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2190\"\u003e#2190\u003c/a\u003e, {pull}2194\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2194\"\u003e#2194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake server certificate verification mandatory in fips mode {pull}2227\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2227\"\u003e#2227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support Python 3.13 {pull}2216\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2216\"\u003e#2216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for azure-data-tables package for azure instrumentation {pull}2187\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2187\"\u003e#2187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd span links from SNS messages {pull}2363\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2363\"\u003e#2363\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e[float]\n===== Bug fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix psycopg2 cursor execute and executemany signatures {pull}2331\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2331\"\u003e#2331\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix psycopg cursor execute and executemany signatures {pull}2332\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2332\"\u003e#2332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix asgi middleware distributed tracing {pull}2334\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2334\"\u003e#2334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typing of start in Span / capture_span to float {pull}2335\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2335\"\u003e#2335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix azure instrumentation client_class and metrics sets invocation {pull}2337\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2337\"\u003e#2337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix mysql_connector instrumentation connection retrieval {pull}2344\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2344\"\u003e#2344\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove spurious Django QuerySet evaluation in case of database errors {pull}2158\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2158\"\u003e#2158\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e[[release-notes-6.23.0]]\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/elastic/apm-agent-python/commit/f425c427ba226aa64a80d6582a43fd5ce175366f\"\u003e\u003ccode\u003ef425c42\u003c/code\u003e\u003c/a\u003e update CHANGELOG and bump version to 6.25.0 (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2518\"\u003e#2518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/apm-agent-python/commit/d962042ee6e7a7f9892e9fdfd2190f12598e0c58\"\u003e\u003ccode\u003ed962042\u003c/code\u003e\u003c/a\u003e build(deps): bump alpine from \u003ccode\u003e51183f2\u003c/code\u003e to \u003ccode\u003e865b95f\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2514\"\u003e#2514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/apm-agent-python/commit/cf6fbf2ecbdd4ee3165413ce5a56d45eccffbe39\"\u003e\u003ccode\u003ecf6fbf2\u003c/code\u003e\u003c/a\u003e elasticapm: introduce ELASTIC_APM_SKIP_SERVER_INFO (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2516\"\u003e#2516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/apm-agent-python/commit/43f4deb8aca228877480c9e8b62696aea7883dce\"\u003e\u003ccode\u003e43f4deb\u003c/code\u003e\u003c/a\u003e updated the \u003cstrong\u003eall\u003c/strong\u003e section to include all  22 publicly exposed varia… (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2504\"\u003e#2504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/apm-agent-python/commit/f8425150306e56179b6a714c304b936f42768b91\"\u003e\u003ccode\u003ef842515\u003c/code\u003e\u003c/a\u003e chore: deps(updatecli): Bump updatecli version to v0.112.0 (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2510\"\u003e#2510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/apm-agent-python/commit/f5a12f8f301360a8a50234be65bf5a588d643c0a\"\u003e\u003ccode\u003ef5a12f8\u003c/code\u003e\u003c/a\u003e tornado: handle behaviour change in request.headers protocol (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2512\"\u003e#2512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/apm-agent-python/commit/bbaa3bbd5fd4ca1e10eb31cf997413c7bd4581c6\"\u003e\u003ccode\u003ebbaa3bb\u003c/code\u003e\u003c/a\u003e build(deps): bump wolfi/chainguard-base from \u003ccode\u003e1038c51\u003c/code\u003e to \u003ccode\u003e2b179e1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2508\"\u003e#2508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/apm-agent-python/commit/648084b779dbff43858e6d05aff10ca2c9afb9ae\"\u003e\u003ccode\u003e648084b\u003c/code\u003e\u003c/a\u003e build(deps): bump wolfi/chainguard-base from \u003ccode\u003e2539782\u003c/code\u003e to \u003ccode\u003e1038c51\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2507\"\u003e#2507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/apm-agent-python/commit/1750a1dcb9887965c8c85ed815ff7b86b5f62270\"\u003e\u003ccode\u003e1750a1d\u003c/code\u003e\u003c/a\u003e chore: deps(updatecli): Bump updatecli version to v0.111.0 (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2505\"\u003e#2505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/apm-agent-python/commit/30c4075a7342efbe61c2f7085d93bfbceb75daf2\"\u003e\u003ccode\u003e30c4075\u003c/code\u003e\u003c/a\u003e build(deps): bump alpine from \u003ccode\u003e4b7ce07\u003c/code\u003e to \u003ccode\u003e51183f2\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/elastic/apm-agent-python/issues/2503\"\u003e#2503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/apm-agent-python/compare/v6.23.0...v6.25.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elasticsearch` from 8.6.1 to 8.19.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/elasticsearch-py/releases\"\u003eelasticsearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.19.3\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInstrument ping with OTel (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake positional arguments in DSL generated classes explicit (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3233\"\u003e#3233\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eES|QL query builder: fix missing assignment (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3151\"\u003e#3151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse relative imports to fix \u003ccode\u003eelasticsearch9\u003c/code\u003e package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3232\"\u003e#3232\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eindices.delete_data_stream_options\u003c/code\u003e, \u003ccode\u003eindices.get_data_stream_options\u003c/code\u003e and \u003ccode\u003eindices.put_data_stream_options\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003etransform.get_node_stats\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequests_per_second\u003c/code\u003e argument to \u003ccode\u003edelete_by_query_rethrottle\u003c/code\u003e, \u003ccode\u003ereindex_rethrottle\u003c/code\u003e and \u003ccode\u003eupdate_by_query_rethrottle\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eallow_closed\u003c/code\u003e, \u003ccode\u003eallow_no_indices\u003c/code\u003e, \u003ccode\u003eexpand_wildcards\u003c/code\u003e, \u003ccode\u003eignore_throttled\u003c/code\u003e and \u003ccode\u003eignore_available\u003c/code\u003e arguments to \u003ccode\u003ecat.segments\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eid\u003c/code\u003e argument to \u003ccode\u003eml.stop_trained_model_deployment\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.19.2\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eflush_after_seconds\u003c/code\u003e option to \u003ccode\u003estreaming_bulk()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3064\"\u003e#3064\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDSL: support passing inner documents as \u003ccode\u003eAttrDict\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3080\"\u003e#3080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDSL: add some recently added field classes as top-level exports for the package (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3078\"\u003e#3078\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003estreams\u003c/code\u003e namespace with \u003ccode\u003estreams.logs_disable\u003c/code\u003e, \u003ccode\u003estreams.logs_enable\u003c/code\u003e, \u003ccode\u003estreams.status\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eindices.get_data_stream_settings\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eindices.put_data_stream_settings\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ebytes\u003c/code\u003e and \u003ccode\u003etime\u003c/code\u003e parameters to various APIs in the \u003ccode\u003ecat\u003c/code\u003e namespace.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eindex_template\u003c/code\u003e parameter to \u003ccode\u003eindices.simulate_index_template\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003einput_type\u003c/code\u003e parameter to \u003ccode\u003einference.text_embedding\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eRemoved unsupported \u003ccode\u003esize\u003c/code\u003e parameter from \u003ccode\u003ereindex\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDSL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew \u003ccode\u003eCartesianBounds\u003c/code\u003e, \u003ccode\u003eCartesianCentroid\u003c/code\u003e, \u003ccode\u003eChangePoint\u003c/code\u003e aggregations\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ep_value\u003c/code\u003e parameter to \u003ccode\u003eSignificantTerms\u003c/code\u003e aggregation\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efields\u003c/code\u003e parameter to \u003ccode\u003eSemanticText\u003c/code\u003e field\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 3.14 to CI builds (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3103\"\u003e#3103\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/elastic/elasticsearch-py/commit/c686c6a958f221a2e601440901f25b87a11caaca\"\u003e\u003ccode\u003ec686c6a\u003c/code\u003e\u003c/a\u003e Release 8.19.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3248\"\u003e#3248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b4fda8987785f95897be79378da2bb4cc826b40c\"\u003e\u003ccode\u003eb4fda89\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3244\"\u003e#3244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/8830242d49192d5ec546af6863621747bfcffe77\"\u003e\u003ccode\u003e8830242\u003c/code\u003e\u003c/a\u003e Fix recursive errors generated in transport test (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3240\"\u003e#3240\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3241\"\u003e#3241\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/d9dd6ff581104ce7cffefb3bfc05b1213483f450\"\u003e\u003ccode\u003ed9dd6ff\u003c/code\u003e\u003c/a\u003e explicit positional arguments in DSL generated classes (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3233\"\u003e#3233\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3237\"\u003e#3237\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/0b488f04de97da0eeae22abbad6ad6870266c6d9\"\u003e\u003ccode\u003e0b488f0\u003c/code\u003e\u003c/a\u003e Use relative imports to fix elasticsearch9 package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3232\"\u003e#3232\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3236\"\u003e#3236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/d02d20e6142112548475fda7c97109e7e0423883\"\u003e\u003ccode\u003ed02d20e\u003c/code\u003e\u003c/a\u003e Auto-generated code for 8.19 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3223\"\u003e#3223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/1e4cea0c538417df252bec83b29c97fc2b0f79e2\"\u003e\u003ccode\u003e1e4cea0\u003c/code\u003e\u003c/a\u003e [Backport 8.19] Add warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3212\"\u003e#3212\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3215\"\u003e#3215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/367c5f2286d89dc753b325a54355143a683b0542\"\u003e\u003ccode\u003e367c5f2\u003c/code\u003e\u003c/a\u003e Bumps stack to version 8.19.9-SNAPSHOT (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3220\"\u003e#3220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/5e8f23c86918fe30e4af7792dfce7098e819e1ed\"\u003e\u003ccode\u003e5e8f23c\u003c/code\u003e\u003c/a\u003e Bumps stack to version 8.19.8-SNAPSHOT (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3210\"\u003e#3210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/3a7574acea839d91794bdb190ba46b35339a9292\"\u003e\u003ccode\u003e3a7574a\u003c/code\u003e\u003c/a\u003e Add global variable support to YAML test expression parser (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3196\"\u003e#3196\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3202\"\u003e#3202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/elasticsearch-py/compare/v8.6.1...v8.19.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 2.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.3\u003c/h2\u003e\n\u003cp\u003eThis is a fix release for the 2.3.x feature branch.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChanges: \u003ca href=\"https://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-3\"\u003ehttps://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-3\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/31?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/31?closed=1\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.2\u003c/h2\u003e\n\u003cp\u003eThis is a security fix release for the 2.3.x release branch.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity advisory: \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-m2qf-hxjv-5gpq\"\u003ehttps://github.com/pallets/flask/security/advisories/GHSA-m2qf-hxjv-5gpq\u003c/a\u003e, CVE-2023-30861\u003c/li\u003e\n\u003cli\u003eChanges: \u003ca href=\"https://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-2\"\u003ehttps://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/29?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/29?closed=1\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.1\u003c/h2\u003e\n\u003cp\u003eThis is a fix release for the 2.3.x release branch.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChanges: \u003ca href=\"https://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-1\"\u003ehttps://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-1\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/28?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/28?closed=1\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003cp\u003eThis is a feature release, which includes new features, removes previously deprecated code, and adds new deprecations. The 2.3.x branch is now the supported fix branch, the 2.2.x branch will become a tag marking the end of support for that branch. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChanges: \u003ca href=\"https://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-0\"\u003ehttps://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-0\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/24?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/24?closed=1\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.3.3\u003c/h2\u003e\n\u003cp\u003eReleased 2023-08-21\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.12 compatibility.\u003c/li\u003e\n\u003cli\u003eRequire Werkzeug \u0026gt;= 2.3.7.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eflit_core\u003c/code\u003e instead of \u003ccode\u003esetuptools\u003c/code\u003e as build backend.\u003c/li\u003e\n\u003cli\u003eRefactor how an app's root and instance paths are determined. :issue:\u003ccode\u003e5160\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.3.2\u003c/h2\u003e\n\u003cp\u003eReleased 2023-05-01\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSet \u003ccode\u003eVary: Cookie\u003c/code\u003e header when the session is accessed, modified, or refreshed.\u003c/li\u003e\n\u003cli\u003eUpdate Werkzeug requirement to \u0026gt;=2.3.3 to apply recent bug fixes.\n:ghsa:\u003ccode\u003em2qf-hxjv-5gpq\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2023-04-25\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRestore deprecated \u003ccode\u003efrom flask import Markup\u003c/code\u003e. :issue:\u003ccode\u003e5084\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2023-04-25\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop support for Python 3.7. :pr:\u003ccode\u003e5072\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate minimum requirements to the latest versions: Werkzeug\u0026gt;=2.3.0, Jinja2\u0026gt;3.1.2,\nitsdangerous\u0026gt;=2.1.2, click\u0026gt;=8.1.3.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove previously deprecated code. :pr:\u003ccode\u003e4995\u003c/code\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003epush\u003c/code\u003e and \u003ccode\u003epop\u003c/code\u003e methods of the deprecated \u003ccode\u003e_app_ctx_stack\u003c/code\u003e and\n\u003ccode\u003e_request_ctx_stack\u003c/code\u003e objects are removed. \u003ccode\u003etop\u003c/code\u003e still exists to give\nextensions more time to update, but it will be removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eFLASK_ENV\u003c/code\u003e environment variable, \u003ccode\u003eENV\u003c/code\u003e config key, and \u003ccode\u003eapp.env\u003c/code\u003e\nproperty are removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003esession_cookie_name\u003c/code\u003e, \u003ccode\u003esend_file_max_age_default\u003c/code\u003e, \u003ccode\u003euse_x_sendfile\u003c/code\u003e,\n\u003ccode\u003epropagate_exceptions\u003c/code\u003e, and \u003ccode\u003etemplates_auto_reload\u003c/code\u003e properties on \u003ccode\u003eapp\u003c/code\u003e\nare removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eJSON_AS_ASCII\u003c/code\u003e, \u003ccode\u003eJSON_SORT_KEYS\u003c/code\u003e, \u003ccode\u003eJSONIFY_MIMETYPE\u003c/code\u003e, and\n\u003ccode\u003eJSONIFY_PRETTYPRINT_REGULAR\u003c/code\u003e config keys are removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eapp.before_first_request\u003c/code\u003e and \u003ccode\u003ebp.before_app_first_request\u003c/code\u003e decorators\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/pallets/flask/commit/3205b53c7cf69d17fee49cac6b84978175b7dd73\"\u003e\u003ccode\u003e3205b53\u003c/code\u003e\u003c/a\u003e release version 2.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/9f9550247a2798b9dcc28081c15e266442f4e28a\"\u003e\u003ccode\u003e9f95502\u003c/code\u003e\u003c/a\u003e bump werkzeug 2.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/02736640095ed6d5a4a409a9658eaca373fd1d48\"\u003e\u003ccode\u003e0273664\u003c/code\u003e\u003c/a\u003e Update dispatch by path example (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5217\"\u003e#5217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/a887e179b8af6a9c582a7918f9f8499ab58032cc\"\u003e\u003ccode\u003ea887e17\u003c/code\u003e\u003c/a\u003e clean up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/aa6d4c3e92bd11a7d449f49f524e54bbb88b89c0\"\u003e\u003ccode\u003eaa6d4c3\u003c/code\u003e\u003c/a\u003e update dispatch-by-path example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/826514b8eb18f6c314cf566630253d35c89e42c3\"\u003e\u003ccode\u003e826514b\u003c/code\u003e\u003c/a\u003e fix flake8 bugbear findings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/6d266f63633f5f127165d4ef836db14a59bbc106\"\u003e\u003ccode\u003e6d266f6\u003c/code\u003e\u003c/a\u003e Pass maxsplit via kwarg to re.split (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5215\"\u003e#5215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/17e146ad949b3d80438faf95e81b53c543cb50f5\"\u003e\u003ccode\u003e17e146a\u003c/code\u003e\u003c/a\u003e Pass maxsplit via kwarg to re.split\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/8a72b741616556b4f739ea79ab502c2d2038844a\"\u003e\u003ccode\u003e8a72b74\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5211\"\u003e#5211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/7255be9626ab56d81bc0ab86db939fcc1da9bca1\"\u003e\u003ccode\u003e7255be9\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/2.2.5...2.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask-caching` from 2.0.2 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets-eco/flask-caching/releases\"\u003eflask-caching's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/blob/v2.3.1/CHANGES.rst\"\u003ehttps://github.com/pallets-eco/flask-caching/blob/v2.3.1/CHANGES.rst\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/blob/v2.1.0/CHANGES.rst\"\u003ehttps://github.com/pallets-eco/flask-caching/blob/v2.1.0/CHANGES.rst\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/blob/v2.1.0/CHANGES.rst\"\u003ehttps://github.com/pallets-eco/flask-caching/blob/v2.1.0/CHANGES.rst\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.1.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/blob/v2.1.0/CHANGES.rst\"\u003ehttps://github.com/pallets-eco/flask-caching/blob/v2.1.0/CHANGES.rst\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/pallets-eco/flask-caching/blob/master/CHANGES.rst\"\u003eflask-caching's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-02-22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelax cachelib version to allow latest releases\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-05-04\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eresponse_hit_indication\u003c/code\u003e flag to \u003ccode\u003eCache.cached\u003c/code\u003e decorator for appending 'hit_cache' headers to responses, indicating cache hits.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop python 3.7 support\u003c/li\u003e\n\u003cli\u003epython 3.11 officially supported\u003c/li\u003e\n\u003cli\u003eFix issue causing \u003ccode\u003eargs_to_ignore\u003c/code\u003e to not work with \u003ccode\u003eflask_caching.Cache.memoize\u003c/code\u003e decorator when keyword arguments were used in the decorated function call\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-10-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix type signature in \u003ccode\u003eflask_caching.utils.make_template_fragment_key\u003c/code\u003e. :pr:\u003ccode\u003e430\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdded docs and example for make_cache_key\u003c/li\u003e\n\u003cli\u003esupport Flask 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/e59bc040cd47cd2b43e501d636d43d442c50b3ff\"\u003e\u003ccode\u003ee59bc04\u003c/code\u003e\u003c/a\u003e release 2.3.1 (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/023491c1c44d03baafce2231d6532493bb945711\"\u003e\u003ccode\u003e023491c\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.10.0 to 1.11.1 in /requirements (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/580\"\u003e#580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/b786b9f9b7521ece065d8e202700fe2d1c1d5fd4\"\u003e\u003ccode\u003eb786b9f\u003c/code\u003e\u003c/a\u003e Bump pytest from 8.2.0 to 8.3.2 in /requirements (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/582\"\u003e#582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/20a8afdcb53da9725467e4ab2788cb9851f39c9c\"\u003e\u003ccode\u003e20a8afd\u003c/code\u003e\u003c/a\u003e Bump redis from 5.0.4 to 5.0.8 in /requirements (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/581\"\u003e#581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/33d673d89a644dba7716b65bf09e47046b33d6d6\"\u003e\u003ccode\u003e33d673d\u003c/code\u003e\u003c/a\u003e Bump tox from 4.15.0 to 4.16.0 in /requirements (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/3dddd9265879974d5e556704e44ef1c6cc09ce4d\"\u003e\u003ccode\u003e3dddd92\u003c/code\u003e\u003c/a\u003e Bump sphinx from 7.3.7 to 8.0.2 in /requirements (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/585\"\u003e#585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/5dffcf336042beb929d30a05647798ee4b3de6ab\"\u003e\u003ccode\u003e5dffcf3\u003c/code\u003e\u003c/a\u003e Bump pytest-asyncio from 0.23.7 to 0.23.8 in /requirements (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/b44676c4bf341493cd51cde7d3f82d1fcd7a0f6a\"\u003e\u003ccode\u003eb44676c\u003c/code\u003e\u003c/a\u003e Bump certifi from 2024.2.2 to 2024.7.4 in /requirements (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/578\"\u003e#578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/8d3e312615e2c2740f97e225e639bc61c8818edb\"\u003e\u003ccode\u003e8d3e312\u003c/code\u003e\u003c/a\u003e Bump types-redis from 4.6.0.20240425 to 4.6.0.20240726 in /requirements (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/584\"\u003e#584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/flask-caching/commit/7a14296cf2f9c72f760297fbc4d531b5c6c1dd46\"\u003e\u003ccode\u003e7a14296\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.2.1 to 2.2.2 in /requirements (\u003ca href=\"https://redirect.github.com/pallets-eco/flask-caching/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets-eco/flask-caching/compare/v2.0.2...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prometheus-client` from 0.17.1 to 0.24.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prometheus/client_python/releases\"\u003eprometheus-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.24.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Django] Pass correct registry to MultiProcessCollector by \u003ca href=\"https://github.com/jelly\"\u003e\u003ccode\u003e@​jelly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1152\"\u003eprometheus/client_python#1152\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd an AIOHTTP exporter by \u003ca href=\"https://github.com/Lexicality\"\u003e\u003ccode\u003e@​Lexicality\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1139\"\u003eprometheus/client_python#1139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd remove_matching() method for metric label deletion by \u003ca href=\"https://github.com/hazel-shen\"\u003e\u003ccode\u003e@​hazel-shen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1121\"\u003eprometheus/client_python#1121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(multiprocess): avoid double-building child metric names (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1035\"\u003e#1035\u003c/a\u003e) by \u003ca href=\"https://github.com/hazel-shen\"\u003e\u003ccode\u003e@​hazel-shen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1146\"\u003eprometheus/client_python#1146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't interleave histogram metrics in multi-process collector by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1148\"\u003eprometheus/client_python#1148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax registry type annotations for exposition by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1149\"\u003eprometheus/client_python#1149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded compression support in pushgateway by \u003ca href=\"https://github.com/ritesh-avesha\"\u003e\u003ccode\u003e@​ritesh-avesha\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1144\"\u003eprometheus/client_python#1144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Django exporter (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1088\"\u003e#1088\u003c/a\u003e) by \u003ca href=\"https://github.com/Chadys\"\u003e\u003ccode\u003e@​Chadys\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1143\"\u003eprometheus/client_python#1143\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_python/compare/v0.23.1...v0.24.0\"\u003ehttps://github.com/prometheus/client_python/compare/v0.23.1...v0.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.23.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: use tuples instead of packaging Version by \u003ca href=\"https://github.com/efiop\"\u003e\u003ccode\u003e@​efiop\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1136\"\u003eprometheus/client_python#1136\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/efiop\"\u003e\u003ccode\u003e@​efiop\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1136\"\u003eprometheus/client_python#1136\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_python/compare/v0.23.0...v0.23.1\"\u003ehttps://github.com/prometheus/client_python/compare/v0.23.0...v0.23.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUTF-8 Content Negotiation by \u003ca href=\"https://github.com/ywwg\"\u003e\u003ccode\u003e@​ywwg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1102\"\u003eprometheus/client_python#1102\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe include test data by \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1113\"\u003eprometheus/client_python#1113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove parser performance by \u003ca href=\"https://github.com/csmarchbanks\"\u003e\u003ccode\u003e@​csmarchbanks\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1117\"\u003eprometheus/client_python#1117\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support to \u003ccode\u003ewrite_to_textfile\u003c/code\u003e for custom tmpdir by \u003ca href=\"https://github.com/aadityadhruv\"\u003e\u003ccode\u003e@​aadityadhruv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1115\"\u003eprometheus/client_python#1115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOM text exposition for NH by \u003ca href=\"https://github.com/vesari\"\u003e\u003ccode\u003e@​vesari\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1087\"\u003eprometheus/client_python#1087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix bug which caused metric publishing to not accept query string parameters in ASGI app by \u003ca href=\"https://github.com/hacksparr0w\"\u003e\u003ccode\u003e@​hacksparr0w\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1125\"\u003eprometheus/client_python#1125\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmit native histograms only when OM 2.0.0 is requested by \u003ca href=\"https://github.com/vesari\"\u003e\u003ccode\u003e@​vesari\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1128\"\u003eprometheus/client_python#1128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove space after comma in openmetrics exposition by \u003ca href=\"https://github.com/theSuess\"\u003e\u003ccode\u003e@​theSuess\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1132\"\u003eprometheus/client_python#1132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix issue parsing double spaces after # HELP/# TYPE by \u003ca href=\"https://github.com/csmarchbanks\"\u003e\u003ccode\u003e@​csmarchbanks\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1134\"\u003eprometheus/client_python#1134\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/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1113\"\u003eprometheus/client_python#1113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aadityadhruv\"\u003e\u003ccode\u003e@​aadityadhruv\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1115\"\u003eprometheus/client_python#1115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hacksparr0w\"\u003e\u003ccode\u003e@​hacksparr0w\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1125\"\u003eprometheus/client_python#1125\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theSuess\"\u003e\u003ccode\u003e@​theSuess\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1132\"\u003eprometheus/client_python#1132\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_python/compare/v0.22.1...v0.23.0\"\u003ehttps://github.com/prometheus/client_python/compare/v0.22.1...v0.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.22.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugFix: Skip validating and parsing comment lines early (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1108\"\u003e#1108\u003c/a\u003e) by \u003ca href=\"https://github.com/wissamir\"\u003e\u003ccode\u003e@​wissamir\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1109\"\u003eprometheus/client_python#1109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse License Expressions in pyproject.toml by \u003ca href=\"https://github.com/csmarchbanks\"\u003e\u003ccode\u003e@​csmarchbanks\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/prometheus/client_python/pull/1111\"\u003eprometheus/client_python#1111\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prometheus/client_python/compare/v0.22.0...v0.22.1\"\u003ehttps://github.com/prometheus/client_python/compare/v0.22.0...v0.22.1\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/prometheus/client_python/commit/f417f6ea8f058165a1934e368fed245e91aafc14\"\u003e\u003ccode\u003ef417f6e\u003c/code\u003e\u003c/a\u003e Release 0.24.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_python/commit/6f0e967c1f7a408b75861d6833a8d303874be95d\"\u003e\u003ccode\u003e6f0e967\u003c/code\u003e\u003c/a\u003e Pass correct registry to MultiProcessCollector (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1152\"\u003e#1152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_python/commit/c5024d310fbfcba45a5e9db62e337a3a7930ea16\"\u003e\u003ccode\u003ec5024d3\u003c/code\u003e\u003c/a\u003e Release 0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_python/commit/e1cdc203b1cf5f15c7b9a64d79fccc7907a62ca3\"\u003e\u003ccode\u003ee1cdc20\u003c/code\u003e\u003c/a\u003e Add Django exporter (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1088\"\u003e#1088\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1143\"\u003e#1143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_python/commit/7b9959209492c06968785c66bc6ea2316d156f91\"\u003e\u003ccode\u003e7b99592\u003c/code\u003e\u003c/a\u003e Added compression support in pushgateway (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1144\"\u003e#1144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_python/commit/13df12421e1ba9c621246b9084229e24fda4074e\"\u003e\u003ccode\u003e13df124\u003c/code\u003e\u003c/a\u003e Relax registry type annotations for exposition (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1149\"\u003e#1149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_python/commit/a264ec0d85600decfb0681d00ed1566186bebfb3\"\u003e\u003ccode\u003ea264ec0\u003c/code\u003e\u003c/a\u003e Don't interleave histogram metrics in multi-process collector (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1148\"\u003e#1148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_python/commit/e8f8bae6554de11ebffffcc878ab19abd67528f2\"\u003e\u003ccode\u003ee8f8bae\u003c/code\u003e\u003c/a\u003e fix(multiprocess): avoid double-building child metric names (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1035\"\u003e#1035\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1146\"\u003e#1146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_python/commit/1783ca87acbed1d45ebaa124b7b22244f9c9c2e8\"\u003e\u003ccode\u003e1783ca8\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1142\"\u003e#1142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prometheus/client_python/commit/378510b8ae91d23383cd1c7e0be180b374a1c84c\"\u003e\u003ccode\u003e378510b\u003c/code\u003e\u003c/a\u003e Add remove_matching() method for metric label deletion (\u003ca href=\"https://redirect.github.com/prometheus/client_python/issues/1121\"\u003e#1121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prometheus/client_python/compare/v0.17.1...v0.24.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyjwt` from 2.6.0 to 2.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jpadilla/pyjwt/releases\"\u003epyjwt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.11.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed type error in comment by \u003ca href=\"https://github.com/shuhaib-aot\"\u003e\u003ccode\u003e@​shuhaib-aot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1026\"\u003ejpadilla/pyjwt#1026\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1018\"\u003ejpadilla/pyjwt#1018\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1033\"\u003ejpadilla/pyjwt#1033\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake note of use of leeway with nbf by \u003ca href=\"https://github.com/djw8605\"\u003e\u003ccode\u003e@​djw8605\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1034\"\u003ejpadilla/pyjwt#1034\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1035\"\u003ejpadilla/pyjwt#1035\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/964\"\u003e#964\u003c/a\u003e: Validate key against allowed types for Algorithm family by \u003ca href=\"https://github.com/pachewise\"\u003e\u003ccode\u003e@​pachewise\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/985\"\u003ejpadilla/pyjwt#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1024\"\u003e#1024\u003c/a\u003e: Add iterator for PyJWKSet by \u003ca href=\"https://github.com/pachewise\"\u003e\u003ccode\u003e@​pachewise\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1041\"\u003ejpadilla/pyjwt#1041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1039\"\u003e#1039\u003c/a\u003e: Add iss, issuer type checks by \u003ca href=\"https://github.com/pachewise\"\u003e\u003ccode\u003e@​pachewise\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1040\"\u003ejpadilla/pyjwt#1040\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/660\"\u003e#660\u003c/a\u003e: Improve typing/logic for \u003ccode\u003eoptions\u003c/code\u003e in decode, decode_complete; Improve docs by \u003ca href=\"https://github.com/pachewise\"\u003e\u003ccode\u003e@​pachewise\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1045\"\u003ejpadilla/pyjwt#1045\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1042\"\u003ejpadilla/pyjwt#1042\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1052\"\u003ejpadilla/pyjwt#1052\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1053\"\u003ejpadilla/pyjwt#1053\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1022\"\u003e#1022\u003c/a\u003e: Map \u003ccode\u003ealgorithm=None\u003c/code\u003e to \u0026quot;none\u0026quot; by \u003ca href=\"https://github.com/qqii\"\u003e\u003ccode\u003e@​qqii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1056\"\u003ejpadilla/pyjwt#1056\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1055\"\u003ejpadilla/pyjwt#1055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1058\"\u003ejpadilla/pyjwt#1058\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1060\"\u003ejpadilla/pyjwt#1060\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1061\"\u003ejpadilla/pyjwt#1061\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1047\"\u003e#1047\u003c/a\u003e: Correct \u003ccode\u003ePyJWKClient.get_signing_key_from_jwt\u003c/code\u003e annotation  by \u003ca href=\"https://github.com/khvn26\"\u003e\u003ccode\u003e@​khvn26\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1048\"\u003ejpadilla/pyjwt#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1062\"\u003ejpadilla/pyjwt#1062\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed doc string typo in _validate_jti() function \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1063\"\u003e#1063\u003c/a\u003e by \u003ca href=\"https://github.com/kuldeepkhatke\"\u003e\u003ccode\u003e@​kuldeepkhatke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1064\"\u003ejpadilla/pyjwt#1064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1065\"\u003ejpadilla/pyjwt#1065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate SECURITY.md by \u003ca href=\"https://github.com/auvipy\"\u003e\u003ccode\u003e@​auvipy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1057\"\u003ejpadilla/pyjwt#1057\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTyping fix: use \u003ccode\u003efloat\u003c/code\u003e instead of \u003ccode\u003eint\u003c/code\u003e for \u003ccode\u003elifespan\u003c/code\u003e and \u003ccode\u003etimeout\u003c/code\u003e by \u003ca href=\"https://github.com/nikitagashkov\"\u003e\u003ccode\u003e@​nikitagashkov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1068\"\u003ejpadilla/pyjwt#1068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1067\"\u003ejpadilla/pyjwt#1067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1071\"\u003ejpadilla/pyjwt#1071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1076\"\u003ejpadilla/pyjwt#1076\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix TYP header documentation by \u003ca href=\"https://github.com/fobiasmog\"\u003e\u003ccode\u003e@​fobiasmog\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1046\"\u003ejpadilla/pyjwt#1046\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: Document claims sub and jti by \u003ca href=\"https://github.com/cleder\"\u003e\u003ccode\u003e@​cleder\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1088\"\u003ejpadilla/pyjwt#1088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1077\"\u003ejpadilla/pyjwt#1077\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/jpadilla/pyjwt/pull/1089\"\u003ejpadilla/pyjwt#1089\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/stale from 8 to 10 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/jpadilla/pyjwt/pull/1090\"\u003ejpadilla/pyjwt#1090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1083\"\u003ejpadilla/pyjwt#1083\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1091\"\u003ejpadilla/pyjwt#1091\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1093\"\u003ejpadilla/pyjwt#1093\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1096\"\u003ejpadilla/pyjwt#1096\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve package build warnings by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1105\"\u003ejpadilla/pyjwt#1105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport Python 3.14, and test against PyPy 3.10+ by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1104\"\u003ejpadilla/pyjwt#1104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix a \u003ccode\u003eSyntaxWarning\u003c/code\u003e caused by invalid escape sequences by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1103\"\u003ejpadilla/pyjwt#1103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStandardize CHANGELOG links to PRs by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1110\"\u003ejpadilla/pyjwt#1110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from \u003ccode\u003epep517\u003c/code\u003e, which is deprecated, to \u003ccode\u003ebuild\u003c/code\u003e by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode...\n\n_Description has been truncated_","html_url":"https://github.com/CybercentreCanada/howler/pull/171","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/CybercentreCanada%2Fhowler/issues/171","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/171/packages"}},{"old_version":"0.34.0","new_version":"0.35.0","update_type":"minor","path":null,"pr_created_at":"2026-02-02T12:16:45.000Z","version_change":"0.34.0 → 0.35.0","issue":{"uuid":"3885622134","node_id":"PR_kwDOQmboGc7A5fFl","number":22,"state":"closed","title":"chore(deps)(deps): bump the python-minor-patch group across 1 directory with 49 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["KyaRhamil"],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-02-09T01:17:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-02T12:16:45.000Z","updated_at":"2026-02-09T01:17:04.000Z","time_to_close":565218,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"python-minor-patch","update_count":49,"packages":[{"name":"flask","old_version":"3.0.3","new_version":"3.1.2","repository_url":"https://github.com/pallets/flask"},{"name":"flask-cors","old_version":"6.0.0","new_version":"6.0.2","repository_url":"https://github.com/corydolphin/flask-cors"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"numpy","old_version":"2.1.3","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"joblib","old_version":"1.4.2","new_version":"1.5.3","repository_url":"https://github.com/joblib/joblib"},{"name":"scipy","old_version":"1.14.1","new_version":"1.17.0","repository_url":"https://github.com/scipy/scipy"},{"name":"apscheduler","old_version":"3.10.4","new_version":"3.11.2","repository_url":"https://github.com/agronholm/apscheduler"},{"name":"celery","old_version":"5.4.0","new_version":"5.6.2","repository_url":"https://github.com/celery/celery"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"sqlalchemy","old_version":"2.0.35","new_version":"2.0.46","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"alembic","old_version":"1.13.3","new_version":"1.18.3","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"matplotlib","old_version":"3.9.2","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"pyjwt","old_version":"2.9.0","new_version":"2.11.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"email-validator","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/JoshData/python-email-validator"},{"name":"flask-compress","old_version":"1.15","new_version":"1.23","repository_url":"https://github.com/colour-science/flask-compress"},{"name":"flask-caching","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/pallets-eco/flask-caching"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"prometheus-flask-exporter","old_version":"0.23.1","new_version":"0.23.2","repository_url":"https://github.com/rycus86/prometheus_flask_exporter"},{"name":"sentry-sdk","old_version":"2.18.0","new_version":"2.51.0"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.67.2","repository_url":"https://github.com/tqdm/tqdm"},{"name":"openmeteo-requests","old_version":"1.2.0","new_version":"1.7.5","repository_url":"https://github.com/open-meteo/python-requests"},{"name":"beautifulsoup4","old_version":"4.12.3","new_version":"4.14.3"},{"name":"tabula-py","old_version":"2.9.3","new_version":"2.10.0","repository_url":"https://github.com/chezou/tabula-py"},{"name":"folium","old_version":"0.18.0","new_version":"0.20.0","repository_url":"https://github.com/python-visualization/folium"},{"name":"shapely","old_version":"2.0.6","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"},{"name":"statsmodels","old_version":"0.14.4","new_version":"0.14.6","repository_url":"https://github.com/statsmodels/statsmodels"},{"name":"prophet","old_version":"1.1.6","new_version":"1.3.0","repository_url":"https://github.com/facebook/prophet"},{"name":"graphql-core","old_version":"3.2.5","new_version":"3.2.7","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"earthengine-api","old_version":"1.4.3","new_version":"1.7.10","repository_url":"https://github.com/google/earthengine-api"},{"name":"google-cloud-bigquery","old_version":"3.27.0","new_version":"3.40.0","repository_url":"https://github.com/googleapis/python-bigquery"},{"name":"google-auth","old_version":"2.37.0","new_version":"2.48.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-auth-oauthlib","old_version":"1.2.1","new_version":"1.2.4","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib"},{"name":"google-auth-httplib2","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2"},{"name":"jupyter","old_version":"1.0.0","new_version":"1.1.1"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-xdist","old_version":"3.5.0","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"responses","old_version":"0.24.1","new_version":"0.25.8","repository_url":"https://github.com/getsentry/responses"},{"name":"httpx","old_version":"0.25.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"locust","old_version":"2.20.1","new_version":"2.43.2","repository_url":"https://github.com/locustio/locust"},{"name":"bandit","old_version":"1.7.6","new_version":"1.9.3","repository_url":"https://github.com/PyCQA/bandit"},{"name":"safety","old_version":"3.2.0","new_version":"3.7.0","repository_url":"https://github.com/pyupio/safety"},{"name":"pip-audit","old_version":"2.7.3","new_version":"2.10.0","repository_url":"https://github.com/pypa/pip-audit"},{"name":"coverage","old_version":"7.6.0","new_version":"7.13.2","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"coverage-badge","old_version":"1.1.0","new_version":"1.1.2","repository_url":"https://github.com/dbrgn/coverage-badge"},{"name":"pytest-html","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/pytest-dev/pytest-html"},{"name":"google-cloud-bigquery-storage","old_version":"2.27.0","new_version":"2.36.0","repository_url":"https://github.com/googleapis/google-cloud-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 49 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `3.0.3` | `3.1.2` |\n| [flask-cors](https://github.com/corydolphin/flask-cors) | `6.0.0` | `6.0.2` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [numpy](https://github.com/numpy/numpy) | `2.1.3` | `2.4.2` |\n| [joblib](https://github.com/joblib/joblib) | `1.4.2` | `1.5.3` |\n| [scipy](https://github.com/scipy/scipy) | `1.14.1` | `1.17.0` |\n| [apscheduler](https://github.com/agronholm/apscheduler) | `3.10.4` | `3.11.2` |\n| [celery](https://github.com/celery/celery) | `5.4.0` | `5.6.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.35` | `2.0.46` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.13.3` | `1.18.3` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.9.2` | `3.10.8` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.9.0` | `2.11.0` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [email-validator](https://github.com/JoshData/python-email-validator) | `2.2.0` | `2.3.0` |\n| [flask-compress](https://github.com/colour-science/flask-compress) | `1.15` | `1.23` |\n| [flask-caching](https://github.com/pallets-eco/flask-caching) | `2.3.0` | `2.3.1` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [prometheus-flask-exporter](https://github.com/rycus86/prometheus_flask_exporter) | `0.23.1` | `0.23.2` |\n| [sentry-sdk[flask]](https://github.com/getsentry/sentry-python) | `2.18.0` | `2.51.0` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.1` | `4.67.2` |\n| [openmeteo-requests](https://github.com/open-meteo/python-requests) | `1.2.0` | `1.7.5` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.12.3` | `4.14.3` |\n| [tabula-py](https://github.com/chezou/tabula-py) | `2.9.3` | `2.10.0` |\n| [folium](https://github.com/python-visualization/folium) | `0.18.0` | `0.20.0` |\n| [shapely](https://github.com/shapely/shapely) | `2.0.6` | `2.1.2` |\n| [statsmodels](https://github.com/statsmodels/statsmodels) | `0.14.4` | `0.14.6` |\n| [prophet](https://github.com/facebook/prophet) | `1.1.6` | `1.3.0` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.5` | `3.2.7` |\n| [earthengine-api](https://github.com/google/earthengine-api) | `1.4.3` | `1.7.10` |\n| [google-cloud-bigquery](https://github.com/googleapis/python-bigquery) | `3.27.0` | `3.40.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.37.0` | `2.48.0` |\n| [google-auth-oauthlib](https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib) | `1.2.1` | `1.2.4` |\n| [google-auth-httplib2](https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2) | `0.2.0` | `0.3.0` |\n| [jupyter](https://jupyter.org) | `1.0.0` | `1.1.1` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.15.1` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.5.0` | `3.8.0` |\n| [responses](https://github.com/getsentry/responses) | `0.24.1` | `0.25.8` |\n| [httpx](https://github.com/encode/httpx) | `0.25.2` | `0.28.1` |\n| [locust](https://github.com/locustio/locust) | `2.20.1` | `2.43.2` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.7.6` | `1.9.3` |\n| [safety](https://github.com/pyupio/safety) | `3.2.0` | `3.7.0` |\n| [pip-audit](https://github.com/pypa/pip-audit) | `2.7.3` | `2.10.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.6.0` | `7.13.2` |\n| [coverage-badge](https://github.com/dbrgn/coverage-badge) | `1.1.0` | `1.1.2` |\n| [pytest-html](https://github.com/pytest-dev/pytest-html) | `4.1.1` | `4.2.0` |\n| [google-cloud-bigquery-storage](https://github.com/googleapis/google-cloud-python) | `2.27.0` | `2.36.0` |\n\n\nUpdates `flask` from 3.0.3 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\n\u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation\nabout resource limits to the security page. :issue:\u003ccode\u003e5625\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the\n\u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. :issue:\u003ccode\u003e5472\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files.\n\u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless\n\u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. :issue:\u003ccode\u003e5628\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old\nsecret keys that can still be used for unsigning. Extensions will need to\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/flask/commit/2c1b30d0503cfb064f1cb252e6614a06915a362a\"\u003e\u003ccode\u003e2c1b30d\u003c/code\u003e\u003c/a\u003e release version 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/1292419ddfc6a14fc7f85b5ed7efcc2d215f1ad3\"\u003e\u003ccode\u003e1292419\u003c/code\u003e\u003c/a\u003e Update GitHub Actions workflow for artifact handling (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5795\"\u003e#5795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4dd52ca9c768c9b6d04180f0547d6f4b6e34f211\"\u003e\u003ccode\u003e4dd52ca\u003c/code\u003e\u003c/a\u003e Update GitHub Actions workflow for artifact handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/55c62556571ee46a94da174643b50ece06edead4\"\u003e\u003ccode\u003e55c6255\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/d8259eb11900285af9b80b0fa47f841174c054e3\"\u003e\u003ccode\u003ed8259eb\u003c/code\u003e\u003c/a\u003e use Jinja name consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/38b4c1e19b50494cfcdc9332899e09b7fed34979\"\u003e\u003ccode\u003e38b4c1e\u003c/code\u003e\u003c/a\u003e refactor stream_with_context for async views (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5799\"\u003e#5799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/9822a0351574790cb66c652fcc396ad7aa2b09d8\"\u003e\u003ccode\u003e9822a03\u003c/code\u003e\u003c/a\u003e refactor stream_with_context for async views\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/49b7e7bc8fb69d605719991d1c0a99fcee689053\"\u003e\u003ccode\u003e49b7e7b\u003c/code\u003e\u003c/a\u003e security docs for TRUSTED_HOSTS (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5798\"\u003e#5798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/b228ca3d87745b746d904a2108429617a814ffda\"\u003e\u003ccode\u003eb228ca3\u003c/code\u003e\u003c/a\u003e security docs for TRUSTED_HOSTS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ff64079a516c269f171ababf3d92b86886a62ffd\"\u003e\u003ccode\u003eff64079\u003c/code\u003e\u003c/a\u003e update flask-talisman link\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.0.3...3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask-cors` from 6.0.0 to 6.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/corydolphin/flask-cors/releases\"\u003eflask-cors's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate license pyproject.toml by \u003ca href=\"https://github.com/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\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/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInvert regex sorting to make it correctly match the intent (sorting by specificity descending) \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1.dev\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\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/corydolphin/flask-cors/commit/fa55dcbec68b3524a39e5057c35c29c221a27d64\"\u003e\u003ccode\u003efa55dcb\u003c/code\u003e\u003c/a\u003e Update license pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/a5003f391e56f74f11a3e509cd180787c75eb6b0\"\u003e\u003ccode\u003ea5003f3\u003c/code\u003e\u003c/a\u003e Fix README file extension in pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/4ad56d6c20252d36031c74ba8386a81e94286f40\"\u003e\u003ccode\u003e4ad56d6\u003c/code\u003e\u003c/a\u003e Fix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.1.3 to 2.4.2\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.2 (Feb 1, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.2 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.2 is a patch release that fixes bugs discovered after the\n2.4.1 release. Highlights are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixes memory leaks\u003c/li\u003e\n\u003cli\u003eUpdates OpenBLAS to fix hangs\u003c/li\u003e\n\u003c/ul\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 9 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 Tang +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eKumar Aditya\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eVikram Kumar +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 12 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/30629\"\u003e#30629\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/30636\"\u003e#30636\u003c/a\u003e: TYP: \u003ccode\u003earange\u003c/code\u003e: accept datetime strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30657\"\u003e#30657\u003c/a\u003e: MAINT: avoid possible race condition by not touching \u003ccode\u003eos.environ\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30700\"\u003e#30700\u003c/a\u003e: BUG: validate contraction axes in tensordot (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30521\"\u003e#30521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30701\"\u003e#30701\u003c/a\u003e: DOC: __array_namespace__info__: set_module not __module__ (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30679\"\u003e#30679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30702\"\u003e#30702\u003c/a\u003e: BUG: fix free-threaded PyObject layout in replace_scalar_type_names...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30703\"\u003e#30703\u003c/a\u003e: TST: fix limited API example in tests for latest Cython\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30709\"\u003e#30709\u003c/a\u003e: BUG: Fix some bugs found via valgrind (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30680\"\u003e#30680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30712\"\u003e#30712\u003c/a\u003e: MAINT: replace ob_type access with Py_TYPE in PyArray_CheckExact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30713\"\u003e#30713\u003c/a\u003e: BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30736\"\u003e#30736\u003c/a\u003e: BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30737\"\u003e#30737\u003c/a\u003e: backport scipy-openblas version change\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.1 (Jan 10, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.1 is a patch release that fixes bugs discoved after the\n2.4.0 release. In particular, the typo \u003ccode\u003eSeedlessSequence\u003c/code\u003e is preserved to\nenable wheels using the random Cython API and built against NumPy \u0026lt; 2.4.0\nto run without errors.\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/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003cli\u003eYou can use the \u003ccode\u003ekeyring\u003c/code\u003e app to store the PyPI password for twine. See the\nonline twine documentation for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003cp\u003eCheck the numpy-release repo\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/c81c49f77451340651a751e76bca607d85e4fd55\"\u003e\u003ccode\u003ec81c49f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30757\"\u003e#30757\u003c/a\u003e from charris/prepare-2.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b3ae9c59de627110458653836f1be81280222f85\"\u003e\u003ccode\u003eb3ae9c5\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9de89843c3918fa133f1aab9fb4435c38a3b0ba6\"\u003e\u003ccode\u003e9de8984\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30737\"\u003e#30737\u003c/a\u003e from mattip/scipy-openblas-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b7be329895e32de44578742b2745fb307cdf8625\"\u003e\u003ccode\u003eb7be329\u003c/code\u003e\u003c/a\u003e backport scipy-openblas version change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7ff98637f80dc1ff7a18fce8025ffabdded76094\"\u003e\u003ccode\u003e7ff9863\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30736\"\u003e#30736\u003c/a\u003e from charris/backport-30667\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/431fffbe91d86c04738f039e0048441f8f9b5fff\"\u003e\u003ccode\u003e431fffb\u003c/code\u003e\u003c/a\u003e MAINT: Skip tests that require \u003cstrong\u003ebuffer\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/127235fcd9b2e80764da8f6c64f942a6bddb093a\"\u003e\u003ccode\u003e127235f\u003c/code\u003e\u003c/a\u003e BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/18bdb2e675b68daa5afc3250c41982ff77b3867f\"\u003e\u003ccode\u003e18bdb2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30713\"\u003e#30713\u003c/a\u003e from charris/backport-30710\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/41dd7512de6dc3dd665b71d4e3a321aa1150dc48\"\u003e\u003ccode\u003e41dd751\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30712\"\u003e#30712\u003c/a\u003e from charris/backport-30705\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7a278da99943376313b8f631905c3baaa7a82a30\"\u003e\u003ccode\u003e7a278da\u003c/code\u003e\u003c/a\u003e BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.1.3...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `joblib` from 1.4.2 to 1.5.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/joblib/joblib/blob/main/CHANGES.rst\"\u003ejoblib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.5.3 - 2025/12/15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eMemory\u003c/code\u003e object won't overwrite an already existing \u003ccode\u003e.gitignore\u003c/code\u003e file in its\ncache directory anymore.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1742\"\u003ejoblib/joblib#1742\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHarden the safety checks in \u003ccode\u003eeval_expr(pre_dispatch)\u003c/code\u003e to prevent excessive\nmemory allocation and potential crashes by limiting the allowed length of the\nexpression and the maximum numeric value of sub-expressions and not\nevaluating expressions with non-numeric literals.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1744\"\u003ejoblib/joblib#1744\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor cloudpickle 3.1.2 to fix a pickling problem with interactively\ndefined abstract base classes and type annotations in Python 3.14+.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.2 - 2025/08/27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendor \u003ccode\u003eloky3.5.6\u003c/code\u003e fixing the resource tracker for python 3.13.7+\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1740\"\u003ejoblib/joblib#1740\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMemory:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Ensure that temporary files managed by the ``Memory`` object do not collide\n  when using the same cache directory when the cache directory is accessed\n  concurrently from different nodes on a cluster with a shared filesystem.\n  https://github.com/joblib/joblib/pull/1656\n\u003ch2\u003eRelease 1.5.1 - 2025/05/23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix backend hints causing errors when no multiprocessing is present\u003cbr /\u003e\n\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1721\"\u003ejoblib/joblib#1721\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor \u003ccode\u003eloky3.5.5\u003c/code\u003e fixing the resource_tracker clean up with earlier Python\u003cbr /\u003e\nversions. \u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1724\"\u003ejoblib/joblib#1724\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.0 -- 2025/05/03\u003c/h2\u003e\n\u003cp\u003eMemory:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eEnforce \u003ccode\u003eage_limit\u003c/code\u003e is a positive timedelta for \u003ccode\u003eMemory.reduce_size\u003c/code\u003e,\nto avoid silently ignoring it.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1613\"\u003ejoblib/joblib#1613\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003ebytes_limit\u003c/code\u003e argument for \u003ccode\u003eMemory\u003c/code\u003e, which should\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/joblib/joblib/commit/40cd002ae1765195dfc4738a6bc7f5534b420a21\"\u003e\u003ccode\u003e40cd002\u003c/code\u003e\u003c/a\u003e RELEASE 1.5.3 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f05be6705e0f56856b76d76fecdddab95de394c8\"\u003e\u003ccode\u003ef05be67\u003c/code\u003e\u003c/a\u003e MNT Remove last usage of distutils (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1760\"\u003e#1760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/4273f396b7fb66da7f72f603a6bf6651393c5be1\"\u003e\u003ccode\u003e4273f39\u003c/code\u003e\u003c/a\u003e MNT bump actions/checkout from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1762\"\u003e#1762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f465f0245d20c1e793d98b8071a9604623ffd528\"\u003e\u003ccode\u003ef465f02\u003c/code\u003e\u003c/a\u003e FIX don't overwrite existing .gitignore (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1742\"\u003e#1742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/cca7d87a94a1bd141c6c505a909becd4c1854fde\"\u003e\u003ccode\u003ecca7d87\u003c/code\u003e\u003c/a\u003e MNT bump sklearn test on python 3.12 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1759\"\u003e#1759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f7775ad30051d95d83da76125b176962989bf763\"\u003e\u003ccode\u003ef7775ad\u003c/code\u003e\u003c/a\u003e MNT remove deprecated pytest feature (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1757\"\u003e#1757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/3c58aab890faad3b01eda5e6b35f382edcd71f91\"\u003e\u003ccode\u003e3c58aab\u003c/code\u003e\u003c/a\u003e Add Python 3.14 and 3.14t to the testing (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1747\"\u003e#1747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/9b96664daa07e11f6bee797f55567ac28a961cdb\"\u003e\u003ccode\u003e9b96664\u003c/code\u003e\u003c/a\u003e Bump cloudpickle to 3.1.2 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1752\"\u003e#1752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/c3bdbd9511da485c7036a433dce1924bdbbd1313\"\u003e\u003ccode\u003ec3bdbd9\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 5 updates (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1749\"\u003e#1749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/a09bb30b22b286ee8b233fe9391b21560e1799a9\"\u003e\u003ccode\u003ea09bb30\u003c/code\u003e\u003c/a\u003e Keep GitHub Actions up to date with GitHub's Dependabot (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1748\"\u003e#1748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/joblib/joblib/compare/1.4.2...1.5.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.14.1 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy/releases\"\u003escipy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSciPy 1.17.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.0\u003c/code\u003e is the culmination of 6 months of hard work. It contains\nmany new features, numerous bug-fixes, improved test coverage and better\ndocumentation. There have been a number of deprecations and API changes\nin this release, which are documented below. All users are encouraged to\nupgrade to this release, as there are a large number of bug-fixes and\noptimizations. Before upgrading, we recommend that users check that\ntheir own code does not use deprecated SciPy functionality (to do so,\nrun your code with \u003ccode\u003epython -Wd\u003c/code\u003e and check for \u003ccode\u003eDeprecationWarning\u003c/code\u003e s).\nOur development attention will now shift to bug-fix releases on the\n\u003ccode\u003e1.17.x\u003c/code\u003e branch, and on adding new features on the main branch.\u003c/p\u003e\n\u003cp\u003eThis release requires Python \u003ccode\u003e3.11\u003c/code\u003e-\u003ccode\u003e3.14\u003c/code\u003e and NumPy \u003ccode\u003e1.26.4\u003c/code\u003e or greater.\u003c/p\u003e\n\u003ch1\u003eHighlights of this release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMany SciPy functions have gained native support for batching of N-dimensional\narray input and additional support for the array API standard. An overall\nsummary of the latter is now available in a \u003ca href=\"https://scipy.github.io/devdocs/dev/api-dev/array_api.html#api-coverage\"\u003eset of tables\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003escipy.sparse\u003c/code\u003e, \u003ccode\u003ecoo_array\u003c/code\u003e now supports indexing. This includes integers,\nslices, arrays, \u003ccode\u003enp.newaxis\u003c/code\u003e, \u003ccode\u003eEllipsis\u003c/code\u003e, in 1D, 2D and the relatively\nnew nD. In \u003ccode\u003escipy.sparse.linalg\u003c/code\u003e, ARPACK and PROPACK rewrites from Fortran77\nto C now empower the use of external pseudorandom number generators, e.g.\nfrom numpy.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003escipy.spatial\u003c/code\u003e, \u003ccode\u003etransform.Rotation\u003c/code\u003e and \u003ccode\u003etransform.RigidTransform\u003c/code\u003e\nhave been extended to support N-D arrays. \u003ccode\u003egeometric_slerp\u003c/code\u003e now has support\nfor extrapolation.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003escipy.stats\u003c/code\u003e has gained the matrix t and logistic distributions and many\nperformance and accuracy improvements.\u003c/li\u003e\n\u003cli\u003eInitial support for 64-bit integer (ILP64) BLAS and LAPACK libraries has\nbeen added, including for MKL and Apple Accelerate. Please report any issues with\nILP64 you encounter.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eNew features\u003c/h1\u003e\n\u003ch1\u003e\u003ccode\u003escipy.integrate\u003c/code\u003e improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eThe integration routines \u003ccode\u003edopri5\u003c/code\u003e, \u003ccode\u003edopri853\u003c/code\u003e, \u003ccode\u003eLSODA\u003c/code\u003e, \u003ccode\u003evode\u003c/code\u003e, and\n\u003ccode\u003ezvode\u003c/code\u003e have been ported from Fortran77 to C.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003escipy.integrate.quad\u003c/code\u003e now has a fast path for returning 0 when the integration\ninterval is empty.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eBDF\u003c/code\u003e, \u003ccode\u003eDOP853\u003c/code\u003e, \u003ccode\u003eRK23\u003c/code\u003e, \u003ccode\u003eRK45\u003c/code\u003e, \u003ccode\u003eOdeSolver\u003c/code\u003e, \u003ccode\u003eDenseOutput\u003c/code\u003e,\n\u003ccode\u003eode\u003c/code\u003e, and \u003ccode\u003ecomplex_ode\u003c/code\u003e classes now support subscription, making them\ngeneric types, for compatibility with \u003ccode\u003escipy-stubs\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/scipy/scipy/commit/8c75ae75176236f233824e9a0483c26a69e6dfec\"\u003e\u003ccode\u003e8c75ae7\u003c/code\u003e\u003c/a\u003e REL: 1.17.0 \u0026quot;final\u0026quot; release commit [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/9d7f110540b5f054cfd99820b5eb02b56a7f2aab\"\u003e\u003ccode\u003e9d7f110\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24298\"\u003e#24298\u003c/a\u003e from tylerjereddy/treddy_prep_1.17.0_final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/94373b602e384cf613e1287b209609a7908c6f5e\"\u003e\u003ccode\u003e94373b6\u003c/code\u003e\u003c/a\u003e MAINT: test wheels [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/723f4e2f83214c237d6afa8a9761f4ef1e00c1fe\"\u003e\u003ccode\u003e723f4e2\u003c/code\u003e\u003c/a\u003e DOC: update 1.17.0 relnotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/bf042f043f1f59a1856827c249453d899abc12fc\"\u003e\u003ccode\u003ebf042f0\u003c/code\u003e\u003c/a\u003e CI: ensure we use pinned scipy-openblas version also in ILP64 job\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/3e00a04941ca2e7cacf6130fd9c28a8aeeefcad8\"\u003e\u003ccode\u003e3e00a04\u003c/code\u003e\u003c/a\u003e CI: fix issue with ILP64 job; point to fixed numpy/meson commit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/39bceab6f85ae717595c2291f6efe0ca29c53ee0\"\u003e\u003ccode\u003e39bceab\u003c/code\u003e\u003c/a\u003e BUG: stats: fix va_args memory corruption bug\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/8f563872fa61c891fede2b547c02190413ec9858\"\u003e\u003ccode\u003e8f56387\u003c/code\u003e\u003c/a\u003e DOC: update 1.17.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/c50e9c03eafec0bb7703acafffc948deb78a567c\"\u003e\u003ccode\u003ec50e9c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24304\"\u003e#24304\u003c/a\u003e from ev-br/edit_relnotes_for_ILP64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/b204495c6122f3670c67000ae29963676024be87\"\u003e\u003ccode\u003eb204495\u003c/code\u003e\u003c/a\u003e DOC: clarify ILP64 support caveats in the release notes, remove mentions of O...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy/compare/v1.14.1...v1.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `apscheduler` from 3.10.4 to 3.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/apscheduler/releases\"\u003eapscheduler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where a job using a \u003ccode\u003eCronTrigger\u003c/code\u003e scheduled in a repeated time interval during DST transitions could cause the scheduler to get stuck in an infinite loop (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e; PR by \u003ca href=\"https://github.com/soulofakuma\"\u003e\u003ccode\u003e@​soulofakuma\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003escheduler.shutdown()\u003c/code\u003e not raising \u003ccode\u003eSchedulerNotRunning\u003c/code\u003e (or raising the wrong exception) for asynchronous schedulers when the scheduler is in fact not running\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCronTrigger\u003c/code\u003e sticking on a folded datetime during the fall-back DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e \u0026lt;\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003eagronholm/apscheduler#1021\u003c/a\u003e\u0026gt;_; PR by \u003ca href=\"https://github.com/berianjames\"\u003e\u003ccode\u003e@​berianjames\u003c/code\u003e\u003c/a\u003e)`\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.6 and 3.7\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eZoneInfo\u003c/code\u003e time zones and deprecated support for pytz time zones\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCalendarIntervalTrigger\u003c/code\u003e, backported from the 4.x series\u003c/li\u003e\n\u003cli\u003eAdded the ability to export and import jobs via \u003ccode\u003escheduler.export_jobs()\u003c/code\u003e and \u003ccode\u003escheduler.import_jobs()\u003c/code\u003e, respectively\u003c/li\u003e\n\u003cli\u003eRemoved the dependency on \u003ccode\u003esix\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e to spawn new subprocesses from scratch instead of forking on all platform\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eAsyncIOScheduler\u003c/code\u003e inadvertently creating a defunct event loop at start, leading to the scheduler not working at all\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e not respecting the passed keyword arguments when a broken pool was being replaced\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/0f70950e320f3a7924dcd404c6c379143fb68b23\"\u003e\u003ccode\u003e0f70950\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/bc404e63af18bd8e493e0765f2ad0b51e6df0ef1\"\u003e\u003ccode\u003ebc404e6\u003c/code\u003e\u003c/a\u003e Updated publish actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/c3aa155bd39fe54639d69b396f9ad720246f0c98\"\u003e\u003ccode\u003ec3aa155\u003c/code\u003e\u003c/a\u003e Updated pre-commit modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/ad6b2dc766cd6722c8aa51543f988b9ee7b13110\"\u003e\u003ccode\u003ead6b2dc\u003c/code\u003e\u003c/a\u003e Added fix for get_next_fire_time not advancing through fold with unfolded pre...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/f4df139771b7741f58f0eb456f091d3f659555c1\"\u003e\u003ccode\u003ef4df139\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/25be7b77afca892d152441d4a61402623af7f943\"\u003e\u003ccode\u003e25be7b7\u003c/code\u003e\u003c/a\u003e Fixed CronTrigger getting stuck on fallback DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1079\"\u003e#1079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/12613862e34456215dc98574f6cf594f77d66f47\"\u003e\u003ccode\u003e1261386\u003c/code\u003e\u003c/a\u003e Updated etcd image repository name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/b1f5636ccaf6a2fe86b208d7bd6b43024a1546b3\"\u003e\u003ccode\u003eb1f5636\u003c/code\u003e\u003c/a\u003e Fixed shutdown() not raising the correct exception for some schedulers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/6c72a51416893eb0eebbe63d0f2a0151952cab59\"\u003e\u003ccode\u003e6c72a51\u003c/code\u003e\u003c/a\u003e Backported release job from master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/4b965109548e528c061cf32b672de1a6f65f2c2a\"\u003e\u003ccode\u003e4b96510\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/apscheduler/compare/3.10.4...3.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `celery` from 5.4.0 to 5.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/releases\"\u003ecelery's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.6.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string by \u003ca href=\"https://github.com/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix: Revoked tasks now immediately update backend status to REVOKED by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9869\"\u003ecelery/celery#9869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.2 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10049\"\u003ecelery/celery#10049\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.1...v5.6.2\"\u003ehttps://github.com/celery/celery/compare/v5.6.1...v5.6.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support by \u003ca href=\"https://github.com/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown by \u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option by \u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10020\"\u003ecelery/celery#10020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup by \u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereliable prefork detection by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10023\"\u003ecelery/celery#10023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebetter coverage by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10029\"\u003ecelery/celery#10029\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example by \u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10032\"\u003ecelery/celery#10032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10033\"\u003ecelery/celery#10033\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10037\"\u003ecelery/celery#10037\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.0...v5.6.1\"\u003ehttps://github.com/celery/celery/compare/v5.6.0...v5.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.0\u003c/h2\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003ch2\u003eKey Highlights\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.celeryq.dev/en/stable/history/whatsnew-5.6.html\"\u003eWhat's new in Celery 5.6\u003c/a\u003e for a complete overview or read the main highlights below.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Minimum Version\u003c/h3\u003e\n\u003cp\u003eCelery 5.6.0 drops support for Python 3.8 (EOL). The minimum required Python version is now 3.9. Users still on Python 3.8 must upgrade their Python version before upgrading to Celery 5.6.0.\u003c/p\u003e\n\u003cp\u003eAdditionally, this release includes initial support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eSQS: Reverted to \u003ccode\u003epycurl\u003c/code\u003e from \u003ccode\u003eurllib3\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003eThe switch from \u003ccode\u003epycurl\u003c/code\u003e to \u003ccode\u003eurllib3\u003c/code\u003e for the SQS transport (introduced in Celery 5.5.0 via Kombu) has been reverted due to critical issues affecting SQS users.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/blob/main/Changelog.rst\"\u003ecelery's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.6.2\u003c/h1\u003e\n\u003cp\u003e:release-date: 2026-01-04\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string ([#10045](https://github.com/celery/celery/issues/10045))\n- Bugfix: Revoked tasks now immediately update backend status to REVOKED ([#9869](https://github.com/celery/celery/issues/9869))\n- Prepare for release: v5.6.2 ([#10049](https://github.com/celery/celery/issues/10049))\n\u003cp\u003e.. _version-5.6.1:\u003c/p\u003e\n\u003ch1\u003e5.6.1\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-12-29\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10013\"\u003e#10013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9986\"\u003e#9986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10016\"\u003e#10016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10020\"\u003e#10020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10015\"\u003e#10015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereliable prefork detection (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10023\"\u003e#10023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebetter coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#10029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10030\"\u003e#10030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10032\"\u003e#10032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _version-5.6.0:\u003c/p\u003e\n\u003ch1\u003e5.6.0\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-11-30\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003cp\u003eKey Highlights\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nSee :ref:`whatsnew-5.6` for a complete overview or read the main highlights below.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6a43c846f183ef0cbade24f4b9a8f7a6ea113b44\"\u003e\u003ccode\u003e6a43c84\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.2 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10049\"\u003e#10049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/333a82f746734151c5cbe848916085455b0a3748\"\u003e\u003ccode\u003e333a82f\u003c/code\u003e\u003c/a\u003e Bugfix: Revoked tasks now immediately update backend status to REVOKED (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9869\"\u003e#9869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/9d6ab110d947270c4edf0b42454266d2954e653d\"\u003e\u003ccode\u003e9d6ab11\u003c/code\u003e\u003c/a\u003e Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeEr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21dbc73f81d2fae058de49e665afaa1cd92da5c0\"\u003e\u003ccode\u003e21dbc73\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/ba20bed7723c684d12ddd62d6a7c0c0d901b3351\"\u003e\u003ccode\u003eba20bed\u003c/code\u003e\u003c/a\u003e Only use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21675299bc2d10c648448ec5221136e07c1eec1a\"\u003e\u003ccode\u003e2167529\u003c/code\u003e\u003c/a\u003e Stop importing pytest_subtests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/0527296acb1f1790788301d4395ba6d5ce2a9704\"\u003e\u003ccode\u003e0527296\u003c/code\u003e\u003c/a\u003e Bump google-cloud-firestore from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/5f8659bdba4561796d66e938a1e2c71d4489562f\"\u003e\u003ccode\u003e5f8659b\u003c/code\u003e\u003c/a\u003e Clarify 'result_extended' setting usage in tasks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/f19db7008682c782d85e69b5ce736970491752ea\"\u003e\u003ccode\u003ef19db70\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.19.0 to 1.19.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10028\"\u003e#10028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6da72bde60553a1c350eef1e17d834d004ed099d\"\u003e\u003ccode\u003e6da72bd\u003c/code\u003e\u003c/a\u003e better coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#10029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/celery/celery/compare/v5.4.0...v5.6.2\"\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.1\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.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env 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/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\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.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff 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/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() 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/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) 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/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini 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/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory 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/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml 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/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure find_dotenv 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/pull/563\"\u003etheskumar/python-dotenv#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): issue with execvpe on Windows by \u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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.1.0...v1.1.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a security policy 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/512\"\u003etheskumar/python-dotenv#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep GitHub Actions up to date with GitHub's Dependabot by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/506\"\u003etheskumar/python-dotenv#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix multiline string in test.yml \u0026amp; use fail-fast strategy by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/514\"\u003etheskumar/python-dotenv#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance dotenv run: Switch to execvpe for better resource management and signal handling by \u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/523\"\u003etheskumar/python-dotenv#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add py3.13 to test.yml by \u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/527\"\u003etheskumar/python-dotenv#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.13 trove classifier by \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/535\"\u003etheskumar/python-dotenv#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/529\"\u003etheskumar/python-dotenv#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.13 and drop 3.8 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/551\"\u003etheskumar/python-dotenv#551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update README.md by \u003ca href=\"https://github.com/chapeupreto\"\u003e\u003ccode\u003e@​chapeupreto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/516\"\u003etheskumar/python-dotenv#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome more s/Python-dotenv/python-dotenv/ 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/552\"\u003etheskumar/python-dotenv#552\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/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.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/pull/563\"\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-do...\n\n_Description has been truncated_","html_url":"https://github.com/KyaRhamil/floodingnaque/pull/22","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyaRhamil%2Ffloodingnaque/issues/22","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/22/packages"}},{"old_version":"0.34.0","new_version":"0.35.0","update_type":"minor","path":null,"pr_created_at":"2026-02-02T02:41:53.000Z","version_change":"0.34.0 → 0.35.0","issue":{"uuid":"3883626870","node_id":"PR_kwDOL3PqEc7Ay3w-","number":740,"state":"open","title":"chore(deps): bump the python-dependencies group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["security","backend","dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-02T02:41:53.000Z","updated_at":"2026-02-02T02:42:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-dependencies","update_count":28,"packages":[{"name":"pytest-html","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/pytest-dev/pytest-html"},{"name":"minio","old_version":"7.2.19","new_version":"7.2.20","repository_url":"https://github.com/minio/minio-py"},{"name":"matplotlib","old_version":"3.10.7","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"ruff","old_version":"0.14.6","new_version":"0.14.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"bandit","old_version":"1.9.2","new_version":"1.9.3","repository_url":"https://github.com/PyCQA/bandit"},{"name":"pylint","old_version":"4.0.3","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"fastapi","old_version":"0.122.0","new_version":"0.128.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.40.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"pydantic-settings","old_version":"2.6.1","new_version":"2.12.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"pymilvus","old_version":"2.4.9","new_version":"2.6.8","repository_url":"https://github.com/milvus-io/pymilvus"},{"name":"scikit-learn","old_version":"1.6.0","new_version":"1.8.0","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"weaviate-client","old_version":"4.16.9","new_version":"4.19.2","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"sqlalchemy","old_version":"2.0.36","new_version":"2.0.46","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"pymupdf","old_version":"1.25.0","new_version":"1.26.7","repository_url":"https://github.com/pymupdf/pymupdf"},{"name":"chromadb","old_version":"1.2.0","new_version":"1.4.1","repository_url":"https://github.com/chroma-core/chroma"},{"name":"setuptools","old_version":"80.9.0","new_version":"80.10.2","repository_url":"https://github.com/pypa/setuptools"},{"name":"authlib","old_version":"1.6.5","new_version":"1.6.6","repository_url":"https://github.com/authlib/authlib"},{"name":"ibm-watsonx-ai","old_version":"1.3.37","new_version":"1.5.1","repository_url":"https://github.com/IBM/watsonx-ai-samples"},{"name":"json-repair","old_version":"0.30.3","new_version":"0.55.1","repository_url":"https://github.com/mangiucugna/json_repair"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"docling","old_version":"2.55.0","new_version":"2.71.0","repository_url":"https://github.com/docling-project/docling"},{"name":"spacy","old_version":"3.8.7","new_version":"3.8.11","repository_url":"https://github.com/explosion/spaCy"},{"name":"sentence-transformers","old_version":"5.1.2","new_version":"5.2.2","repository_url":"https://github.com/huggingface/sentence-transformers"},{"name":"spiffe","old_version":"0.2.2","new_version":"0.2.3","repository_url":"https://github.com/HewlettPackard/py-spiffe"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pytest-html](https://github.com/pytest-dev/pytest-html) | `4.1.1` | `4.2.0` |\n| [minio](https://github.com/minio/minio-py) | `7.2.19` | `7.2.20` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.7` | `3.10.8` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.6` | `0.14.14` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.1` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.9.2` | `1.9.3` |\n| [pylint](https://github.com/pylint-dev/pylint) | `4.0.3` | `4.0.4` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.122.0` | `0.128.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.40.0` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.6.1` | `2.12.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [pymilvus](https://github.com/milvus-io/pymilvus) | `2.4.9` | `2.6.8` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.0` | `1.8.0` |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.16.9` | `4.19.2` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.36` | `2.0.46` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [pymupdf](https://github.com/pymupdf/pymupdf) | `1.25.0` | `1.26.7` |\n| [chromadb](https://github.com/chroma-core/chroma) | `1.2.0` | `1.4.1` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.9.0` | `80.10.2` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.5` | `1.6.6` |\n| [ibm-watsonx-ai](https://github.com/IBM/watsonx-ai-samples) | `1.3.37` | `1.5.1` |\n| [json-repair](https://github.com/mangiucugna/json_repair) | `0.30.3` | `0.55.1` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [docling](https://github.com/docling-project/docling) | `2.55.0` | `2.71.0` |\n| [spacy](https://github.com/explosion/spaCy) | `3.8.7` | `3.8.11` |\n| [sentence-transformers](https://github.com/huggingface/sentence-transformers) | `5.1.2` | `5.2.2` |\n| [spiffe](https://github.com/HewlettPackard/py-spiffe) | `0.2.2` | `0.2.3` |\n\n\nUpdates `pytest-html` from 4.1.1 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-html/releases\"\u003epytest-html's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Extras from setup/teardown missing in report by \u003ca href=\"https://github.com/BeyondEvil\"\u003e\u003ccode\u003e@​BeyondEvil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/784\"\u003epytest-dev/pytest-html#784\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Total duration when running in parallel by \u003ca href=\"https://github.com/BeyondEvil\"\u003e\u003ccode\u003e@​BeyondEvil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/785\"\u003epytest-dev/pytest-html#785\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix license classifier in pyproject.toml by \u003ca href=\"https://github.com/tapdiego-amzn\"\u003e\u003ccode\u003e@​tapdiego-amzn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/789\"\u003epytest-dev/pytest-html#789\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/771\"\u003epytest-dev/pytest-html#771\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/806\"\u003e#806\u003c/a\u003e (if results table order changed, hide/show details hover over broken) by \u003ca href=\"https://github.com/volkan-aslan\"\u003e\u003ccode\u003e@​volkan-aslan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/807\"\u003epytest-dev/pytest-html#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump certifi from 2023.5.7 to 2023.7.22 in /docs 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/pytest-dev/pytest-html/pull/699\"\u003epytest-dev/pytest-html#699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStart tag has wrong closing tag by \u003ca href=\"https://github.com/zingero\"\u003e\u003ccode\u003e@​zingero\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/834\"\u003epytest-dev/pytest-html#834\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop python 3.8, add support for 3.12, 3.13 by \u003ca href=\"https://github.com/Pierre-Sassoulas\"\u003e\u003ccode\u003e@​Pierre-Sassoulas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/842\"\u003epytest-dev/pytest-html#842\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump elliptic from 6.5.4 to 6.6.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/843\"\u003epytest-dev/pytest-html#843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump browserify-sign from 4.2.1 to 4.2.3 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/pytest-dev/pytest-html/pull/831\"\u003epytest-dev/pytest-html#831\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump requests from 2.30.0 to 2.32.2 in /docs 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/pytest-dev/pytest-html/pull/832\"\u003epytest-dev/pytest-html#832\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump urllib3 from 2.0.2 to 2.2.2 in /docs 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/pytest-dev/pytest-html/pull/830\"\u003epytest-dev/pytest-html#830\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump certifi from 2023.7.22 to 2024.7.4 in /docs 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/pytest-dev/pytest-html/pull/829\"\u003epytest-dev/pytest-html#829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump braces from 3.0.2 to 3.0.3 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/pytest-dev/pytest-html/pull/826\"\u003epytest-dev/pytest-html#826\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump idna from 3.4 to 3.7 in /docs 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/pytest-dev/pytest-html/pull/827\"\u003epytest-dev/pytest-html#827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump \u003ccode\u003e@​babel/traverse\u003c/code\u003e from 7.21.3 to 7.25.9 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/pytest-dev/pytest-html/pull/844\"\u003epytest-dev/pytest-html#844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump jinja2 from 3.1.2 to 3.1.4 in /docs 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/pytest-dev/pytest-html/pull/828\"\u003epytest-dev/pytest-html#828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump word-wrap from 1.2.3 to 1.2.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/pytest-dev/pytest-html/pull/845\"\u003epytest-dev/pytest-html#845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/800\"\u003epytest-dev/pytest-html#800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd mypy to CI pipeline and begin typing modules by \u003ca href=\"https://github.com/gnikonorov\"\u003e\u003ccode\u003e@​gnikonorov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/435\"\u003epytest-dev/pytest-html#435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit] Add pyproject-fmt to normalize the pyproject.toml by \u003ca href=\"https://github.com/Pierre-Sassoulas\"\u003e\u003ccode\u003e@​Pierre-Sassoulas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/846\"\u003epytest-dev/pytest-html#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the pyproject.toml following concurrent merge by \u003ca href=\"https://github.com/Pierre-Sassoulas\"\u003e\u003ccode\u003e@​Pierre-Sassoulas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/847\"\u003epytest-dev/pytest-html#847\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade tool for python 3.9 by \u003ca href=\"https://github.com/Pierre-Sassoulas\"\u003e\u003ccode\u003e@​Pierre-Sassoulas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/848\"\u003epytest-dev/pytest-html#848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix report template by \u003ca href=\"https://github.com/hendzeld\"\u003e\u003ccode\u003e@​hendzeld\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/804\"\u003epytest-dev/pytest-html#804\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/851\"\u003epytest-dev/pytest-html#851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump jinja2 from 3.1.4 to 3.1.5 in /docs 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/pytest-dev/pytest-html/pull/855\"\u003epytest-dev/pytest-html#855\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/854\"\u003epytest-dev/pytest-html#854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate a dependabot.yml to be explicit about what need to be updated by \u003ca href=\"https://github.com/Pierre-Sassoulas\"\u003e\u003ccode\u003e@​Pierre-Sassoulas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/861\"\u003epytest-dev/pytest-html#861\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump actions/cache from 3 to 4 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/pytest-dev/pytest-html/pull/862\"\u003epytest-dev/pytest-html#862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump codecov/codecov-action from 3 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/863\"\u003epytest-dev/pytest-html#863\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump release-drafter/release-drafter 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/pytest-dev/pytest-html/pull/864\"\u003epytest-dev/pytest-html#864\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump actions/setup-python from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/865\"\u003epytest-dev/pytest-html#865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump sphinx-rtd-theme from 1.2.0 to 3.0.2 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/pytest-dev/pytest-html/pull/871\"\u003epytest-dev/pytest-html#871\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump sass from 1.58.0 to 1.83.4 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/pytest-dev/pytest-html/pull/867\"\u003epytest-dev/pytest-html#867\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump sinon from 14.0.2 to 19.0.2 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/pytest-dev/pytest-html/pull/868\"\u003epytest-dev/pytest-html#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump nyc from 15.1.0 to 17.1.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/869\"\u003epytest-dev/pytest-html#869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump browserify from 17.0.0 to 17.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/876\"\u003epytest-dev/pytest-html#876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump mocha from 10.2.0 to 11.1.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/875\"\u003epytest-dev/pytest-html#875\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump sass from 1.83.4 to 1.84.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/874\"\u003epytest-dev/pytest-html#874\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump sphinx from 6.2.1 to 7.2.2 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/pytest-dev/pytest-html/pull/877\"\u003epytest-dev/pytest-html#877\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/878\"\u003epytest-dev/pytest-html#878\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/882\"\u003epytest-dev/pytest-html#882\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump sphinx from 7.2.2 to 8.1.3 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/pytest-dev/pytest-html/pull/881\"\u003epytest-dev/pytest-html#881\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump sass from 1.84.0 to 1.85.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/879\"\u003epytest-dev/pytest-html#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate index.jinja2 by \u003ca href=\"https://github.com/TCMPK\"\u003e\u003ccode\u003e@​TCMPK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/883\"\u003epytest-dev/pytest-html#883\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump sphinx from 8.1.3 to 8.2.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/885\"\u003epytest-dev/pytest-html#885\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/pull/886\"\u003epytest-dev/pytest-html#886\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump sphinx from 8.2.1 to 8.2.3 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/pytest-dev/pytest-html/pull/888\"\u003epytest-dev/pytest-html#888\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/pytest-dev/pytest-html/blob/master/docs/changelog.rst\"\u003epytest-html's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eVersions follow \u003ccode\u003eSemantic Versioning\u003c/code\u003e_ (\u003ccode\u003e\u0026lt;major\u0026gt;.\u0026lt;minor\u0026gt;.\u0026lt;patch\u0026gt;\u003c/code\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion History\u003c/h2\u003e\n\u003c/blockquote\u003e\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-html/commit/d8fa812281d735948fd6678e680fbfe6316d9f4b\"\u003e\u003ccode\u003ed8fa812\u003c/code\u003e\u003c/a\u003e ci: switch to trusted publishing (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/992\"\u003e#992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-html/commit/36a2911d1177113e2737755616c7339a37a5f92c\"\u003e\u003ccode\u003e36a2911\u003c/code\u003e\u003c/a\u003e Chore(deps-dev): Bump sass from 1.97.1 to 1.97.2 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-html/commit/6c8a66e89d4f2fdcb19582bb8ccdae899ab1ab0f\"\u003e\u003ccode\u003e6c8a66e\u003c/code\u003e\u003c/a\u003e Chore(deps-dev): Bump chai from 6.2.1 to 6.2.2 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/989\"\u003e#989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-html/commit/aca223fb39f30ce795afa8916f26fb7300c5d855\"\u003e\u003ccode\u003eaca223f\u003c/code\u003e\u003c/a\u003e Chore(deps-dev): Bump sinon from 21.0.0 to 21.0.1 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/987\"\u003e#987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-html/commit/9ad73892ca4420478f8d04e8b47509f3d9057846\"\u003e\u003ccode\u003e9ad7389\u003c/code\u003e\u003c/a\u003e Chore(deps-dev): Bump sass from 1.96.0 to 1.97.1 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/988\"\u003e#988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-html/commit/ffec3a50da100dac782b7eb659340d659f5077c7\"\u003e\u003ccode\u003effec3a5\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-html/commit/c965f6dfbc3fe230656abfdbaa8348a6e9521804\"\u003e\u003ccode\u003ec965f6d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-html/commit/ba3790382be6dc72cf213518510c0c68641aeb77\"\u003e\u003ccode\u003eba37903\u003c/code\u003e\u003c/a\u003e Chore(deps-dev): Bump sass from 1.94.2 to 1.96.0 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/983\"\u003e#983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-html/commit/5ddb4bce264f451e0aadb16ecb3f13c008074cc5\"\u003e\u003ccode\u003e5ddb4bc\u003c/code\u003e\u003c/a\u003e Chore(deps): Bump actions/cache from 4 to 5 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-html/issues/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-html/commit/e5ac7de16ca2a7a797924d8952f30a986df5d293\"\u003e\u003ccode\u003ee5ac7de\u003c/code\u003e\u003c/a\u003e Fix rst-lint: error: unrecognized arguments: --encoding\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-html/compare/4.1.1...4.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minio` from 7.2.19 to 7.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minio/minio-py/releases\"\u003eminio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBugfix Release 7.2.20\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable github CI run by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1543\"\u003eminio/minio-py#1543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake BaseException internals to be set (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1521\"\u003e#1521\u003c/a\u003e) by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1539\"\u003eminio/minio-py#1539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Add missing type annotations to serialization dataclass fields (… by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1540\"\u003eminio/minio-py#1540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport optional parameters in LdapIdentityProvider (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1528\"\u003e#1528\u003c/a\u003e) by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1541\"\u003eminio/minio-py#1541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix object_size/headers in ComposeSource by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1545\"\u003eminio/minio-py#1545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix complete_multipart_upload() to support SSE-C by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1544\"\u003eminio/minio-py#1544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.18...7.2.20\"\u003ehttps://github.com/minio/minio-py/compare/7.2.18...7.2.20\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/minio/minio-py/commit/f671ca948b35978c39a3100e4ae0e9b93416b911\"\u003e\u003ccode\u003ef671ca9\u003c/code\u003e\u003c/a\u003e Update version to next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/53c8c93f78acae9bfbd48974e8de82f831e74927\"\u003e\u003ccode\u003e53c8c93\u003c/code\u003e\u003c/a\u003e fix complete_multipart_upload() to support SSE-C (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/27997bdc71e0360ca5dabf87193b5bde2be38e31\"\u003e\u003ccode\u003e27997bd\u003c/code\u003e\u003c/a\u003e fix object_size/headers in ComposeSource (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1545\"\u003e#1545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/dd17dfb9bc5482a160f667ece87c128fa9cd9fe7\"\u003e\u003ccode\u003edd17dfb\u003c/code\u003e\u003c/a\u003e support optional parameters in LdapIdentityProvider (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1528\"\u003e#1528\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/4170c34351595f0890e4b7d2dfbc03cccc401e3b\"\u003e\u003ccode\u003e4170c34\u003c/code\u003e\u003c/a\u003e Fix: Add missing type annotations to serialization dataclass fields (… (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/da273039c52a48f838f74a83520d59d5a3c12adf\"\u003e\u003ccode\u003eda27303\u003c/code\u003e\u003c/a\u003e Make BaseException internals to be set (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1521\"\u003e#1521\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/535ac42819272894e030a390904f917dd5ec675d\"\u003e\u003ccode\u003e535ac42\u003c/code\u003e\u003c/a\u003e Enable github CI run (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.19...7.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib` from 3.10.7 to 3.10.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/matplotlib/releases\"\u003ematplotlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREL: v3.10.8\u003c/h2\u003e\n\u003cp\u003eThis is a bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eThe primary highlights of this release are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eProperly allow freethreaded mode in the MacOS backend\u003c/li\u003e\n\u003cli\u003eBetter error handling for MacOS backend\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/1392cbe3c79cdb93f9282747841d648770f60249\"\u003e\u003ccode\u003e1392cbe\u003c/code\u003e\u003c/a\u003e REL: v3.10.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/0b9ebb35f8310f22eb7f932b2ae14befb1f40b6f\"\u003e\u003ccode\u003e0b9ebb3\u003c/code\u003e\u003c/a\u003e Doc release prep v3.10.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/bc7b5c4377ce2544e8936255c51c1ff7cd0c5a85\"\u003e\u003ccode\u003ebc7b5c4\u003c/code\u003e\u003c/a\u003e Merge branch 'v3.10.7-doc' into v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/86b38d3f29aa2af2ddcbd1895433117caa0fba47\"\u003e\u003ccode\u003e86b38d3\u003c/code\u003e\u003c/a\u003e Github stats v3.10.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/9512188e42f9d221f83869113c44f99fe1832a0f\"\u003e\u003ccode\u003e9512188\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30717\"\u003e#30717\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-30714-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/d300769285e2c920804134e40ec83837eabe16d8\"\u003e\u003ccode\u003ed300769\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30714\"\u003e#30714\u003c/a\u003e: FIX: Gracefully handle numpy arrays as input to check_in_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/799bc9561daea5b5578f888817cb45c9321a0463\"\u003e\u003ccode\u003e799bc95\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30711\"\u003e#30711\u003c/a\u003e from ngoldbaum/v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/134000ba19a4354da2ad1084627039e05c936754\"\u003e\u003ccode\u003e134000b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30697\"\u003e#30697\u003c/a\u003e from ngoldbaum/fix-plotting-on-worker-threads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/5b8e219d70f1daa443330eb6a5a6211506b37362\"\u003e\u003ccode\u003e5b8e219\u003c/code\u003e\u003c/a\u003e TST: Run macosx backends in a subprocess\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/878e71a95006d3aec9505f3bd836968951fdd163\"\u003e\u003ccode\u003e878e71a\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/29810\"\u003e#29810\u003c/a\u003e: Declare free-threaded support in MacOS backend extension ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/matplotlib/matplotlib/compare/v3.10.7...v3.10.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.6 to 0.14.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.14\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-22.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve required parentheses in lambda bodies (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22747\"\u003e#22747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCombine range suppression code diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22613\"\u003e#22613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Second positional argument to \u003ccode\u003eAsset\u003c/code\u003e/\u003ccode\u003eDataset\u003c/code\u003e should not be a dictionary (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22453\"\u003e#22453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Detect duplicate entries in \u003ccode\u003e__all__\u003c/code\u003e (\u003ccode\u003eRUF068\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22114\"\u003e#22114\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Allow shadowing non-builtin bindings (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22749\"\u003e#22749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pie\u003c/code\u003e] Detect duplicated declared class fields in \u003ccode\u003ePIE794\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22717\"\u003e#22717\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e, \u003ccode\u003e__enter__\u003c/code\u003e, \u003ccode\u003e__aenter__\u003c/code\u003e in \u003ccode\u003ePYI034\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22798\"\u003e#22798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Support \u003ccode\u003echeck\u003c/code\u003e parameter in \u003ccode\u003ePT011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22725\"\u003e#22725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add exception for \u003ccode\u003ectypes.Structure._fields_\u003c/code\u003e (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22559\"\u003e#22559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany fixes are now marked unsafe if they would remove comments:\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22656\"\u003e\u003ccode\u003eB009\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22657\"\u003e\u003ccode\u003eB010\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22658\"\u003e\u003ccode\u003eB013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22659\"\u003e\u003ccode\u003eB014\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22632\"\u003e\u003ccode\u003eB033\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22662\"\u003e\u003ccode\u003eSIM910\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22661\"\u003e\u003ccode\u003eSIM911\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22774\"\u003e\u003ccode\u003eUP039\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22773\"\u003e\u003ccode\u003eUP041\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP045\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22767\"\u003e\u003ccode\u003eFURB105\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22681\"\u003e\u003ccode\u003eFURB116\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22680\"\u003e\u003ccode\u003eFURB136\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22679\"\u003e\u003ccode\u003eFURB140\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22670\"\u003e\u003ccode\u003eFURB145\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22669\"\u003e\u003ccode\u003eFURB154\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22668\"\u003e\u003ccode\u003eFURB157\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22667\"\u003e\u003ccode\u003eFURB164\u003c/code\u003e\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22666\"\u003e\u003ccode\u003eFURB181\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22665\"\u003e\u003ccode\u003eFURB188\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22663\"\u003e\u003ccode\u003eRUF019\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22664\"\u003e\u003ccode\u003eRUF020\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--exit-non-zero-on-format\u003c/code\u003e to formatter exit codes section (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22761\"\u003e#22761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eFastAPI\u003c/code\u003e] Document fix safety for \u003ccode\u003eFAST001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22655\"\u003e#22655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Tweak explanation to focus on latency/efficiency tradeoff (\u003ccode\u003eASYNC110\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22715\"\u003e#22715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003ePD002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22561\"\u003e#22561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22770\"\u003e#22770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22769\"\u003e#22769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/caiquejjx\"\u003e\u003ccode\u003e@​caiquejjx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sjyangkevin\"\u003e\u003ccode\u003e@​sjyangkevin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leandrobbraga\"\u003e\u003ccode\u003e@​leandrobbraga\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.14\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-22.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve required parentheses in lambda bodies (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22747\"\u003e#22747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCombine range suppression code diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22613\"\u003e#22613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Second positional argument to \u003ccode\u003eAsset\u003c/code\u003e/\u003ccode\u003eDataset\u003c/code\u003e should not be a dictionary (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22453\"\u003e#22453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Detect duplicate entries in \u003ccode\u003e__all__\u003c/code\u003e (\u003ccode\u003eRUF068\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22114\"\u003e#22114\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Allow shadowing non-builtin bindings (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22749\"\u003e#22749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pie\u003c/code\u003e] Detect duplicated declared class fields in \u003ccode\u003ePIE794\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22717\"\u003e#22717\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e, \u003ccode\u003e__enter__\u003c/code\u003e, \u003ccode\u003e__aenter__\u003c/code\u003e in \u003ccode\u003ePYI034\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22798\"\u003e#22798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Support \u003ccode\u003echeck\u003c/code\u003e parameter in \u003ccode\u003ePT011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22725\"\u003e#22725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add exception for \u003ccode\u003ectypes.Structure._fields_\u003c/code\u003e (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22559\"\u003e#22559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany fixes are now marked unsafe if they would remove comments:\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22656\"\u003e\u003ccode\u003eB009\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22657\"\u003e\u003ccode\u003eB010\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22658\"\u003e\u003ccode\u003eB013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22659\"\u003e\u003ccode\u003eB014\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22632\"\u003e\u003ccode\u003eB033\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22662\"\u003e\u003ccode\u003eSIM910\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22661\"\u003e\u003ccode\u003eSIM911\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22774\"\u003e\u003ccode\u003eUP039\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22773\"\u003e\u003ccode\u003eUP041\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP045\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22767\"\u003e\u003ccode\u003eFURB105\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22681\"\u003e\u003ccode\u003eFURB116\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22680\"\u003e\u003ccode\u003eFURB136\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22679\"\u003e\u003ccode\u003eFURB140\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22670\"\u003e\u003ccode\u003eFURB145\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22669\"\u003e\u003ccode\u003eFURB154\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22668\"\u003e\u003ccode\u003eFURB157\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22667\"\u003e\u003ccode\u003eFURB164\u003c/code\u003e\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22666\"\u003e\u003ccode\u003eFURB181\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22665\"\u003e\u003ccode\u003eFURB188\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22663\"\u003e\u003ccode\u003eRUF019\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22664\"\u003e\u003ccode\u003eRUF020\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--exit-non-zero-on-format\u003c/code\u003e to formatter exit codes section (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22761\"\u003e#22761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eFastAPI\u003c/code\u003e] Document fix safety for \u003ccode\u003eFAST001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22655\"\u003e#22655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Tweak explanation to focus on latency/efficiency tradeoff (\u003ccode\u003eASYNC110\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22715\"\u003e#22715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003ePD002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22561\"\u003e#22561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22770\"\u003e#22770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22769\"\u003e#22769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/caiquejjx\"\u003e\u003ccode\u003e@​caiquejjx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sjyangkevin\"\u003e\u003ccode\u003e@​sjyangkevin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leandrobbraga\"\u003e\u003ccode\u003e@​leandrobbraga\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8b2e7b36f246b990fe473a84eef25ff429e59ecf\"\u003e\u003ccode\u003e8b2e7b3\u003c/code\u003e\u003c/a\u003e Prepare release v0.14.14 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22813\"\u003e#22813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4c7d1f50fd8d1baf06a3c8885ecd0ded0113d383\"\u003e\u003ccode\u003e4c7d1f5\u003c/code\u003e\u003c/a\u003e [ty] Infer \u003ccode\u003eTypedDict\u003c/code\u003e types with \u0026gt;=1 required key as being always truthy (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b7de4341535ff2b299695335e0a7b9ebaf297348\"\u003e\u003ccode\u003eb7de434\u003c/code\u003e\u003c/a\u003e add CCfW hooks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22803\"\u003e#22803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b912dfc8788f8f8c351767899df6b72ce3366352\"\u003e\u003ccode\u003eb912dfc\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1ff062d1cccb8025de184a55c6dfe469a4293249\"\u003e\u003ccode\u003e1ff062d\u003c/code\u003e\u003c/a\u003e [ty] Improve completion rankings for raise-from/except contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22775\"\u003e#22775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7e408a51d24db2bca248bb90f2f7938f83efd22b\"\u003e\u003ccode\u003e7e408a5\u003c/code\u003e\u003c/a\u003e Update dependency wrangler to v4.59.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22793\"\u003e#22793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ceb876b82300bd237d11e3eb77c46fcf3d3afe85\"\u003e\u003ccode\u003eceb876b\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e,...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c5b4ee68c90faf0e609fa6553a171a7ba60ebdcb\"\u003e\u003ccode\u003ec5b4ee6\u003c/code\u003e\u003c/a\u003e [ty] Support solving generics involving PEP 695 type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22678\"\u003e#22678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b9a61293153f43df9963c727539309b76ac4756d\"\u003e\u003ccode\u003eb9a6129\u003c/code\u003e\u003c/a\u003e [ty] Improve support for kwarg splats in dictionary literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22781\"\u003e#22781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f516d47ceb7f6a0c3a95eaaa2c7451a32b5d7120\"\u003e\u003ccode\u003ef516d47\u003c/code\u003e\u003c/a\u003e Update contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.6...0.14.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.18.2 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.18.2...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bandit` from 1.9.2 to 1.9.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/bandit/releases\"\u003ebandit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout 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/PyCQA/bandit/pull/1334\"\u003ePyCQA/bandit#1334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1335\"\u003ePyCQA/bandit#1335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix B608 to detect \u003ccode\u003eVALUES(\u003c/code\u003e without space by \u003ca href=\"https://github.com/kfess\"\u003e\u003ccode\u003e@​kfess\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1337\"\u003ePyCQA/bandit#1337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd check for hardcoded passwords in dicts. by \u003ca href=\"https://github.com/alanverresen\"\u003e\u003ccode\u003e@​alanverresen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1338\"\u003ePyCQA/bandit#1338\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1341\"\u003ePyCQA/bandit#1341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate tox tests for Python 3.10 by \u003ca href=\"https://github.com/willschlitzer\"\u003e\u003ccode\u003e@​willschlitzer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1346\"\u003ePyCQA/bandit#1346\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump docker/setup-buildx-action from 3.11.1 to 3.12.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1347\"\u003ePyCQA/bandit#1347\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLimit B614 to torch.load deserializers by \u003ca href=\"https://github.com/dibussoc\"\u003e\u003ccode\u003e@​dibussoc\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1348\"\u003ePyCQA/bandit#1348\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/kfess\"\u003e\u003ccode\u003e@​kfess\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1337\"\u003ePyCQA/bandit#1337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alanverresen\"\u003e\u003ccode\u003e@​alanverresen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1338\"\u003ePyCQA/bandit#1338\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/willschlitzer\"\u003e\u003ccode\u003e@​willschlitzer\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1346\"\u003ePyCQA/bandit#1346\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dibussoc\"\u003e\u003ccode\u003e@​dibussoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1348\"\u003ePyCQA/bandit#1348\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.9.2...1.9.3\"\u003ehttps://github.com/PyCQA/bandit/compare/1.9.2...1.9.3\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/PyCQA/bandit/commit/765f00d3f202f83f61d03f882f80a2d5142d81f8\"\u003e\u003ccode\u003e765f00d\u003c/code\u003e\u003c/a\u003e Limit B614 to torch.load deserializers (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1348\"\u003e#1348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/06fbbab0df3374ffa8ef24c6f601b2d5e1d4d429\"\u003e\u003ccode\u003e06fbbab\u003c/code\u003e\u003c/a\u003e Bump docker/setup-buildx-action from 3.11.1 to 3.12.0 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1347\"\u003e#1347\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/36d6f3c091d84dc547019d773ab6e63a1cbc23af\"\u003e\u003ccode\u003e36d6f3c\u003c/code\u003e\u003c/a\u003e Update tox tests for Python 3.10 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1346\"\u003e#1346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/da0d33816ba5c5f8f72a380720ad054596867807\"\u003e\u003ccode\u003eda0d338\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/649b9bdf87f4f9d850b29819b14b847bd3b8f970\"\u003e\u003ccode\u003e649b9bd\u003c/code\u003e\u003c/a\u003e Add check for hardcoded passwords in dicts. (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/3c56109061524f5907cc4d475b7370bac47a451b\"\u003e\u003ccode\u003e3c56109\u003c/code\u003e\u003c/a\u003e Fix B608 to detect \u003ccode\u003eVALUES(\u003c/code\u003e without space (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1337\"\u003e#1337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/b790ce22f0a69f53468c1755e9d37e6349a2c8c2\"\u003e\u003ccode\u003eb790ce2\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1335\"\u003e#1335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/0b73bbe59642097050d5c698e55d13bae2c6b78c\"\u003e\u003ccode\u003e0b73bbe\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.9.2...1.9.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pylint` from 4.0.3 to 4.0.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/e16f942166511d6fb4427e503a734152fae0c4fe\"\u003e\u003ccode\u003ee16f942\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/657b386c0a83202faa95c9a525b8feb80a4c11ab\"\u003e\u003ccode\u003e657b386\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [invalid-name] Fix FP for exclusive assignment o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/03f8a922a2eabe5b517457807cc992e122dcc9c0\"\u003e\u003ccode\u003e03f8a92\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix: avoid false positive when module-level name...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pylint-dev/pylint/compare/v4.0.3...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.122.0 to 0.128.0\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.128.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14609\"\u003e#14609\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✅ Run performance tests only on Pydantic v2. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14608\"\u003e#14608\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.127.1\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔊 Add a custom \u003ccode\u003eFastAPIDeprecationWarning\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14605\"\u003e#14605\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📝 Add documentary to website. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14600\"\u003e#14600\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\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update translations for de (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14602\"\u003e#14602\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\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/14581\"\u003e#14581\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\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 pre-commit to use local Ruff instead of hook. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14604\"\u003e#14604\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 missing tests for code examples. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14569\"\u003e#14569\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👷 Remove \u003ccode\u003elint\u003c/code\u003e job from \u003ccode\u003etest\u003c/code\u003e CI workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14593\"\u003e#14593\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 secrets check. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14592\"\u003e#14592\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 CodSpeed tests in parallel to other tests to speed up CI. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14586\"\u003e#14586\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 scripts and pre-commit to autofix files. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14585\"\u003e#14585\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.127.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔊 Add deprecation warnings when using \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14583\"\u003e#14583\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\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add LLM prompt file for Korean, generated from the existing translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14546\"\u003e#14546\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 LLM prompt file for Japanese, generated from the existing translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14545\"\u003e#14545\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⬆️ Upgrade OpenAI model for translations to gpt-5.2. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14579\"\u003e#14579\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.126.0\u003c/h2\u003e\n\u003ch3\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14575\"\u003e#14575\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/8322a4445a3b25acd9b26b61192571b2d92f9bcd\"\u003e\u003ccode\u003e8322a44\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.128.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4b2cfcfd34d0b2e158a05b377426e0c8376b94de\"\u003e\u003ccode\u003e4b2cfcf\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e3006305518a56ea35f62a31748ad26fe4356fcc\"\u003e\u003ccode\u003ee300630\u003c/code\u003e\u003c/a\u003e ➖ Drop support for \u003ccode\u003epydantic.v1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14609\"\u003e#14609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/1b3bea8b6be2220cc1544653ea785d2134fcb35b\"\u003e\u003ccode\u003e1b3bea8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/34e884156f38dff4094a7764ff895c4d4b872060\"\u003e\u003ccode\u003e34e8841\u003c/code\u003e\u003c/a\u003e ✅ Run performance tests only on Pydantic v2 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14608\"\u003e#14608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cd90c78391f86f3fd06d5b327bffad9666b05b44\"\u003e\u003ccode\u003ecd90c78\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.127.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/93f4dfd88b7d62bda89eb521ebd9322e357e6fff\"\u003e\u003ccode\u003e93f4dfd\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/535b5daa317a9d1d1f9a1058e57650a7beefa861\"\u003e\u003ccode\u003e535b5da\u003c/code\u003e\u003c/a\u003e 🔊 Add a custom \u003ccode\u003eFastAPIDeprecationWarning\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14605\"\u003e#14605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6b53786f626db95a42fd0f66afd360bab161f4b1\"\u003e\u003ccode\u003e6b53786\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d98f4eb56eae3155034fe631d9639d95171fb9ab\"\u003e\u003ccode\u003ed98f4eb\u003c/code\u003e\u003c/a\u003e 🔧 Update pre-commit to use local Ruff instead of hook (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14604\"\u003e#14604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.122.0...0.128.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.35.0 to 0.40.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.40.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop Python 3.9 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/2772\"\u003eKludex/uvicorn#2772\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.39.0...0.40.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.39.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eexplicitly start ASGI run with empty context by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(websockets): Send close frame on ASGI return by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2769\"\u003eKludex/uvicorn#2769\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.38.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2723\"\u003eKludex/uvicorn#2723\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NGANAMODEIJunior\"\u003e\u003ccode\u003e@​NGANAMODEIJunior\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2713\"\u003eKludex/uvicorn#2713\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.37.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e setting by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2711\"\u003eKludex/uvicorn#2711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e by \u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LincolnPuzey\"\u003e\u003ccode\u003e@​LincolnPuzey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2669\"\u003eKludex/uvicorn#2669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2709\"\u003eKludex/uvicorn#2709\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs by \u003ca href=\"https://github.com/gnir-work\"\u003e\u003ccode\u003e@​gnir-work\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2435\"\u003eKludex/uvicorn#2435\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.40.0 (December 21, 2025)\u003c/h2\u003e\n\u003ch3\u003eRemove\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.39.0 (December 21, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSend close frame on ASGI return for WebSockets (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExplicitly start ASGI run with empty context (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2742\"\u003e#2742\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.38.0 (October 18, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.1 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.0 (September 20, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2435\"\u003e#2435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow to provide importable string in \u003ccode\u003e--http\u003c/code\u003e, \u003ccode\u003e--ws\u003c/code\u003e and \u003ccode\u003e--loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2658\"\u003e#2658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9ff60042a53cd1bbfd5580ab0a91ea2d1d8f2f8c\"\u003e\u003ccode\u003e9ff6004\u003c/code\u003e\u003c/a\u003e Version 0.40.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2773\"\u003e#2773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/19df042c54c1562f058daf021d6f7bd1d5ed621c\"\u003e\u003ccode\u003e19df042\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/865ce7c0b4329a384273a6628eceb8d597989521\"\u003e\u003ccode\u003e865ce7c\u003c/code\u003e\u003c/a\u003e Run strict mypy on test suite (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2771\"\u003e#2771\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/4f40b8495772eb3a1ab3613ffd7be5156f8e1389\"\u003e\u003ccode\u003e4f40b84\u003c/code\u003e\u003c/a\u003e Version 0.39.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2770\"\u003e#2770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/5692dfc416f9e65aee5028e55d119313d8d3ab0f\"\u003e\u003ccode\u003e5692dfc\u003c/code\u003e\u003c/a\u003e fix(websockets): Send close frame on ASGI return (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/4194764a26824e5d8ddd1fa673df78dff82966e0\"\u003e\u003ccode\u003e4194764\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2763\"\u003e#2763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/d94bf28743de545d2d4b150f022203a5178cb705\"\u003e\u003ccode\u003ed94bf28\u003c/code\u003e\u003c/a\u003e explicitly start ASGI run with empty context (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2742\"\u003e#2742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/8ae0bcbecb0a655789abf0c2dd4200848fc68a30\"\u003e\u003ccode\u003e8ae0bcb\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2748\"\u003e#2748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/4744ff9a1a4888c76ea160328cc9dcc2680c2c71\"\u003e\u003ccode\u003e4744ff9\u003c/code\u003e\u003c/a\u003e Add groups configuration for GitHub Actions (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2747\"\u003e#2747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/0391372376c264604a0475b0864bcbf3a8705352\"\u003e\u003ccode\u003e0391372\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from 6.8.0 to 7.1.2 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2746\"\u003e#2746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional com...\n\n_Description has been truncated_","html_url":"https://github.com/manavgup/rag_modulo/pull/740","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/manavgup%2Frag_modulo/issues/740","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/740/packages"}},{"old_version":"0.34.0","new_version":"0.35.0","update_type":"minor","path":null,"pr_created_at":"2026-02-02T01:25:14.000Z","version_change":"0.34.0 → 0.35.0","issue":{"uuid":"3883492533","node_id":"PR_kwDOQmboGc7Aycts","number":21,"state":"open","title":"chore(deps)(deps): bump the python-minor-patch group across 1 directory with 50 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["KyaRhamil"],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-02T01:25:14.000Z","updated_at":"2026-02-02T14:02:02.098Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"python-minor-patch","update_count":50,"packages":[{"name":"flask","old_version":"3.0.3","new_version":"3.1.2","repository_url":"https://github.com/pallets/flask"},{"name":"flask-cors","old_version":"6.0.0","new_version":"6.0.2","repository_url":"https://github.com/corydolphin/flask-cors"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"numpy","old_version":"2.1.3","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"joblib","old_version":"1.4.2","new_version":"1.5.3","repository_url":"https://github.com/joblib/joblib"},{"name":"scipy","old_version":"1.14.1","new_version":"1.17.0","repository_url":"https://github.com/scipy/scipy"},{"name":"apscheduler","old_version":"3.10.4","new_version":"3.11.2","repository_url":"https://github.com/agronholm/apscheduler"},{"name":"celery","old_version":"5.4.0","new_version":"5.6.2","repository_url":"https://github.com/celery/celery"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"sqlalchemy","old_version":"2.0.35","new_version":"2.0.46","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"alembic","old_version":"1.13.3","new_version":"1.18.3","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"matplotlib","old_version":"3.9.2","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"pyjwt","old_version":"2.9.0","new_version":"2.11.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"email-validator","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/JoshData/python-email-validator"},{"name":"flask-compress","old_version":"1.15","new_version":"1.23","repository_url":"https://github.com/colour-science/flask-compress"},{"name":"flask-caching","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/pallets-eco/flask-caching"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"prometheus-flask-exporter","old_version":"0.23.1","new_version":"0.23.2","repository_url":"https://github.com/rycus86/prometheus_flask_exporter"},{"name":"sentry-sdk","old_version":"2.18.0","new_version":"2.51.0"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.67.2","repository_url":"https://github.com/tqdm/tqdm"},{"name":"openmeteo-requests","old_version":"1.2.0","new_version":"1.7.5","repository_url":"https://github.com/open-meteo/python-requests"},{"name":"beautifulsoup4","old_version":"4.12.3","new_version":"4.14.3"},{"name":"tabula-py","old_version":"2.9.3","new_version":"2.10.0","repository_url":"https://github.com/chezou/tabula-py"},{"name":"geopandas","old_version":"1.0.1","new_version":"1.1.2","repository_url":"https://github.com/geopandas/geopandas"},{"name":"folium","old_version":"0.18.0","new_version":"0.20.0","repository_url":"https://github.com/python-visualization/folium"},{"name":"shapely","old_version":"2.0.6","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"},{"name":"statsmodels","old_version":"0.14.4","new_version":"0.14.6","repository_url":"https://github.com/statsmodels/statsmodels"},{"name":"prophet","old_version":"1.1.6","new_version":"1.3.0","repository_url":"https://github.com/facebook/prophet"},{"name":"graphql-core","old_version":"3.2.5","new_version":"3.2.7","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"earthengine-api","old_version":"1.4.3","new_version":"1.7.10","repository_url":"https://github.com/google/earthengine-api"},{"name":"google-cloud-bigquery","old_version":"3.27.0","new_version":"3.40.0","repository_url":"https://github.com/googleapis/python-bigquery"},{"name":"google-auth","old_version":"2.37.0","new_version":"2.48.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-auth-oauthlib","old_version":"1.2.1","new_version":"1.2.4","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib"},{"name":"google-auth-httplib2","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2"},{"name":"jupyter","old_version":"1.0.0","new_version":"1.1.1"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-xdist","old_version":"3.5.0","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"responses","old_version":"0.24.1","new_version":"0.25.8","repository_url":"https://github.com/getsentry/responses"},{"name":"httpx","old_version":"0.25.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"locust","old_version":"2.20.1","new_version":"2.43.2","repository_url":"https://github.com/locustio/locust"},{"name":"bandit","old_version":"1.7.6","new_version":"1.9.3","repository_url":"https://github.com/PyCQA/bandit"},{"name":"safety","old_version":"3.2.0","new_version":"3.7.0","repository_url":"https://github.com/pyupio/safety"},{"name":"pip-audit","old_version":"2.7.3","new_version":"2.10.0","repository_url":"https://github.com/pypa/pip-audit"},{"name":"coverage","old_version":"7.6.0","new_version":"7.13.2","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"coverage-badge","old_version":"1.1.0","new_version":"1.1.2","repository_url":"https://github.com/dbrgn/coverage-badge"},{"name":"pytest-html","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/pytest-dev/pytest-html"},{"name":"google-cloud-bigquery-storage","old_version":"2.27.0","new_version":"2.36.0","repository_url":"https://github.com/googleapis/google-cloud-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 50 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `3.0.3` | `3.1.2` |\n| [flask-cors](https://github.com/corydolphin/flask-cors) | `6.0.0` | `6.0.2` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [numpy](https://github.com/numpy/numpy) | `2.1.3` | `2.4.2` |\n| [joblib](https://github.com/joblib/joblib) | `1.4.2` | `1.5.3` |\n| [scipy](https://github.com/scipy/scipy) | `1.14.1` | `1.17.0` |\n| [apscheduler](https://github.com/agronholm/apscheduler) | `3.10.4` | `3.11.2` |\n| [celery](https://github.com/celery/celery) | `5.4.0` | `5.6.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.35` | `2.0.46` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.13.3` | `1.18.3` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.9.2` | `3.10.8` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.9.0` | `2.11.0` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [email-validator](https://github.com/JoshData/python-email-validator) | `2.2.0` | `2.3.0` |\n| [flask-compress](https://github.com/colour-science/flask-compress) | `1.15` | `1.23` |\n| [flask-caching](https://github.com/pallets-eco/flask-caching) | `2.3.0` | `2.3.1` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [prometheus-flask-exporter](https://github.com/rycus86/prometheus_flask_exporter) | `0.23.1` | `0.23.2` |\n| [sentry-sdk[flask]](https://github.com/getsentry/sentry-python) | `2.18.0` | `2.51.0` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.1` | `4.67.2` |\n| [openmeteo-requests](https://github.com/open-meteo/python-requests) | `1.2.0` | `1.7.5` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.12.3` | `4.14.3` |\n| [tabula-py](https://github.com/chezou/tabula-py) | `2.9.3` | `2.10.0` |\n| [geopandas](https://github.com/geopandas/geopandas) | `1.0.1` | `1.1.2` |\n| [folium](https://github.com/python-visualization/folium) | `0.18.0` | `0.20.0` |\n| [shapely](https://github.com/shapely/shapely) | `2.0.6` | `2.1.2` |\n| [statsmodels](https://github.com/statsmodels/statsmodels) | `0.14.4` | `0.14.6` |\n| [prophet](https://github.com/facebook/prophet) | `1.1.6` | `1.3.0` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.5` | `3.2.7` |\n| [earthengine-api](https://github.com/google/earthengine-api) | `1.4.3` | `1.7.10` |\n| [google-cloud-bigquery](https://github.com/googleapis/python-bigquery) | `3.27.0` | `3.40.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.37.0` | `2.48.0` |\n| [google-auth-oauthlib](https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib) | `1.2.1` | `1.2.4` |\n| [google-auth-httplib2](https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2) | `0.2.0` | `0.3.0` |\n| [jupyter](https://jupyter.org) | `1.0.0` | `1.1.1` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.15.1` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.5.0` | `3.8.0` |\n| [responses](https://github.com/getsentry/responses) | `0.24.1` | `0.25.8` |\n| [httpx](https://github.com/encode/httpx) | `0.25.2` | `0.28.1` |\n| [locust](https://github.com/locustio/locust) | `2.20.1` | `2.43.2` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.7.6` | `1.9.3` |\n| [safety](https://github.com/pyupio/safety) | `3.2.0` | `3.7.0` |\n| [pip-audit](https://github.com/pypa/pip-audit) | `2.7.3` | `2.10.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.6.0` | `7.13.2` |\n| [coverage-badge](https://github.com/dbrgn/coverage-badge) | `1.1.0` | `1.1.2` |\n| [pytest-html](https://github.com/pytest-dev/pytest-html) | `4.1.1` | `4.2.0` |\n| [google-cloud-bigquery-storage](https://github.com/googleapis/google-cloud-python) | `2.27.0` | `2.36.0` |\n\n\nUpdates `flask` from 3.0.3 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\n\u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation\nabout resource limits to the security page. :issue:\u003ccode\u003e5625\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the\n\u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. :issue:\u003ccode\u003e5472\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files.\n\u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless\n\u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. :issue:\u003ccode\u003e5628\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old\nsecret keys that can still be used for unsigning. Extensions will need to\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/flask/commit/2c1b30d0503cfb064f1cb252e6614a06915a362a\"\u003e\u003ccode\u003e2c1b30d\u003c/code\u003e\u003c/a\u003e release version 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/1292419ddfc6a14fc7f85b5ed7efcc2d215f1ad3\"\u003e\u003ccode\u003e1292419\u003c/code\u003e\u003c/a\u003e Update GitHub Actions workflow for artifact handling (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5795\"\u003e#5795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4dd52ca9c768c9b6d04180f0547d6f4b6e34f211\"\u003e\u003ccode\u003e4dd52ca\u003c/code\u003e\u003c/a\u003e Update GitHub Actions workflow for artifact handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/55c62556571ee46a94da174643b50ece06edead4\"\u003e\u003ccode\u003e55c6255\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/d8259eb11900285af9b80b0fa47f841174c054e3\"\u003e\u003ccode\u003ed8259eb\u003c/code\u003e\u003c/a\u003e use Jinja name consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/38b4c1e19b50494cfcdc9332899e09b7fed34979\"\u003e\u003ccode\u003e38b4c1e\u003c/code\u003e\u003c/a\u003e refactor stream_with_context for async views (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5799\"\u003e#5799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/9822a0351574790cb66c652fcc396ad7aa2b09d8\"\u003e\u003ccode\u003e9822a03\u003c/code\u003e\u003c/a\u003e refactor stream_with_context for async views\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/49b7e7bc8fb69d605719991d1c0a99fcee689053\"\u003e\u003ccode\u003e49b7e7b\u003c/code\u003e\u003c/a\u003e security docs for TRUSTED_HOSTS (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5798\"\u003e#5798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/b228ca3d87745b746d904a2108429617a814ffda\"\u003e\u003ccode\u003eb228ca3\u003c/code\u003e\u003c/a\u003e security docs for TRUSTED_HOSTS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ff64079a516c269f171ababf3d92b86886a62ffd\"\u003e\u003ccode\u003eff64079\u003c/code\u003e\u003c/a\u003e update flask-talisman link\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.0.3...3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask-cors` from 6.0.0 to 6.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/corydolphin/flask-cors/releases\"\u003eflask-cors's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate license pyproject.toml by \u003ca href=\"https://github.com/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\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/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInvert regex sorting to make it correctly match the intent (sorting by specificity descending) \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1.dev\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\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/corydolphin/flask-cors/commit/fa55dcbec68b3524a39e5057c35c29c221a27d64\"\u003e\u003ccode\u003efa55dcb\u003c/code\u003e\u003c/a\u003e Update license pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/a5003f391e56f74f11a3e509cd180787c75eb6b0\"\u003e\u003ccode\u003ea5003f3\u003c/code\u003e\u003c/a\u003e Fix README file extension in pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/4ad56d6c20252d36031c74ba8386a81e94286f40\"\u003e\u003ccode\u003e4ad56d6\u003c/code\u003e\u003c/a\u003e Fix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.1.3 to 2.4.2\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.2 (Feb 1, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.2 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.2 is a patch release that fixes bugs discovered after the\n2.4.1 release. Highlights are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixes memory leaks\u003c/li\u003e\n\u003cli\u003eUpdates OpenBLAS to fix hangs\u003c/li\u003e\n\u003c/ul\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 9 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 Tang +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eKumar Aditya\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eVikram Kumar +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 12 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/30629\"\u003e#30629\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/30636\"\u003e#30636\u003c/a\u003e: TYP: \u003ccode\u003earange\u003c/code\u003e: accept datetime strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30657\"\u003e#30657\u003c/a\u003e: MAINT: avoid possible race condition by not touching \u003ccode\u003eos.environ\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30700\"\u003e#30700\u003c/a\u003e: BUG: validate contraction axes in tensordot (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30521\"\u003e#30521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30701\"\u003e#30701\u003c/a\u003e: DOC: __array_namespace__info__: set_module not __module__ (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30679\"\u003e#30679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30702\"\u003e#30702\u003c/a\u003e: BUG: fix free-threaded PyObject layout in replace_scalar_type_names...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30703\"\u003e#30703\u003c/a\u003e: TST: fix limited API example in tests for latest Cython\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30709\"\u003e#30709\u003c/a\u003e: BUG: Fix some bugs found via valgrind (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30680\"\u003e#30680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30712\"\u003e#30712\u003c/a\u003e: MAINT: replace ob_type access with Py_TYPE in PyArray_CheckExact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30713\"\u003e#30713\u003c/a\u003e: BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30736\"\u003e#30736\u003c/a\u003e: BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30737\"\u003e#30737\u003c/a\u003e: backport scipy-openblas version change\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.1 (Jan 10, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.1 is a patch release that fixes bugs discoved after the\n2.4.0 release. In particular, the typo \u003ccode\u003eSeedlessSequence\u003c/code\u003e is preserved to\nenable wheels using the random Cython API and built against NumPy \u0026lt; 2.4.0\nto run without errors.\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/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003cli\u003eYou can use the \u003ccode\u003ekeyring\u003c/code\u003e app to store the PyPI password for twine. See the\nonline twine documentation for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003cp\u003eCheck the numpy-release repo\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/c81c49f77451340651a751e76bca607d85e4fd55\"\u003e\u003ccode\u003ec81c49f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30757\"\u003e#30757\u003c/a\u003e from charris/prepare-2.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b3ae9c59de627110458653836f1be81280222f85\"\u003e\u003ccode\u003eb3ae9c5\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9de89843c3918fa133f1aab9fb4435c38a3b0ba6\"\u003e\u003ccode\u003e9de8984\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30737\"\u003e#30737\u003c/a\u003e from mattip/scipy-openblas-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b7be329895e32de44578742b2745fb307cdf8625\"\u003e\u003ccode\u003eb7be329\u003c/code\u003e\u003c/a\u003e backport scipy-openblas version change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7ff98637f80dc1ff7a18fce8025ffabdded76094\"\u003e\u003ccode\u003e7ff9863\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30736\"\u003e#30736\u003c/a\u003e from charris/backport-30667\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/431fffbe91d86c04738f039e0048441f8f9b5fff\"\u003e\u003ccode\u003e431fffb\u003c/code\u003e\u003c/a\u003e MAINT: Skip tests that require \u003cstrong\u003ebuffer\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/127235fcd9b2e80764da8f6c64f942a6bddb093a\"\u003e\u003ccode\u003e127235f\u003c/code\u003e\u003c/a\u003e BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/18bdb2e675b68daa5afc3250c41982ff77b3867f\"\u003e\u003ccode\u003e18bdb2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30713\"\u003e#30713\u003c/a\u003e from charris/backport-30710\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/41dd7512de6dc3dd665b71d4e3a321aa1150dc48\"\u003e\u003ccode\u003e41dd751\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30712\"\u003e#30712\u003c/a\u003e from charris/backport-30705\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7a278da99943376313b8f631905c3baaa7a82a30\"\u003e\u003ccode\u003e7a278da\u003c/code\u003e\u003c/a\u003e BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.1.3...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `joblib` from 1.4.2 to 1.5.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/joblib/joblib/blob/main/CHANGES.rst\"\u003ejoblib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.5.3 - 2025/12/15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eMemory\u003c/code\u003e object won't overwrite an already existing \u003ccode\u003e.gitignore\u003c/code\u003e file in its\ncache directory anymore.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1742\"\u003ejoblib/joblib#1742\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHarden the safety checks in \u003ccode\u003eeval_expr(pre_dispatch)\u003c/code\u003e to prevent excessive\nmemory allocation and potential crashes by limiting the allowed length of the\nexpression and the maximum numeric value of sub-expressions and not\nevaluating expressions with non-numeric literals.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1744\"\u003ejoblib/joblib#1744\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor cloudpickle 3.1.2 to fix a pickling problem with interactively\ndefined abstract base classes and type annotations in Python 3.14+.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.2 - 2025/08/27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendor \u003ccode\u003eloky3.5.6\u003c/code\u003e fixing the resource tracker for python 3.13.7+\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1740\"\u003ejoblib/joblib#1740\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMemory:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Ensure that temporary files managed by the ``Memory`` object do not collide\n  when using the same cache directory when the cache directory is accessed\n  concurrently from different nodes on a cluster with a shared filesystem.\n  https://github.com/joblib/joblib/pull/1656\n\u003ch2\u003eRelease 1.5.1 - 2025/05/23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix backend hints causing errors when no multiprocessing is present\u003cbr /\u003e\n\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1721\"\u003ejoblib/joblib#1721\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor \u003ccode\u003eloky3.5.5\u003c/code\u003e fixing the resource_tracker clean up with earlier Python\u003cbr /\u003e\nversions. \u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1724\"\u003ejoblib/joblib#1724\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.0 -- 2025/05/03\u003c/h2\u003e\n\u003cp\u003eMemory:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eEnforce \u003ccode\u003eage_limit\u003c/code\u003e is a positive timedelta for \u003ccode\u003eMemory.reduce_size\u003c/code\u003e,\nto avoid silently ignoring it.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1613\"\u003ejoblib/joblib#1613\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003ebytes_limit\u003c/code\u003e argument for \u003ccode\u003eMemory\u003c/code\u003e, which should\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/joblib/joblib/commit/40cd002ae1765195dfc4738a6bc7f5534b420a21\"\u003e\u003ccode\u003e40cd002\u003c/code\u003e\u003c/a\u003e RELEASE 1.5.3 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f05be6705e0f56856b76d76fecdddab95de394c8\"\u003e\u003ccode\u003ef05be67\u003c/code\u003e\u003c/a\u003e MNT Remove last usage of distutils (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1760\"\u003e#1760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/4273f396b7fb66da7f72f603a6bf6651393c5be1\"\u003e\u003ccode\u003e4273f39\u003c/code\u003e\u003c/a\u003e MNT bump actions/checkout from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1762\"\u003e#1762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f465f0245d20c1e793d98b8071a9604623ffd528\"\u003e\u003ccode\u003ef465f02\u003c/code\u003e\u003c/a\u003e FIX don't overwrite existing .gitignore (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1742\"\u003e#1742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/cca7d87a94a1bd141c6c505a909becd4c1854fde\"\u003e\u003ccode\u003ecca7d87\u003c/code\u003e\u003c/a\u003e MNT bump sklearn test on python 3.12 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1759\"\u003e#1759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f7775ad30051d95d83da76125b176962989bf763\"\u003e\u003ccode\u003ef7775ad\u003c/code\u003e\u003c/a\u003e MNT remove deprecated pytest feature (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1757\"\u003e#1757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/3c58aab890faad3b01eda5e6b35f382edcd71f91\"\u003e\u003ccode\u003e3c58aab\u003c/code\u003e\u003c/a\u003e Add Python 3.14 and 3.14t to the testing (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1747\"\u003e#1747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/9b96664daa07e11f6bee797f55567ac28a961cdb\"\u003e\u003ccode\u003e9b96664\u003c/code\u003e\u003c/a\u003e Bump cloudpickle to 3.1.2 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1752\"\u003e#1752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/c3bdbd9511da485c7036a433dce1924bdbbd1313\"\u003e\u003ccode\u003ec3bdbd9\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 5 updates (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1749\"\u003e#1749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/a09bb30b22b286ee8b233fe9391b21560e1799a9\"\u003e\u003ccode\u003ea09bb30\u003c/code\u003e\u003c/a\u003e Keep GitHub Actions up to date with GitHub's Dependabot (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1748\"\u003e#1748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/joblib/joblib/compare/1.4.2...1.5.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.14.1 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy/releases\"\u003escipy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSciPy 1.17.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.0\u003c/code\u003e is the culmination of 6 months of hard work. It contains\nmany new features, numerous bug-fixes, improved test coverage and better\ndocumentation. There have been a number of deprecations and API changes\nin this release, which are documented below. All users are encouraged to\nupgrade to this release, as there are a large number of bug-fixes and\noptimizations. Before upgrading, we recommend that users check that\ntheir own code does not use deprecated SciPy functionality (to do so,\nrun your code with \u003ccode\u003epython -Wd\u003c/code\u003e and check for \u003ccode\u003eDeprecationWarning\u003c/code\u003e s).\nOur development attention will now shift to bug-fix releases on the\n\u003ccode\u003e1.17.x\u003c/code\u003e branch, and on adding new features on the main branch.\u003c/p\u003e\n\u003cp\u003eThis release requires Python \u003ccode\u003e3.11\u003c/code\u003e-\u003ccode\u003e3.14\u003c/code\u003e and NumPy \u003ccode\u003e1.26.4\u003c/code\u003e or greater.\u003c/p\u003e\n\u003ch1\u003eHighlights of this release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMany SciPy functions have gained native support for batching of N-dimensional\narray input and additional support for the array API standard. An overall\nsummary of the latter is now available in a \u003ca href=\"https://scipy.github.io/devdocs/dev/api-dev/array_api.html#api-coverage\"\u003eset of tables\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003escipy.sparse\u003c/code\u003e, \u003ccode\u003ecoo_array\u003c/code\u003e now supports indexing. This includes integers,\nslices, arrays, \u003ccode\u003enp.newaxis\u003c/code\u003e, \u003ccode\u003eEllipsis\u003c/code\u003e, in 1D, 2D and the relatively\nnew nD. In \u003ccode\u003escipy.sparse.linalg\u003c/code\u003e, ARPACK and PROPACK rewrites from Fortran77\nto C now empower the use of external pseudorandom number generators, e.g.\nfrom numpy.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003escipy.spatial\u003c/code\u003e, \u003ccode\u003etransform.Rotation\u003c/code\u003e and \u003ccode\u003etransform.RigidTransform\u003c/code\u003e\nhave been extended to support N-D arrays. \u003ccode\u003egeometric_slerp\u003c/code\u003e now has support\nfor extrapolation.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003escipy.stats\u003c/code\u003e has gained the matrix t and logistic distributions and many\nperformance and accuracy improvements.\u003c/li\u003e\n\u003cli\u003eInitial support for 64-bit integer (ILP64) BLAS and LAPACK libraries has\nbeen added, including for MKL and Apple Accelerate. Please report any issues with\nILP64 you encounter.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eNew features\u003c/h1\u003e\n\u003ch1\u003e\u003ccode\u003escipy.integrate\u003c/code\u003e improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eThe integration routines \u003ccode\u003edopri5\u003c/code\u003e, \u003ccode\u003edopri853\u003c/code\u003e, \u003ccode\u003eLSODA\u003c/code\u003e, \u003ccode\u003evode\u003c/code\u003e, and\n\u003ccode\u003ezvode\u003c/code\u003e have been ported from Fortran77 to C.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003escipy.integrate.quad\u003c/code\u003e now has a fast path for returning 0 when the integration\ninterval is empty.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eBDF\u003c/code\u003e, \u003ccode\u003eDOP853\u003c/code\u003e, \u003ccode\u003eRK23\u003c/code\u003e, \u003ccode\u003eRK45\u003c/code\u003e, \u003ccode\u003eOdeSolver\u003c/code\u003e, \u003ccode\u003eDenseOutput\u003c/code\u003e,\n\u003ccode\u003eode\u003c/code\u003e, and \u003ccode\u003ecomplex_ode\u003c/code\u003e classes now support subscription, making them\ngeneric types, for compatibility with \u003ccode\u003escipy-stubs\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/scipy/scipy/commit/8c75ae75176236f233824e9a0483c26a69e6dfec\"\u003e\u003ccode\u003e8c75ae7\u003c/code\u003e\u003c/a\u003e REL: 1.17.0 \u0026quot;final\u0026quot; release commit [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/9d7f110540b5f054cfd99820b5eb02b56a7f2aab\"\u003e\u003ccode\u003e9d7f110\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24298\"\u003e#24298\u003c/a\u003e from tylerjereddy/treddy_prep_1.17.0_final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/94373b602e384cf613e1287b209609a7908c6f5e\"\u003e\u003ccode\u003e94373b6\u003c/code\u003e\u003c/a\u003e MAINT: test wheels [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/723f4e2f83214c237d6afa8a9761f4ef1e00c1fe\"\u003e\u003ccode\u003e723f4e2\u003c/code\u003e\u003c/a\u003e DOC: update 1.17.0 relnotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/bf042f043f1f59a1856827c249453d899abc12fc\"\u003e\u003ccode\u003ebf042f0\u003c/code\u003e\u003c/a\u003e CI: ensure we use pinned scipy-openblas version also in ILP64 job\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/3e00a04941ca2e7cacf6130fd9c28a8aeeefcad8\"\u003e\u003ccode\u003e3e00a04\u003c/code\u003e\u003c/a\u003e CI: fix issue with ILP64 job; point to fixed numpy/meson commit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/39bceab6f85ae717595c2291f6efe0ca29c53ee0\"\u003e\u003ccode\u003e39bceab\u003c/code\u003e\u003c/a\u003e BUG: stats: fix va_args memory corruption bug\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/8f563872fa61c891fede2b547c02190413ec9858\"\u003e\u003ccode\u003e8f56387\u003c/code\u003e\u003c/a\u003e DOC: update 1.17.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/c50e9c03eafec0bb7703acafffc948deb78a567c\"\u003e\u003ccode\u003ec50e9c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24304\"\u003e#24304\u003c/a\u003e from ev-br/edit_relnotes_for_ILP64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/b204495c6122f3670c67000ae29963676024be87\"\u003e\u003ccode\u003eb204495\u003c/code\u003e\u003c/a\u003e DOC: clarify ILP64 support caveats in the release notes, remove mentions of O...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy/compare/v1.14.1...v1.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `apscheduler` from 3.10.4 to 3.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/apscheduler/releases\"\u003eapscheduler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where a job using a \u003ccode\u003eCronTrigger\u003c/code\u003e scheduled in a repeated time interval during DST transitions could cause the scheduler to get stuck in an infinite loop (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e; PR by \u003ca href=\"https://github.com/soulofakuma\"\u003e\u003ccode\u003e@​soulofakuma\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003escheduler.shutdown()\u003c/code\u003e not raising \u003ccode\u003eSchedulerNotRunning\u003c/code\u003e (or raising the wrong exception) for asynchronous schedulers when the scheduler is in fact not running\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCronTrigger\u003c/code\u003e sticking on a folded datetime during the fall-back DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e \u0026lt;\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003eagronholm/apscheduler#1021\u003c/a\u003e\u0026gt;_; PR by \u003ca href=\"https://github.com/berianjames\"\u003e\u003ccode\u003e@​berianjames\u003c/code\u003e\u003c/a\u003e)`\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.6 and 3.7\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eZoneInfo\u003c/code\u003e time zones and deprecated support for pytz time zones\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCalendarIntervalTrigger\u003c/code\u003e, backported from the 4.x series\u003c/li\u003e\n\u003cli\u003eAdded the ability to export and import jobs via \u003ccode\u003escheduler.export_jobs()\u003c/code\u003e and \u003ccode\u003escheduler.import_jobs()\u003c/code\u003e, respectively\u003c/li\u003e\n\u003cli\u003eRemoved the dependency on \u003ccode\u003esix\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e to spawn new subprocesses from scratch instead of forking on all platform\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eAsyncIOScheduler\u003c/code\u003e inadvertently creating a defunct event loop at start, leading to the scheduler not working at all\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e not respecting the passed keyword arguments when a broken pool was being replaced\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/0f70950e320f3a7924dcd404c6c379143fb68b23\"\u003e\u003ccode\u003e0f70950\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/bc404e63af18bd8e493e0765f2ad0b51e6df0ef1\"\u003e\u003ccode\u003ebc404e6\u003c/code\u003e\u003c/a\u003e Updated publish actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/c3aa155bd39fe54639d69b396f9ad720246f0c98\"\u003e\u003ccode\u003ec3aa155\u003c/code\u003e\u003c/a\u003e Updated pre-commit modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/ad6b2dc766cd6722c8aa51543f988b9ee7b13110\"\u003e\u003ccode\u003ead6b2dc\u003c/code\u003e\u003c/a\u003e Added fix for get_next_fire_time not advancing through fold with unfolded pre...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/f4df139771b7741f58f0eb456f091d3f659555c1\"\u003e\u003ccode\u003ef4df139\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/25be7b77afca892d152441d4a61402623af7f943\"\u003e\u003ccode\u003e25be7b7\u003c/code\u003e\u003c/a\u003e Fixed CronTrigger getting stuck on fallback DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1079\"\u003e#1079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/12613862e34456215dc98574f6cf594f77d66f47\"\u003e\u003ccode\u003e1261386\u003c/code\u003e\u003c/a\u003e Updated etcd image repository name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/b1f5636ccaf6a2fe86b208d7bd6b43024a1546b3\"\u003e\u003ccode\u003eb1f5636\u003c/code\u003e\u003c/a\u003e Fixed shutdown() not raising the correct exception for some schedulers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/6c72a51416893eb0eebbe63d0f2a0151952cab59\"\u003e\u003ccode\u003e6c72a51\u003c/code\u003e\u003c/a\u003e Backported release job from master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/4b965109548e528c061cf32b672de1a6f65f2c2a\"\u003e\u003ccode\u003e4b96510\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/apscheduler/compare/3.10.4...3.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `celery` from 5.4.0 to 5.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/releases\"\u003ecelery's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.6.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string by \u003ca href=\"https://github.com/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix: Revoked tasks now immediately update backend status to REVOKED by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9869\"\u003ecelery/celery#9869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.2 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10049\"\u003ecelery/celery#10049\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.1...v5.6.2\"\u003ehttps://github.com/celery/celery/compare/v5.6.1...v5.6.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support by \u003ca href=\"https://github.com/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown by \u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option by \u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10020\"\u003ecelery/celery#10020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup by \u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereliable prefork detection by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10023\"\u003ecelery/celery#10023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebetter coverage by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10029\"\u003ecelery/celery#10029\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example by \u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10032\"\u003ecelery/celery#10032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10033\"\u003ecelery/celery#10033\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10037\"\u003ecelery/celery#10037\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.0...v5.6.1\"\u003ehttps://github.com/celery/celery/compare/v5.6.0...v5.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.0\u003c/h2\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003ch2\u003eKey Highlights\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.celeryq.dev/en/stable/history/whatsnew-5.6.html\"\u003eWhat's new in Celery 5.6\u003c/a\u003e for a complete overview or read the main highlights below.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Minimum Version\u003c/h3\u003e\n\u003cp\u003eCelery 5.6.0 drops support for Python 3.8 (EOL). The minimum required Python version is now 3.9. Users still on Python 3.8 must upgrade their Python version before upgrading to Celery 5.6.0.\u003c/p\u003e\n\u003cp\u003eAdditionally, this release includes initial support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eSQS: Reverted to \u003ccode\u003epycurl\u003c/code\u003e from \u003ccode\u003eurllib3\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003eThe switch from \u003ccode\u003epycurl\u003c/code\u003e to \u003ccode\u003eurllib3\u003c/code\u003e for the SQS transport (introduced in Celery 5.5.0 via Kombu) has been reverted due to critical issues affecting SQS users.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/blob/main/Changelog.rst\"\u003ecelery's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.6.2\u003c/h1\u003e\n\u003cp\u003e:release-date: 2026-01-04\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string ([#10045](https://github.com/celery/celery/issues/10045))\n- Bugfix: Revoked tasks now immediately update backend status to REVOKED ([#9869](https://github.com/celery/celery/issues/9869))\n- Prepare for release: v5.6.2 ([#10049](https://github.com/celery/celery/issues/10049))\n\u003cp\u003e.. _version-5.6.1:\u003c/p\u003e\n\u003ch1\u003e5.6.1\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-12-29\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10013\"\u003e#10013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9986\"\u003e#9986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10016\"\u003e#10016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10020\"\u003e#10020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10015\"\u003e#10015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereliable prefork detection (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10023\"\u003e#10023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebetter coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#10029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10030\"\u003e#10030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10032\"\u003e#10032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _version-5.6.0:\u003c/p\u003e\n\u003ch1\u003e5.6.0\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-11-30\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003cp\u003eKey Highlights\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nSee :ref:`whatsnew-5.6` for a complete overview or read the main highlights below.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6a43c846f183ef0cbade24f4b9a8f7a6ea113b44\"\u003e\u003ccode\u003e6a43c84\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.2 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10049\"\u003e#10049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/333a82f746734151c5cbe848916085455b0a3748\"\u003e\u003ccode\u003e333a82f\u003c/code\u003e\u003c/a\u003e Bugfix: Revoked tasks now immediately update backend status to REVOKED (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9869\"\u003e#9869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/9d6ab110d947270c4edf0b42454266d2954e653d\"\u003e\u003ccode\u003e9d6ab11\u003c/code\u003e\u003c/a\u003e Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeEr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21dbc73f81d2fae058de49e665afaa1cd92da5c0\"\u003e\u003ccode\u003e21dbc73\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/ba20bed7723c684d12ddd62d6a7c0c0d901b3351\"\u003e\u003ccode\u003eba20bed\u003c/code\u003e\u003c/a\u003e Only use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21675299bc2d10c648448ec5221136e07c1eec1a\"\u003e\u003ccode\u003e2167529\u003c/code\u003e\u003c/a\u003e Stop importing pytest_subtests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/0527296acb1f1790788301d4395ba6d5ce2a9704\"\u003e\u003ccode\u003e0527296\u003c/code\u003e\u003c/a\u003e Bump google-cloud-firestore from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/5f8659bdba4561796d66e938a1e2c71d4489562f\"\u003e\u003ccode\u003e5f8659b\u003c/code\u003e\u003c/a\u003e Clarify 'result_extended' setting usage in tasks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/f19db7008682c782d85e69b5ce736970491752ea\"\u003e\u003ccode\u003ef19db70\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.19.0 to 1.19.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10028\"\u003e#10028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6da72bde60553a1c350eef1e17d834d004ed099d\"\u003e\u003ccode\u003e6da72bd\u003c/code\u003e\u003c/a\u003e better coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#10029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/celery/celery/compare/v5.4.0...v5.6.2\"\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.1\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.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env 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/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\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.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff 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/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() 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/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) 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/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini 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/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory 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/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml 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/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure find_dotenv 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/pull/563\"\u003etheskumar/python-dotenv#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): issue with execvpe on Windows by \u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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.1.0...v1.1.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a security policy 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/512\"\u003etheskumar/python-dotenv#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep GitHub Actions up to date with GitHub's Dependabot by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/506\"\u003etheskumar/python-dotenv#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix multiline string in test.yml \u0026amp; use fail-fast strategy by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/514\"\u003etheskumar/python-dotenv#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance dotenv run: Switch to execvpe for better resource management and signal handling by \u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/523\"\u003etheskumar/python-dotenv#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add py3.13 to test.yml by \u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/527\"\u003etheskumar/python-dotenv#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.13 trove classifier by \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/535\"\u003etheskumar/python-dotenv#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/529\"\u003etheskumar/python-dotenv#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.13 and drop 3.8 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/551\"\u003etheskumar/python-dotenv#551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update README.md by \u003ca href=\"https://github.com/chapeupreto\"\u003e\u003ccode\u003e@​chapeupreto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/516\"\u003etheskumar/python-dotenv#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome more s/Python-dotenv/python-dotenv/ 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/552\"\u003etheskumar/python-dotenv#552\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/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.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/pull/563\"\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@​thesk...\n\n_Description has been truncated_","html_url":"https://github.com/KyaRhamil/floodingnaque/pull/21","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyaRhamil%2Ffloodingnaque/issues/21","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/21/packages"}},{"old_version":"0.34.0","new_version":"0.35.0","update_type":"minor","path":"/backend","pr_created_at":"2026-01-26T07:12:11.000Z","version_change":"0.34.0 → 0.35.0","issue":{"uuid":"3854773565","node_id":"PR_kwDOQmboGc6_Thcz","number":10,"state":"open","title":"chore(deps)(deps): bump the python-minor-patch group in /backend with 49 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["KyaRhamil"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-26T07:12:11.000Z","updated_at":"2026-01-26T07:12:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"python-minor-patch","update_count":49,"packages":[{"name":"flask","old_version":"3.0.3","new_version":"3.1.2","repository_url":"https://github.com/pallets/flask"},{"name":"flask-cors","old_version":"6.0.0","new_version":"6.0.2","repository_url":"https://github.com/corydolphin/flask-cors"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"numpy","old_version":"2.1.3","new_version":"2.4.1","repository_url":"https://github.com/numpy/numpy"},{"name":"joblib","old_version":"1.4.2","new_version":"1.5.3","repository_url":"https://github.com/joblib/joblib"},{"name":"scipy","old_version":"1.14.1","new_version":"1.17.0","repository_url":"https://github.com/scipy/scipy"},{"name":"apscheduler","old_version":"3.10.4","new_version":"3.11.2","repository_url":"https://github.com/agronholm/apscheduler"},{"name":"celery","old_version":"5.4.0","new_version":"5.6.2","repository_url":"https://github.com/celery/celery"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"sqlalchemy","old_version":"2.0.35","new_version":"2.0.46","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"alembic","old_version":"1.13.3","new_version":"1.18.1","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"matplotlib","old_version":"3.9.2","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"pyjwt","old_version":"2.9.0","new_version":"2.10.1","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"email-validator","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/JoshData/python-email-validator"},{"name":"flask-compress","old_version":"1.15","new_version":"1.23","repository_url":"https://github.com/colour-science/flask-compress"},{"name":"flask-caching","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/pallets-eco/flask-caching"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"prometheus-flask-exporter","old_version":"0.23.1","new_version":"0.23.2","repository_url":"https://github.com/rycus86/prometheus_flask_exporter"},{"name":"sentry-sdk","old_version":"2.18.0","new_version":"2.50.0"},{"name":"openmeteo-requests","old_version":"1.2.0","new_version":"1.7.5","repository_url":"https://github.com/open-meteo/python-requests"},{"name":"beautifulsoup4","old_version":"4.12.3","new_version":"4.14.3"},{"name":"tabula-py","old_version":"2.9.3","new_version":"2.10.0","repository_url":"https://github.com/chezou/tabula-py"},{"name":"geopandas","old_version":"1.0.1","new_version":"1.1.2","repository_url":"https://github.com/geopandas/geopandas"},{"name":"folium","old_version":"0.18.0","new_version":"0.20.0","repository_url":"https://github.com/python-visualization/folium"},{"name":"shapely","old_version":"2.0.6","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"},{"name":"statsmodels","old_version":"0.14.4","new_version":"0.14.6","repository_url":"https://github.com/statsmodels/statsmodels"},{"name":"prophet","old_version":"1.1.6","new_version":"1.2.2","repository_url":"https://github.com/facebook/prophet"},{"name":"graphql-core","old_version":"3.2.5","new_version":"3.2.7","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"earthengine-api","old_version":"1.4.3","new_version":"1.7.10","repository_url":"https://github.com/google/earthengine-api"},{"name":"google-cloud-bigquery","old_version":"3.27.0","new_version":"3.40.0","repository_url":"https://github.com/googleapis/python-bigquery"},{"name":"google-auth","old_version":"2.37.0","new_version":"2.47.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-auth-oauthlib","old_version":"1.2.1","new_version":"1.2.4","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib"},{"name":"google-auth-httplib2","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2"},{"name":"jupyter","old_version":"1.0.0","new_version":"1.1.1"},{"name":"pytest-mock","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-xdist","old_version":"3.5.0","new_version":"3.8.0","repository_url":"https://github.com/pytest-dev/pytest-xdist"},{"name":"responses","old_version":"0.24.1","new_version":"0.25.8","repository_url":"https://github.com/getsentry/responses"},{"name":"httpx","old_version":"0.25.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"locust","old_version":"2.20.1","new_version":"2.43.1","repository_url":"https://github.com/locustio/locust"},{"name":"bandit","old_version":"1.7.6","new_version":"1.9.3","repository_url":"https://github.com/PyCQA/bandit"},{"name":"safety","old_version":"3.2.0","new_version":"3.7.0","repository_url":"https://github.com/pyupio/safety"},{"name":"pip-audit","old_version":"2.7.3","new_version":"2.10.0","repository_url":"https://github.com/pypa/pip-audit"},{"name":"coverage","old_version":"7.6.0","new_version":"7.13.2","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"coverage-badge","old_version":"1.1.0","new_version":"1.1.2","repository_url":"https://github.com/dbrgn/coverage-badge"},{"name":"pytest-html","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/pytest-dev/pytest-html"},{"name":"google-cloud-bigquery-storage","old_version":"2.27.0","new_version":"2.36.0","repository_url":"https://github.com/googleapis/google-cloud-python"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps the python-minor-patch group in /backend with 49 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `3.0.3` | `3.1.2` |\n| [flask-cors](https://github.com/corydolphin/flask-cors) | `6.0.0` | `6.0.2` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [numpy](https://github.com/numpy/numpy) | `2.1.3` | `2.4.1` |\n| [joblib](https://github.com/joblib/joblib) | `1.4.2` | `1.5.3` |\n| [scipy](https://github.com/scipy/scipy) | `1.14.1` | `1.17.0` |\n| [apscheduler](https://github.com/agronholm/apscheduler) | `3.10.4` | `3.11.2` |\n| [celery](https://github.com/celery/celery) | `5.4.0` | `5.6.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.35` | `2.0.46` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.13.3` | `1.18.1` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.9.2` | `3.10.8` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.9.0` | `2.10.1` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [email-validator](https://github.com/JoshData/python-email-validator) | `2.2.0` | `2.3.0` |\n| [flask-compress](https://github.com/colour-science/flask-compress) | `1.15` | `1.23` |\n| [flask-caching](https://github.com/pallets-eco/flask-caching) | `2.3.0` | `2.3.1` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [prometheus-flask-exporter](https://github.com/rycus86/prometheus_flask_exporter) | `0.23.1` | `0.23.2` |\n| [sentry-sdk[flask]](https://github.com/getsentry/sentry-python) | `2.18.0` | `2.50.0` |\n| [openmeteo-requests](https://github.com/open-meteo/python-requests) | `1.2.0` | `1.7.5` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.12.3` | `4.14.3` |\n| [tabula-py](https://github.com/chezou/tabula-py) | `2.9.3` | `2.10.0` |\n| [geopandas](https://github.com/geopandas/geopandas) | `1.0.1` | `1.1.2` |\n| [folium](https://github.com/python-visualization/folium) | `0.18.0` | `0.20.0` |\n| [shapely](https://github.com/shapely/shapely) | `2.0.6` | `2.1.2` |\n| [statsmodels](https://github.com/statsmodels/statsmodels) | `0.14.4` | `0.14.6` |\n| [prophet](https://github.com/facebook/prophet) | `1.1.6` | `1.2.2` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.5` | `3.2.7` |\n| [earthengine-api](https://github.com/google/earthengine-api) | `1.4.3` | `1.7.10` |\n| [google-cloud-bigquery](https://github.com/googleapis/python-bigquery) | `3.27.0` | `3.40.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.37.0` | `2.47.0` |\n| [google-auth-oauthlib](https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib) | `1.2.1` | `1.2.4` |\n| [google-auth-httplib2](https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2) | `0.2.0` | `0.3.0` |\n| [jupyter](https://jupyter.org) | `1.0.0` | `1.1.1` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.0` | `3.15.1` |\n| [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) | `3.5.0` | `3.8.0` |\n| [responses](https://github.com/getsentry/responses) | `0.24.1` | `0.25.8` |\n| [httpx](https://github.com/encode/httpx) | `0.25.2` | `0.28.1` |\n| [locust](https://github.com/locustio/locust) | `2.20.1` | `2.43.1` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.7.6` | `1.9.3` |\n| [safety](https://github.com/pyupio/safety) | `3.2.0` | `3.7.0` |\n| [pip-audit](https://github.com/pypa/pip-audit) | `2.7.3` | `2.10.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.6.0` | `7.13.2` |\n| [coverage-badge](https://github.com/dbrgn/coverage-badge) | `1.1.0` | `1.1.2` |\n| [pytest-html](https://github.com/pytest-dev/pytest-html) | `4.1.1` | `4.2.0` |\n| [google-cloud-bigquery-storage](https://github.com/googleapis/google-cloud-python) | `2.27.0` | `2.36.0` |\n\nUpdates `flask` from 3.0.3 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\n\u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation\nabout resource limits to the security page. :issue:\u003ccode\u003e5625\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the\n\u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. :issue:\u003ccode\u003e5472\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files.\n\u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless\n\u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. :issue:\u003ccode\u003e5628\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old\nsecret keys that can still be used for unsigning. Extensions will need to\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/flask/commit/2c1b30d0503cfb064f1cb252e6614a06915a362a\"\u003e\u003ccode\u003e2c1b30d\u003c/code\u003e\u003c/a\u003e release version 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/1292419ddfc6a14fc7f85b5ed7efcc2d215f1ad3\"\u003e\u003ccode\u003e1292419\u003c/code\u003e\u003c/a\u003e Update GitHub Actions workflow for artifact handling (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5795\"\u003e#5795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4dd52ca9c768c9b6d04180f0547d6f4b6e34f211\"\u003e\u003ccode\u003e4dd52ca\u003c/code\u003e\u003c/a\u003e Update GitHub Actions workflow for artifact handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/55c62556571ee46a94da174643b50ece06edead4\"\u003e\u003ccode\u003e55c6255\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/d8259eb11900285af9b80b0fa47f841174c054e3\"\u003e\u003ccode\u003ed8259eb\u003c/code\u003e\u003c/a\u003e use Jinja name consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/38b4c1e19b50494cfcdc9332899e09b7fed34979\"\u003e\u003ccode\u003e38b4c1e\u003c/code\u003e\u003c/a\u003e refactor stream_with_context for async views (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5799\"\u003e#5799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/9822a0351574790cb66c652fcc396ad7aa2b09d8\"\u003e\u003ccode\u003e9822a03\u003c/code\u003e\u003c/a\u003e refactor stream_with_context for async views\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/49b7e7bc8fb69d605719991d1c0a99fcee689053\"\u003e\u003ccode\u003e49b7e7b\u003c/code\u003e\u003c/a\u003e security docs for TRUSTED_HOSTS (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5798\"\u003e#5798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/b228ca3d87745b746d904a2108429617a814ffda\"\u003e\u003ccode\u003eb228ca3\u003c/code\u003e\u003c/a\u003e security docs for TRUSTED_HOSTS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ff64079a516c269f171ababf3d92b86886a62ffd\"\u003e\u003ccode\u003eff64079\u003c/code\u003e\u003c/a\u003e update flask-talisman link\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.0.3...3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask-cors` from 6.0.0 to 6.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/corydolphin/flask-cors/releases\"\u003eflask-cors's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate license pyproject.toml by \u003ca href=\"https://github.com/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\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/wagenrace\"\u003e\u003ccode\u003e@​wagenrace\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/395\"\u003ecorydolphin/flask-cors#395\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.1...6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInvert regex sorting to make it correctly match the intent (sorting by specificity descending) \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.0.1.dev\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e by \u003ca href=\"https://github.com/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix README file extension in pyproject.toml by \u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\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/joshuamorton\"\u003e\u003ccode\u003e@​joshuamorton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/392\"\u003ecorydolphin/flask-cors#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lafrech\"\u003e\u003ccode\u003e@​lafrech\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/pull/386\"\u003ecorydolphin/flask-cors#386\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\"\u003ehttps://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.1.dev\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/corydolphin/flask-cors/commit/fa55dcbec68b3524a39e5057c35c29c221a27d64\"\u003e\u003ccode\u003efa55dcb\u003c/code\u003e\u003c/a\u003e Update license pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/a5003f391e56f74f11a3e509cd180787c75eb6b0\"\u003e\u003ccode\u003ea5003f3\u003c/code\u003e\u003c/a\u003e Fix README file extension in pyproject.toml (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/corydolphin/flask-cors/commit/4ad56d6c20252d36031c74ba8386a81e94286f40\"\u003e\u003ccode\u003e4ad56d6\u003c/code\u003e\u003c/a\u003e Fix regex sorting issue from \u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/391\"\u003e#391\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/corydolphin/flask-cors/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/corydolphin/flask-cors/compare/6.0.0...6.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.1.3 to 2.4.1\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.1 (Jan 10, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.1 is a patch release that fixes bugs discoved after the\n2.4.0 release. In particular, the typo \u003ccode\u003eSeedlessSequence\u003c/code\u003e is preserved to\nenable wheels using the random Cython API and built against NumPy \u0026lt; 2.4.0\nto run without errors.\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 9 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\u003eAlexander Shadchin\u003c/li\u003e\n\u003cli\u003eBill Tompkins +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMarten van Kerkwijk\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRaghuveer Devulapalli\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 15 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/30490\"\u003e#30490\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/30503\"\u003e#30503\u003c/a\u003e: DOC: \u003ccode\u003enumpy.select\u003c/code\u003e: fix \u003ccode\u003edefault\u003c/code\u003e parameter docstring...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30504\"\u003e#30504\u003c/a\u003e: REV: Revert part of \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30164\"\u003e#30164\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30500\"\u003e#30500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30506\"\u003e#30506\u003c/a\u003e: TYP: \u003ccode\u003enumpy.select\u003c/code\u003e: allow passing array-like \u003ccode\u003edefault\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30507\"\u003e#30507\u003c/a\u003e: MNT: use if constexpr for compile-time branch selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30513\"\u003e#30513\u003c/a\u003e: BUG: Fix leak in flat assignment iterator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30516\"\u003e#30516\u003c/a\u003e: BUG: fix heap overflow in fixed-width string multiply (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30511\"\u003e#30511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30523\"\u003e#30523\u003c/a\u003e: BUG: Ensure summed weights returned by np.average always are...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30527\"\u003e#30527\u003c/a\u003e: TYP: Fix return type of histogram2d\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30594\"\u003e#30594\u003c/a\u003e: MAINT: avoid passing ints to random functions that take double...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30595\"\u003e#30595\u003c/a\u003e: BLD: Avoiding conflict with pygit2 for static build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30596\"\u003e#30596\u003c/a\u003e: MAINT: Fix msvccompiler missing error on FreeBSD\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30608\"\u003e#30608\u003c/a\u003e: BLD: update vendored Meson to 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30620\"\u003e#30620\u003c/a\u003e: ENH: use more fine-grained critical sections in array coercion...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30623\"\u003e#30623\u003c/a\u003e: BUG: Undo result type change of quantile/percentile but keep...\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.0 (Dec 20, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.0 release continues the work to improve free threaded Python\nsupport, user dtypes implementation, and annotations. There are many expired\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/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003cli\u003eYou can use the \u003ccode\u003ekeyring\u003c/code\u003e app to store the PyPI password for twine. See the\nonline twine documentation for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003cp\u003eCheck the numpy-release repo\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/d24bb7f48d3b0e3471c68f1309c130d0b65ee72a\"\u003e\u003ccode\u003ed24bb7f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30624\"\u003e#30624\u003c/a\u003e from charris/prepare-for-2.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/d3bfd6d61d8b5a9429aebe2b58070381a289aeac\"\u003e\u003ccode\u003ed3bfd6d\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/abe3d863a1e945183f173cf29428699965c10b1c\"\u003e\u003ccode\u003eabe3d86\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30623\"\u003e#30623\u003c/a\u003e from charris/backport-30601\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/5d8907855c225864d7d741254d48448119b41a84\"\u003e\u003ccode\u003e5d89078\u003c/code\u003e\u003c/a\u003e TST: Add test showing that q promotes (for \u0026quot;interpolating ones\u0026quot;)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/16890cea47e717ae3d7cea546797f1e4a1959c75\"\u003e\u003ccode\u003e16890ce\u003c/code\u003e\u003c/a\u003e BUG: Fix result type change and make weak q safe\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/bf7ef0be8532985cd5d05424e0f7747a4750f7cc\"\u003e\u003ccode\u003ebf7ef0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30620\"\u003e#30620\u003c/a\u003e from charris/backport-30514\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/3d3af25fe7830f66fbf903aebd765999404376c4\"\u003e\u003ccode\u003e3d3af25\u003c/code\u003e\u003c/a\u003e ENH: use more fine-grained critical sections in array coercion internals (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30\"\u003e#30\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/8b7f19798e654c572d1a918da35f73933b6d6047\"\u003e\u003ccode\u003e8b7f197\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30608\"\u003e#30608\u003c/a\u003e from charris/update-vendored-meson\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/30999f623181dc4b8c71cf359463484b9aab4157\"\u003e\u003ccode\u003e30999f6\u003c/code\u003e\u003c/a\u003e BLD: update vendored Meson to 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/e6bea65b639820b5672a5dced69a231ed5f01176\"\u003e\u003ccode\u003ee6bea65\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30596\"\u003e#30596\u003c/a\u003e from charris/remove-msvccompiler-check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.1.3...v2.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `joblib` from 1.4.2 to 1.5.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/joblib/joblib/blob/main/CHANGES.rst\"\u003ejoblib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.5.3 - 2025/12/15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eMemory\u003c/code\u003e object won't overwrite an already existing \u003ccode\u003e.gitignore\u003c/code\u003e file in its\ncache directory anymore.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1742\"\u003ejoblib/joblib#1742\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHarden the safety checks in \u003ccode\u003eeval_expr(pre_dispatch)\u003c/code\u003e to prevent excessive\nmemory allocation and potential crashes by limiting the allowed length of the\nexpression and the maximum numeric value of sub-expressions and not\nevaluating expressions with non-numeric literals.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1744\"\u003ejoblib/joblib#1744\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor cloudpickle 3.1.2 to fix a pickling problem with interactively\ndefined abstract base classes and type annotations in Python 3.14+.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.2 - 2025/08/27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendor \u003ccode\u003eloky3.5.6\u003c/code\u003e fixing the resource tracker for python 3.13.7+\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1740\"\u003ejoblib/joblib#1740\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMemory:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Ensure that temporary files managed by the ``Memory`` object do not collide\n  when using the same cache directory when the cache directory is accessed\n  concurrently from different nodes on a cluster with a shared filesystem.\n  https://github.com/joblib/joblib/pull/1656\n\u003ch2\u003eRelease 1.5.1 - 2025/05/23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix backend hints causing errors when no multiprocessing is present\u003cbr /\u003e\n\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1721\"\u003ejoblib/joblib#1721\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVendor \u003ccode\u003eloky3.5.5\u003c/code\u003e fixing the resource_tracker clean up with earlier Python\u003cbr /\u003e\nversions. \u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1724\"\u003ejoblib/joblib#1724\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.5.0 -- 2025/05/03\u003c/h2\u003e\n\u003cp\u003eMemory:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eEnforce \u003ccode\u003eage_limit\u003c/code\u003e is a positive timedelta for \u003ccode\u003eMemory.reduce_size\u003c/code\u003e,\nto avoid silently ignoring it.\n\u003ca href=\"https://redirect.github.com/joblib/joblib/pull/1613\"\u003ejoblib/joblib#1613\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003ebytes_limit\u003c/code\u003e argument for \u003ccode\u003eMemory\u003c/code\u003e, which should\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/joblib/joblib/commit/40cd002ae1765195dfc4738a6bc7f5534b420a21\"\u003e\u003ccode\u003e40cd002\u003c/code\u003e\u003c/a\u003e RELEASE 1.5.3 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f05be6705e0f56856b76d76fecdddab95de394c8\"\u003e\u003ccode\u003ef05be67\u003c/code\u003e\u003c/a\u003e MNT Remove last usage of distutils (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1760\"\u003e#1760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/4273f396b7fb66da7f72f603a6bf6651393c5be1\"\u003e\u003ccode\u003e4273f39\u003c/code\u003e\u003c/a\u003e MNT bump actions/checkout from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1762\"\u003e#1762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f465f0245d20c1e793d98b8071a9604623ffd528\"\u003e\u003ccode\u003ef465f02\u003c/code\u003e\u003c/a\u003e FIX don't overwrite existing .gitignore (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1742\"\u003e#1742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/cca7d87a94a1bd141c6c505a909becd4c1854fde\"\u003e\u003ccode\u003ecca7d87\u003c/code\u003e\u003c/a\u003e MNT bump sklearn test on python 3.12 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1759\"\u003e#1759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/f7775ad30051d95d83da76125b176962989bf763\"\u003e\u003ccode\u003ef7775ad\u003c/code\u003e\u003c/a\u003e MNT remove deprecated pytest feature (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1757\"\u003e#1757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/3c58aab890faad3b01eda5e6b35f382edcd71f91\"\u003e\u003ccode\u003e3c58aab\u003c/code\u003e\u003c/a\u003e Add Python 3.14 and 3.14t to the testing (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1747\"\u003e#1747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/9b96664daa07e11f6bee797f55567ac28a961cdb\"\u003e\u003ccode\u003e9b96664\u003c/code\u003e\u003c/a\u003e Bump cloudpickle to 3.1.2 (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1752\"\u003e#1752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/c3bdbd9511da485c7036a433dce1924bdbbd1313\"\u003e\u003ccode\u003ec3bdbd9\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 5 updates (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1749\"\u003e#1749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joblib/joblib/commit/a09bb30b22b286ee8b233fe9391b21560e1799a9\"\u003e\u003ccode\u003ea09bb30\u003c/code\u003e\u003c/a\u003e Keep GitHub Actions up to date with GitHub's Dependabot (\u003ca href=\"https://redirect.github.com/joblib/joblib/issues/1748\"\u003e#1748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/joblib/joblib/compare/1.4.2...1.5.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.14.1 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy/releases\"\u003escipy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSciPy 1.17.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.0\u003c/code\u003e is the culmination of 6 months of hard work. It contains\nmany new features, numerous bug-fixes, improved test coverage and better\ndocumentation. There have been a number of deprecations and API changes\nin this release, which are documented below. All users are encouraged to\nupgrade to this release, as there are a large number of bug-fixes and\noptimizations. Before upgrading, we recommend that users check that\ntheir own code does not use deprecated SciPy functionality (to do so,\nrun your code with \u003ccode\u003epython -Wd\u003c/code\u003e and check for \u003ccode\u003eDeprecationWarning\u003c/code\u003e s).\nOur development attention will now shift to bug-fix releases on the\n\u003ccode\u003e1.17.x\u003c/code\u003e branch, and on adding new features on the main branch.\u003c/p\u003e\n\u003cp\u003eThis release requires Python \u003ccode\u003e3.11\u003c/code\u003e-\u003ccode\u003e3.14\u003c/code\u003e and NumPy \u003ccode\u003e1.26.4\u003c/code\u003e or greater.\u003c/p\u003e\n\u003ch1\u003eHighlights of this release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMany SciPy functions have gained native support for batching of N-dimensional\narray input and additional support for the array API standard. An overall\nsummary of the latter is now available in a \u003ca href=\"https://scipy.github.io/devdocs/dev/api-dev/array_api.html#api-coverage\"\u003eset of tables\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003escipy.sparse\u003c/code\u003e, \u003ccode\u003ecoo_array\u003c/code\u003e now supports indexing. This includes integers,\nslices, arrays, \u003ccode\u003enp.newaxis\u003c/code\u003e, \u003ccode\u003eEllipsis\u003c/code\u003e, in 1D, 2D and the relatively\nnew nD. In \u003ccode\u003escipy.sparse.linalg\u003c/code\u003e, ARPACK and PROPACK rewrites from Fortran77\nto C now empower the use of external pseudorandom number generators, e.g.\nfrom numpy.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003escipy.spatial\u003c/code\u003e, \u003ccode\u003etransform.Rotation\u003c/code\u003e and \u003ccode\u003etransform.RigidTransform\u003c/code\u003e\nhave been extended to support N-D arrays. \u003ccode\u003egeometric_slerp\u003c/code\u003e now has support\nfor extrapolation.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003escipy.stats\u003c/code\u003e has gained the matrix t and logistic distributions and many\nperformance and accuracy improvements.\u003c/li\u003e\n\u003cli\u003eInitial support for 64-bit integer (ILP64) BLAS and LAPACK libraries has\nbeen added, including for MKL and Apple Accelerate. Please report any issues with\nILP64 you encounter.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eNew features\u003c/h1\u003e\n\u003ch1\u003e\u003ccode\u003escipy.integrate\u003c/code\u003e improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eThe integration routines \u003ccode\u003edopri5\u003c/code\u003e, \u003ccode\u003edopri853\u003c/code\u003e, \u003ccode\u003eLSODA\u003c/code\u003e, \u003ccode\u003evode\u003c/code\u003e, and\n\u003ccode\u003ezvode\u003c/code\u003e have been ported from Fortran77 to C.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003escipy.integrate.quad\u003c/code\u003e now has a fast path for returning 0 when the integration\ninterval is empty.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eBDF\u003c/code\u003e, \u003ccode\u003eDOP853\u003c/code\u003e, \u003ccode\u003eRK23\u003c/code\u003e, \u003ccode\u003eRK45\u003c/code\u003e, \u003ccode\u003eOdeSolver\u003c/code\u003e, \u003ccode\u003eDenseOutput\u003c/code\u003e,\n\u003ccode\u003eode\u003c/code\u003e, and \u003ccode\u003ecomplex_ode\u003c/code\u003e classes now support subscription, making them\ngeneric types, for compatibility with \u003ccode\u003escipy-stubs\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/scipy/scipy/commit/8c75ae75176236f233824e9a0483c26a69e6dfec\"\u003e\u003ccode\u003e8c75ae7\u003c/code\u003e\u003c/a\u003e REL: 1.17.0 \u0026quot;final\u0026quot; release commit [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/9d7f110540b5f054cfd99820b5eb02b56a7f2aab\"\u003e\u003ccode\u003e9d7f110\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24298\"\u003e#24298\u003c/a\u003e from tylerjereddy/treddy_prep_1.17.0_final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/94373b602e384cf613e1287b209609a7908c6f5e\"\u003e\u003ccode\u003e94373b6\u003c/code\u003e\u003c/a\u003e MAINT: test wheels [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/723f4e2f83214c237d6afa8a9761f4ef1e00c1fe\"\u003e\u003ccode\u003e723f4e2\u003c/code\u003e\u003c/a\u003e DOC: update 1.17.0 relnotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/bf042f043f1f59a1856827c249453d899abc12fc\"\u003e\u003ccode\u003ebf042f0\u003c/code\u003e\u003c/a\u003e CI: ensure we use pinned scipy-openblas version also in ILP64 job\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/3e00a04941ca2e7cacf6130fd9c28a8aeeefcad8\"\u003e\u003ccode\u003e3e00a04\u003c/code\u003e\u003c/a\u003e CI: fix issue with ILP64 job; point to fixed numpy/meson commit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/39bceab6f85ae717595c2291f6efe0ca29c53ee0\"\u003e\u003ccode\u003e39bceab\u003c/code\u003e\u003c/a\u003e BUG: stats: fix va_args memory corruption bug\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/8f563872fa61c891fede2b547c02190413ec9858\"\u003e\u003ccode\u003e8f56387\u003c/code\u003e\u003c/a\u003e DOC: update 1.17.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/c50e9c03eafec0bb7703acafffc948deb78a567c\"\u003e\u003ccode\u003ec50e9c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24304\"\u003e#24304\u003c/a\u003e from ev-br/edit_relnotes_for_ILP64\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/b204495c6122f3670c67000ae29963676024be87\"\u003e\u003ccode\u003eb204495\u003c/code\u003e\u003c/a\u003e DOC: clarify ILP64 support caveats in the release notes, remove mentions of O...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy/compare/v1.14.1...v1.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `apscheduler` from 3.10.4 to 3.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/apscheduler/releases\"\u003eapscheduler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where a job using a \u003ccode\u003eCronTrigger\u003c/code\u003e scheduled in a repeated time interval during DST transitions could cause the scheduler to get stuck in an infinite loop (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e; PR by \u003ca href=\"https://github.com/soulofakuma\"\u003e\u003ccode\u003e@​soulofakuma\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003escheduler.shutdown()\u003c/code\u003e not raising \u003ccode\u003eSchedulerNotRunning\u003c/code\u003e (or raising the wrong exception) for asynchronous schedulers when the scheduler is in fact not running\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCronTrigger\u003c/code\u003e sticking on a folded datetime during the fall-back DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003e#1021\u003c/a\u003e \u0026lt;\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1021\"\u003eagronholm/apscheduler#1021\u003c/a\u003e\u0026gt;_; PR by \u003ca href=\"https://github.com/berianjames\"\u003e\u003ccode\u003e@​berianjames\u003c/code\u003e\u003c/a\u003e)`\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.6 and 3.7\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eZoneInfo\u003c/code\u003e time zones and deprecated support for pytz time zones\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCalendarIntervalTrigger\u003c/code\u003e, backported from the 4.x series\u003c/li\u003e\n\u003cli\u003eAdded the ability to export and import jobs via \u003ccode\u003escheduler.export_jobs()\u003c/code\u003e and \u003ccode\u003escheduler.import_jobs()\u003c/code\u003e, respectively\u003c/li\u003e\n\u003cli\u003eRemoved the dependency on \u003ccode\u003esix\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e to spawn new subprocesses from scratch instead of forking on all platform\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eAsyncIOScheduler\u003c/code\u003e inadvertently creating a defunct event loop at start, leading to the scheduler not working at all\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessPoolExecutor\u003c/code\u003e not respecting the passed keyword arguments when a broken pool was being replaced\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/0f70950e320f3a7924dcd404c6c379143fb68b23\"\u003e\u003ccode\u003e0f70950\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/bc404e63af18bd8e493e0765f2ad0b51e6df0ef1\"\u003e\u003ccode\u003ebc404e6\u003c/code\u003e\u003c/a\u003e Updated publish actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/c3aa155bd39fe54639d69b396f9ad720246f0c98\"\u003e\u003ccode\u003ec3aa155\u003c/code\u003e\u003c/a\u003e Updated pre-commit modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/ad6b2dc766cd6722c8aa51543f988b9ee7b13110\"\u003e\u003ccode\u003ead6b2dc\u003c/code\u003e\u003c/a\u003e Added fix for get_next_fire_time not advancing through fold with unfolded pre...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/f4df139771b7741f58f0eb456f091d3f659555c1\"\u003e\u003ccode\u003ef4df139\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/25be7b77afca892d152441d4a61402623af7f943\"\u003e\u003ccode\u003e25be7b7\u003c/code\u003e\u003c/a\u003e Fixed CronTrigger getting stuck on fallback DST transition (\u003ca href=\"https://redirect.github.com/agronholm/apscheduler/issues/1079\"\u003e#1079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/12613862e34456215dc98574f6cf594f77d66f47\"\u003e\u003ccode\u003e1261386\u003c/code\u003e\u003c/a\u003e Updated etcd image repository name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/b1f5636ccaf6a2fe86b208d7bd6b43024a1546b3\"\u003e\u003ccode\u003eb1f5636\u003c/code\u003e\u003c/a\u003e Fixed shutdown() not raising the correct exception for some schedulers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/6c72a51416893eb0eebbe63d0f2a0151952cab59\"\u003e\u003ccode\u003e6c72a51\u003c/code\u003e\u003c/a\u003e Backported release job from master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/apscheduler/commit/4b965109548e528c061cf32b672de1a6f65f2c2a\"\u003e\u003ccode\u003e4b96510\u003c/code\u003e\u003c/a\u003e Added the release version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/apscheduler/compare/3.10.4...3.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `celery` from 5.4.0 to 5.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/releases\"\u003ecelery's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.6.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string by \u003ca href=\"https://github.com/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix: Revoked tasks now immediately update backend status to REVOKED by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9869\"\u003ecelery/celery#9869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.2 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10049\"\u003ecelery/celery#10049\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bruunotrindade\"\u003e\u003ccode\u003e@​bruunotrindade\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10045\"\u003ecelery/celery#10045\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.1...v5.6.2\"\u003ehttps://github.com/celery/celery/compare/v5.6.1...v5.6.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support by \u003ca href=\"https://github.com/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown by \u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option by \u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10020\"\u003ecelery/celery#10020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup by \u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereliable prefork detection by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10023\"\u003ecelery/celery#10023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebetter coverage by \u003ca href=\"https://github.com/petrprikryl\"\u003e\u003ccode\u003e@​petrprikryl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10029\"\u003ecelery/celery#10029\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example by \u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10032\"\u003ecelery/celery#10032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10033\"\u003ecelery/celery#10033\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 by \u003ca href=\"https://github.com/Nusnus\"\u003e\u003ccode\u003e@​Nusnus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10037\"\u003ecelery/celery#10037\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthonykuzmich7\"\u003e\u003ccode\u003e@​anthonykuzmich7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10013\"\u003ecelery/celery#10013\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weetster\"\u003e\u003ccode\u003e@​weetster\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9986\"\u003ecelery/celery#9986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JaeHyuckSa\"\u003e\u003ccode\u003e@​JaeHyuckSa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10016\"\u003ecelery/celery#10016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snopoke\"\u003e\u003ccode\u003e@​snopoke\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10015\"\u003ecelery/celery#10015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SpaceShaman\"\u003e\u003ccode\u003e@​SpaceShaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/celery/celery/pull/10030\"\u003ecelery/celery#10030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/celery/celery/compare/v5.6.0...v5.6.1\"\u003ehttps://github.com/celery/celery/compare/v5.6.0...v5.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.6.0\u003c/h2\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003ch2\u003eKey Highlights\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.celeryq.dev/en/stable/history/whatsnew-5.6.html\"\u003eWhat's new in Celery 5.6\u003c/a\u003e for a complete overview or read the main highlights below.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Minimum Version\u003c/h3\u003e\n\u003cp\u003eCelery 5.6.0 drops support for Python 3.8 (EOL). The minimum required Python version is now 3.9. Users still on Python 3.8 must upgrade their Python version before upgrading to Celery 5.6.0.\u003c/p\u003e\n\u003cp\u003eAdditionally, this release includes initial support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eSQS: Reverted to \u003ccode\u003epycurl\u003c/code\u003e from \u003ccode\u003eurllib3\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003eThe switch from \u003ccode\u003epycurl\u003c/code\u003e to \u003ccode\u003eurllib3\u003c/code\u003e for the SQS transport (introduced in Celery 5.5.0 via Kombu) has been reverted due to critical issues affecting SQS users.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/blob/main/Changelog.rst\"\u003ecelery's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.6.2\u003c/h1\u003e\n\u003cp\u003e:release-date: 2026-01-04\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeError when pool_cls is a string ([#10045](https://github.com/celery/celery/issues/10045))\n- Bugfix: Revoked tasks now immediately update backend status to REVOKED ([#9869](https://github.com/celery/celery/issues/9869))\n- Prepare for release: v5.6.2 ([#10049](https://github.com/celery/celery/issues/10049))\n\u003cp\u003e.. _version-5.6.1:\u003c/p\u003e\n\u003ch1\u003e5.6.1\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-12-29\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eWhat's Changed\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix Redis Sentinel ACL authentication support (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10013\"\u003e#10013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Broker heartbeats not sent during graceful shutdown (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9986\"\u003e#9986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs \u003ca href=\"https://redirect.github.com/celery/celery/issues/5410\"\u003e#5410\u003c/a\u003e -- Document confirm_publish broker transport option (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10016\"\u003e#10016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclose DB pools only in prefork mode (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10020\"\u003e#10020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Avoid unnecessary Django database connection creation during cleanup (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10015\"\u003e#10015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereliable prefork detection (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10023\"\u003e#10023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebetter coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#10029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: clarify \u003ccode\u003eresult_extended\u003c/code\u003e vs periodic task metadata and show \u003ccode\u003eheaders[\u0026quot;periodic_task_name\u0026quot;]\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10030\"\u003e#10030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStop importing pytest_subtests (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10032\"\u003e#10032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _version-5.6.0:\u003c/p\u003e\n\u003ch1\u003e5.6.0\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-11-30\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003cp\u003eKey Highlights\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nSee :ref:`whatsnew-5.6` for a complete overview or read the main highlights below.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6a43c846f183ef0cbade24f4b9a8f7a6ea113b44\"\u003e\u003ccode\u003e6a43c84\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.2 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10049\"\u003e#10049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/333a82f746734151c5cbe848916085455b0a3748\"\u003e\u003ccode\u003e333a82f\u003c/code\u003e\u003c/a\u003e Bugfix: Revoked tasks now immediately update backend status to REVOKED (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9869\"\u003e#9869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/9d6ab110d947270c4edf0b42454266d2954e653d\"\u003e\u003ccode\u003e9d6ab11\u003c/code\u003e\u003c/a\u003e Fix recursive WorkController instantiation in DjangoWorkerFixup + AttributeEr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21dbc73f81d2fae058de49e665afaa1cd92da5c0\"\u003e\u003ccode\u003e21dbc73\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10037\"\u003e#10037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/ba20bed7723c684d12ddd62d6a7c0c0d901b3351\"\u003e\u003ccode\u003eba20bed\u003c/code\u003e\u003c/a\u003e Only use exceptiongroup backport for Python \u0026lt; 3.11 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10033\"\u003e#10033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/21675299bc2d10c648448ec5221136e07c1eec1a\"\u003e\u003ccode\u003e2167529\u003c/code\u003e\u003c/a\u003e Stop importing pytest_subtests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/0527296acb1f1790788301d4395ba6d5ce2a9704\"\u003e\u003ccode\u003e0527296\u003c/code\u003e\u003c/a\u003e Bump google-cloud-firestore from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/5f8659bdba4561796d66e938a1e2c71d4489562f\"\u003e\u003ccode\u003e5f8659b\u003c/code\u003e\u003c/a\u003e Clarify 'result_extended' setting usage in tasks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/f19db7008682c782d85e69b5ce736970491752ea\"\u003e\u003ccode\u003ef19db70\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.19.0 to 1.19.1 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10028\"\u003e#10028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/6da72bde60553a1c350eef1e17d834d004ed099d\"\u003e\u003ccode\u003e6da72bd\u003c/code\u003e\u003c/a\u003e better coverage (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10029\"\u003e#10029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/celery/celery/compare/v5.4.0...v5.6.2\"\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.1\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.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env 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/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\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.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff 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/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() 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/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) 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/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini 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/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory 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/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml 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/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure find_dotenv 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/pull/563\"\u003etheskumar/python-dotenv#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): issue with execvpe on Windows by \u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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.1.0...v1.1.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a security policy 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/512\"\u003etheskumar/python-dotenv#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep GitHub Actions up to date with GitHub's Dependabot by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/506\"\u003etheskumar/python-dotenv#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix multiline string in test.yml \u0026amp; use fail-fast strategy by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/514\"\u003etheskumar/python-dotenv#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance dotenv run: Switch to execvpe for better resource management and signal handling by \u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/523\"\u003etheskumar/python-dotenv#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add py3.13 to test.yml by \u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/527\"\u003etheskumar/python-dotenv#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.13 trove classifier by \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/535\"\u003etheskumar/python-dotenv#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/529\"\u003etheskumar/python-dotenv#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.13 and drop 3.8 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/551\"\u003etheskumar/python-dotenv#551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update README.md by \u003ca href=\"https://github.com/chapeupreto\"\u003e\u003ccode\u003e@​chapeupreto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/516\"\u003etheskumar/python-dotenv#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome more s/Python-dotenv/python-dotenv/ 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/552\"\u003etheskumar/python-dotenv#552\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/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.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/pull/563\"\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...\n\n_Description has been truncated_","html_url":"https://github.com/KyaRhamil/floodingnaque/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyaRhamil%2Ffloodingnaque/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"}},{"old_version":"0.34.0","new_version":"0.35.0","update_type":"minor","path":null,"pr_created_at":"2025-12-08T07:45:59.000Z","version_change":"0.34.0 → 0.35.0","issue":{"uuid":"3705077254","node_id":"PR_kwDOLzgXB863nCne","number":623,"state":"closed","title":"Bump the allpip group across 1 directory with 79 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-09T09:28:56.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-08T07:45:59.000Z","updated_at":"2025-12-09T09:28:58.000Z","time_to_close":92577,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"allpip","update_count":79,"packages":[{"name":"fastapi","old_version":"0.121.0","new_version":"0.124.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"alembic","old_version":"1.16.5","new_version":"1.17.2","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"pydantic","old_version":"2.11.9","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-settings","old_version":"2.10.1","new_version":"2.12.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"uvicorn","old_version":"0.36.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"click","old_version":"8.3.0","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"sqlalchemy","old_version":"2.0.43","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"asyncpg","old_version":"0.30.0","new_version":"0.31.0","repository_url":"https://github.com/MagicStack/asyncpg"},{"name":"minio","old_version":"7.2.16","new_version":"7.2.20","repository_url":"https://github.com/minio/minio-py"},{"name":"pytest-asyncio","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"coverage","old_version":"7.10.7","new_version":"7.12.0","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"playwright","old_version":"1.55.0","new_version":"1.56.0","repository_url":"https://github.com/microsoft/playwright-python"},{"name":"pytest-playwright","old_version":"0.7.1","new_version":"0.7.2","repository_url":"https://github.com/microsoft/playwright-pytest"},{"name":"vcrpy","old_version":"7.0.0","new_version":"8.0.0","repository_url":"https://github.com/kevin1024/vcrpy"},{"name":"ruff","old_version":"0.13.1","new_version":"0.14.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pre-commit","old_version":"4.3.0","new_version":"4.5.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"pyright","old_version":"1.1.405","new_version":"1.1.407","repository_url":"https://github.com/RobertCraigie/pyright-python"},{"name":"annotated-doc","old_version":"0.0.3","new_version":"0.0.4","repository_url":"https://github.com/fastapi/annotated-doc"},{"name":"anyio","old_version":"4.8.0","new_version":"4.12.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"argon2-cffi","old_version":"23.1.0","new_version":"25.1.0","repository_url":"https://github.com/hynek/argon2-cffi"},{"name":"argon2-cffi-bindings","old_version":"21.2.0","new_version":"25.1.0","repository_url":"https://github.com/hynek/argon2-cffi-bindings"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"cachecontrol","old_version":"0.14.1","new_version":"0.14.4","repository_url":"https://github.com/psf/cachecontrol"},{"name":"certifi","old_version":"2024.12.14","new_version":"2025.11.12","repository_url":"https://github.com/certifi/python-certifi"},{"name":"cfgv","old_version":"3.4.0","new_version":"3.5.0","repository_url":"https://github.com/asottile/cfgv"},{"name":"charset-normalizer","old_version":"3.4.1","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"cryptography","old_version":"44.0.1","new_version":"46.0.3","repository_url":"https://github.com/pyca/cryptography"},{"name":"cssbeautifier","old_version":"1.15.1","new_version":"1.15.4","repository_url":"https://github.com/beautifier/js-beautify"},{"name":"distlib","old_version":"0.3.9","new_version":"0.4.0","repository_url":"https://github.com/pypa/distlib"},{"name":"dulwich","old_version":"0.24.1","new_version":"0.24.10","repository_url":"https://github.com/dulwich/dulwich"},{"name":"editorconfig","old_version":"0.17.0","new_version":"0.17.1","repository_url":"https://github.com/editorconfig/editorconfig-core-py"},{"name":"fastjsonschema","old_version":"2.21.1","new_version":"2.21.2","repository_url":"https://github.com/horejsek/python-fastjsonschema"},{"name":"filelock","old_version":"3.16.1","new_version":"3.20.0","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"findpython","old_version":"0.6.2","new_version":"0.7.1","repository_url":"https://github.com/frostming/findpython"},{"name":"fsspec","old_version":"2024.12.0","new_version":"2025.12.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"greenlet","old_version":"3.1.1","new_version":"3.3.0","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"httptools","old_version":"0.6.4","new_version":"0.7.1","repository_url":"https://github.com/MagicStack/httptools"},{"name":"identify","old_version":"2.6.5","new_version":"2.6.15","repository_url":"https://github.com/pre-commit/identify"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"iniconfig","old_version":"2.0.0","new_version":"2.3.0","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"jaraco-functools","old_version":"4.1.0","new_version":"4.3.0","repository_url":"https://github.com/jaraco/jaraco.functools"},{"name":"jeepney","old_version":"0.8.0","new_version":"0.9.0"},{"name":"jsbeautifier","old_version":"1.15.1","new_version":"1.15.4","repository_url":"https://github.com/ghost6991/Jsbeautifier"},{"name":"json5","old_version":"0.10.0","new_version":"0.12.1","repository_url":"https://github.com/dpranke/pyjson5"},{"name":"keyring","old_version":"25.6.0","new_version":"25.7.0","repository_url":"https://github.com/jaraco/keyring"},{"name":"mako","old_version":"1.3.8","new_version":"1.3.10","repository_url":"https://github.com/sqlalchemy/mako"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"more-itertools","old_version":"10.5.0","new_version":"10.8.0","repository_url":"https://github.com/more-itertools/more-itertools"},{"name":"msgpack","old_version":"1.1.0","new_version":"1.1.2","repository_url":"https://github.com/msgpack/msgpack-python"},{"name":"packaging","old_version":"24.2","new_version":"25.0","repository_url":"https://github.com/pypa/packaging"},{"name":"pbs-installer","old_version":"2025.2.12","new_version":"2025.12.5","repository_url":"https://github.com/frostming/pbs-installer"},{"name":"pkginfo","old_version":"1.12.0","new_version":"1.12.1.2"},{"name":"platformdirs","old_version":"4.3.6","new_version":"4.5.1","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pluggy","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/pytest-dev/pluggy"},{"name":"pycparser","old_version":"2.22","new_version":"2.23","repository_url":"https://github.com/eliben/pycparser"},{"name":"pycryptodome","old_version":"3.21.0","new_version":"3.23.0","repository_url":"https://github.com/Legrandin/pycryptodome"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"rapidfuzz","old_version":"3.11.0","new_version":"3.14.3","repository_url":"https://github.com/rapidfuzz/RapidFuzz"},{"name":"regex","old_version":"2024.11.6","new_version":"2025.11.3","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"secretstorage","old_version":"3.3.3","new_version":"3.5.0","repository_url":"https://github.com/mitya57/secretstorage"},{"name":"starlette","old_version":"0.49.3","new_version":"0.50.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"tomlkit","old_version":"0.13.2","new_version":"0.13.3","repository_url":"https://github.com/sdispater/tomlkit"},{"name":"trove-classifiers","old_version":"2025.1.6.15","new_version":"2025.12.1.14","repository_url":"https://github.com/pypa/trove-classifiers"},{"name":"uvloop","old_version":"0.21.0","new_version":"0.22.1","repository_url":"https://github.com/MagicStack/uvloop"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"virtualenv","old_version":"20.28.1","new_version":"20.35.4","repository_url":"https://github.com/pypa/virtualenv"},{"name":"watchfiles","old_version":"1.0.3","new_version":"1.1.1","repository_url":"https://github.com/samuelcolvin/watchfiles"},{"name":"websockets","old_version":"14.1","new_version":"15.0.1","repository_url":"https://github.com/python-websockets/websockets"},{"name":"wrapt","old_version":"1.17.0","new_version":"2.0.1","repository_url":"https://github.com/GrahamDumpleton/wrapt"},{"name":"xattr","old_version":"1.1.4","new_version":"1.3.0","repository_url":"https://github.com/xattr/xattr"},{"name":"zstandard","old_version":"0.23.0","new_version":"0.25.0","repository_url":"https://github.com/indygreg/python-zstandard"}],"path":null,"ecosystem":"pip"},"body":"Bumps the allpip group with 74 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.121.0` | `0.124.0` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.16.5` | `1.17.2` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.9` | `2.12.5` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.10.1` | `2.12.0` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.36.0` | `0.38.0` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [click](https://github.com/pallets/click) | `8.3.0` | `8.3.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.43` | `2.0.44` |\n| [asyncpg](https://github.com/MagicStack/asyncpg) | `0.30.0` | `0.31.0` |\n| [minio](https://github.com/minio/minio-py) | `7.2.16` | `7.2.20` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.2.0` | `1.3.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.7` | `7.12.0` |\n| [playwright](https://github.com/microsoft/playwright-python) | `1.55.0` | `1.56.0` |\n| [pytest-playwright](https://github.com/microsoft/playwright-pytest) | `0.7.1` | `0.7.2` |\n| [vcrpy](https://github.com/kevin1024/vcrpy) | `7.0.0` | `8.0.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.13.1` | `0.14.8` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.3.0` | `4.5.0` |\n| [pyright](https://github.com/RobertCraigie/pyright-python) | `1.1.405` | `1.1.407` |\n| [annotated-doc](https://github.com/fastapi/annotated-doc) | `0.0.3` | `0.0.4` |\n| [anyio](https://github.com/agronholm/anyio) | `4.8.0` | `4.12.0` |\n| [argon2-cffi](https://github.com/hynek/argon2-cffi) | `23.1.0` | `25.1.0` |\n| [argon2-cffi-bindings](https://github.com/hynek/argon2-cffi-bindings) | `21.2.0` | `25.1.0` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [cachecontrol](https://github.com/psf/cachecontrol) | `0.14.1` | `0.14.4` |\n| [certifi](https://github.com/certifi/python-certifi) | `2024.12.14` | `2025.11.12` |\n| [cfgv](https://github.com/asottile/cfgv) | `3.4.0` | `3.5.0` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.1` | `3.4.4` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.1` | `46.0.3` |\n| [cssbeautifier](https://github.com/beautifier/js-beautify) | `1.15.1` | `1.15.4` |\n| [distlib](https://github.com/pypa/distlib) | `0.3.9` | `0.4.0` |\n| [dulwich](https://github.com/dulwich/dulwich) | `0.24.1` | `0.24.10` |\n| [editorconfig](https://github.com/editorconfig/editorconfig-core-py) | `0.17.0` | `0.17.1` |\n| [fastjsonschema](https://github.com/horejsek/python-fastjsonschema) | `2.21.1` | `2.21.2` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.16.1` | `3.20.0` |\n| [findpython](https://github.com/frostming/findpython) | `0.6.2` | `0.7.1` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2024.12.0` | `2025.12.0` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.1.1` | `3.3.0` |\n| [httptools](https://github.com/MagicStack/httptools) | `0.6.4` | `0.7.1` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.5` | `2.6.15` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.0.0` | `2.3.0` |\n| [jaraco-functools](https://github.com/jaraco/jaraco.functools) | `4.1.0` | `4.3.0` |\n| [jeepney](https://gitlab.com/takluyver/jeepney) | `0.8.0` | `0.9.0` |\n| [jsbeautifier](https://github.com/ghost6991/Jsbeautifier) | `1.15.1` | `1.15.4` |\n| [json5](https://github.com/dpranke/pyjson5) | `0.10.0` | `0.12.1` |\n| [keyring](https://github.com/jaraco/keyring) | `25.6.0` | `25.7.0` |\n| [mako](https://github.com/sqlalchemy/mako) | `1.3.8` | `1.3.10` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [more-itertools](https://github.com/more-itertools/more-itertools) | `10.5.0` | `10.8.0` |\n| [msgpack](https://github.com/msgpack/msgpack-python) | `1.1.0` | `1.1.2` |\n| [packaging](https://github.com/pypa/packaging) | `24.2` | `25.0` |\n| [pbs-installer](https://github.com/frostming/pbs-installer) | `2025.2.12` | `2025.12.5` |\n| [pkginfo](https://code.launchpad.net/~tseaver/pkginfo/trunk) | `1.12.0` | `1.12.1.2` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.3.6` | `4.5.1` |\n| [pluggy](https://github.com/pytest-dev/pluggy) | `1.5.0` | `1.6.0` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.22` | `2.23` |\n| [pycryptodome](https://github.com/Legrandin/pycryptodome) | `3.21.0` | `3.23.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [rapidfuzz](https://github.com/rapidfuzz/RapidFuzz) | `3.11.0` | `3.14.3` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2024.11.6` | `2025.11.3` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [secretstorage](https://github.com/mitya57/secretstorage) | `3.3.3` | `3.5.0` |\n| [starlette](https://github.com/Kludex/starlette) | `0.49.3` | `0.50.0` |\n| [tomlkit](https://github.com/sdispater/tomlkit) | `0.13.2` | `0.13.3` |\n| [trove-classifiers](https://github.com/pypa/trove-classifiers) | `2025.1.6.15` | `2025.12.1.14` |\n| [uvloop](https://github.com/MagicStack/uvloop) | `0.21.0` | `0.22.1` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `20.28.1` | `20.35.4` |\n| [watchfiles](https://github.com/samuelcolvin/watchfiles) | `1.0.3` | `1.1.1` |\n| [websockets](https://github.com/python-websockets/websockets) | `14.1` | `15.0.1` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.0` | `2.0.1` |\n| [xattr](https://github.com/xattr/xattr) | `1.1.4` | `1.3.0` |\n| [zstandard](https://github.com/indygreg/python-zstandard) | `0.23.0` | `0.25.0` |\n\n\nUpdates `fastapi` from 0.121.0 to 0.124.0\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.124.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🚸  Improve tracebacks by adding endpoint metadata. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14306\"\u003e#14306\u003c/a\u003e by \u003ca href=\"https://github.com/savannahostrowski\"\u003e\u003ccode\u003e@​savannahostrowski\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✏️ Fix typo in \u003ccode\u003escripts/mkdocs_hooks.py\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14457\"\u003e#14457\u003c/a\u003e by \u003ca href=\"https://github.com/yujiteshima\"\u003e\u003ccode\u003e@​yujiteshima\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.123.10\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix using class (not instance) dependency that has \u003ccode\u003e__call__\u003c/code\u003e method. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14458\"\u003e#14458\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 \u003ccode\u003eseparate_input_output_schemas=False\u003c/code\u003e with \u003ccode\u003ecomputed_field\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14453\"\u003e#14453\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.123.9\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix OAuth2 scopes in OpenAPI in extra corner cases, parent dependency with scopes, sub-dependency security scheme without scopes. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14459\"\u003e#14459\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.123.8\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix OpenAPI security scheme OAuth2 scopes declaration, deduplicate security schemes with different scopes. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14455\"\u003e#14455\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.123.7\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix evaluating stringified annotations in Python 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/11355\"\u003e#11355\u003c/a\u003e by \u003ca href=\"https://github.com/chaen\"\u003e\u003ccode\u003e@​chaen\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.123.6\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix support for functools wraps and partial combined, for async and regular functions and classes in path operations and dependencies. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14448\"\u003e#14448\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.123.5\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Allow using dependables with \u003ccode\u003efunctools.partial()\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/9753\"\u003e#9753\u003c/a\u003e by \u003ca href=\"https://github.com/lieryan\"\u003e\u003ccode\u003e@​lieryan\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✨ Add support for wrapped functions (e.g. \u003ccode\u003e@functools.wraps()\u003c/code\u003e) used with forward references. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/5077\"\u003e#5077\u003c/a\u003e by \u003ca href=\"https://github.com/lucaswiman\"\u003e\u003ccode\u003e@​lucaswiman\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✨ Handle wrapped dependencies. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/9555\"\u003e#9555\u003c/a\u003e by \u003ca href=\"https://github.com/phy1729\"\u003e\u003ccode\u003e@​phy1729\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix optional sequence handling with new union syntax from Python 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14430\"\u003e#14430\u003c/a\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔥 Remove dangling extra condiitonal no longer needed. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14435\"\u003e#14435\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♻️ Refactor internals, update \u003ccode\u003eis_coroutine\u003c/code\u003e check to reuse internal supported variants (unwrap, check class). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14434\"\u003e#14434\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/b5ca13249e3f2002c70c3f2de528a128af2008f7\"\u003e\u003ccode\u003eb5ca132\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.124.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/a2cef707e30fb6eb14812e4e273e34079d30ae6b\"\u003e\u003ccode\u003ea2cef70\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/5b6245666b8a499d2551caff7567056ef7f881b2\"\u003e\u003ccode\u003e5b62456\u003c/code\u003e\u003c/a\u003e ✏️ Fix typo in \u003ccode\u003escripts/mkdocs_hooks.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14457\"\u003e#14457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/dbd34f15789f4afa851e339cea4fcd49f421039d\"\u003e\u003ccode\u003edbd34f1\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e1117f75505bbdb2d42321a009dbf26c9c2b8b6d\"\u003e\u003ccode\u003ee1117f7\u003c/code\u003e\u003c/a\u003e 🚸  Improve tracebacks by adding endpoint metadata (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14306\"\u003e#14306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/08b09e5236e315b6f10265ed229f130d4befb4ea\"\u003e\u003ccode\u003e08b09e5\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.123.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e7d7038dfa35fc923f20fd11a969d2e65e1b9df1\"\u003e\u003ccode\u003ee7d7038\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/da0ffab0b260475499294d3dc767409d7bca5c34\"\u003e\u003ccode\u003eda0ffab\u003c/code\u003e\u003c/a\u003e 🐛 Fix using class (not instance) dependency that has \u003ccode\u003e__call__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14458\"\u003e#14458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/516169428d2fa189d34318ebc469a082c49c1189\"\u003e\u003ccode\u003e5161694\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/812a1926f06391b22b081fdb11fe7528e3b91293\"\u003e\u003ccode\u003e812a192\u003c/code\u003e\u003c/a\u003e 🐛 Fix \u003ccode\u003eseparate_input_output_schemas=False\u003c/code\u003e with \u003ccode\u003ecomputed_field\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14453\"\u003e#14453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.121.0...0.124.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alembic` from 1.16.5 to 1.17.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/alembic/releases\"\u003ealembic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.17.2\u003c/h1\u003e\n\u003cp\u003eReleased: November 14, 2025\u003c/p\u003e\n\u003ch2\u003efeature\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[feature] [operations]\u003c/strong\u003e Added \u003ccode\u003eOperations.implementation_for.replace\u003c/code\u003e parameter to\n\u003ccode\u003eOperations.implementation_for()\u003c/code\u003e, allowing replacement of existing\noperation implementations.  This allows for existing operations such as\n\u003ccode\u003eCreateTableOp\u003c/code\u003e to be extended directly.  Pull request courtesy\njustanothercatgirl.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1750\"\u003e#1750\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [mssql]\u003c/strong\u003e Fixed issue in SQL Server dialect where the DROP that's automatically\nemitted for existing default constraints during an ALTER COLUMN needs to\ntake place before not just the modification of the column's default, but\nalso before the column's type is changed.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1744\"\u003e#1744\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.17.1\u003c/h1\u003e\n\u003cp\u003eReleased: October 28, 2025\u003c/p\u003e\n\u003ch2\u003eusecase\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[usecase] [commands]\u003c/strong\u003e Added \u003ccode\u003ecommand.current.check_heads\u003c/code\u003e parameter to\n\u003ccode\u003ecommand.current()\u003c/code\u003e command, available from the command line via the\n\u003ccode\u003e--check-heads\u003c/code\u003e option to \u003ccode\u003ealembic current\u003c/code\u003e.  This tests if all head\nrevisions are applied to the database and raises \u003ccode\u003eDatabaseNotAtHead\u003c/code\u003e\n(or from the command line, exits with a non-zero exit code) if this is not\nthe case.  The parameter operates equvialently to the cookbook recipe\n\u003ccode\u003ecookbook_check_heads\u003c/code\u003e. Pull request courtesy Stefan Scherfke.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1705\"\u003e#1705\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[bug] [commands]\u003c/strong\u003e Disallow ':' character in custom revision identifiers. Previously, using a\ncolon in a revision ID (e.g., 'REV:1') would create the revision, however\nrevisions with colons in them are not correctly interpreted by other\ncommands, as it overlaps with the revision range syntax.   Pull request\ncourtesy Kim Wooseok with original implementation by Hrushikesh Patil.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/alembic/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.9 to 2.12.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 2025-11-26\u003c/h2\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.4 2025-11-05\u003c/h2\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method of the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.3 2025-10-17\u003c/h2\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.13 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported \u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.5\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in\n\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/bd2d0dd0137dfa1a8fdff2529b9dfb1547980150\"\u003e\u003ccode\u003ebd2d0dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7d0302ec7ec2cf115de3450a615522875bdd8b56\"\u003e\u003ccode\u003e7d0302e\u003c/code\u003e\u003c/a\u003e Document security implications when using \u003ccode\u003ecreate_model()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e9ef980def726b6f59b6c495ddc9dc259a0228db\"\u003e\u003ccode\u003ee9ef980\u003c/code\u003e\u003c/a\u003e Fix typo in Standard Library Types documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f2c20c00c265a31a13c48f9bae923a87c829952e\"\u003e\u003ccode\u003ef2c20c0\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epydantic-docs\u003c/code\u003e dev dependency, make use of versioning blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a76c1aa26f2d64a3fd080ac515d80832689197e8\"\u003e\u003ccode\u003ea76c1aa\u003c/code\u003e\u003c/a\u003e Update documentation about JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8cbc72ca489891e574fba45238ee8bd4f8e719a2\"\u003e\u003ccode\u003e8cbc72c\u003c/code\u003e\u003c/a\u003e Add documentation about custom \u003ccode\u003e__init__()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/99eba599069da137b3f708ffa74627f2b456ba73\"\u003e\u003ccode\u003e99eba59\u003c/code\u003e\u003c/a\u003e Add additional test for \u003ccode\u003eFieldInfo.get_default()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c71076988e507ea93844c77c3bf0bbb85a5716af\"\u003e\u003ccode\u003ec710769\u003c/code\u003e\u003c/a\u003e Special case \u003ccode\u003eMISSING\u003c/code\u003e sentinel in \u003ccode\u003esmart_deepcopy()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/20a9d771c210fd77d52366ac923258c4c199727f\"\u003e\u003ccode\u003e20a9d77\u003c/code\u003e\u003c/a\u003e Do not delete mock validator/serializer in \u003ccode\u003erebuild_dataclass()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c86515a3a8f2120148fab2eaedd3bc45925779d0\"\u003e\u003ccode\u003ec86515a\u003c/code\u003e\u003c/a\u003e Update parts of the model and \u003ccode\u003erevalidate_instances\u003c/code\u003e documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.9...v2.12.5\"\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.10.1 to 2.12.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.12.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for enum kebab case. 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/686\"\u003epydantic/pydantic-settings#686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd NestedSecretsSettings source by \u003ca href=\"https://github.com/makukha\"\u003e\u003ccode\u003e@​makukha\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/690\"\u003epydantic/pydantic-settings#690\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip non-explicit default values. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/692\"\u003epydantic/pydantic-settings#692\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCoerce env vars if strict is True. 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/693\"\u003epydantic/pydantic-settings#693\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore init kwarg names before returning final state dictionary. 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/700\"\u003epydantic/pydantic-settings#700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python3.9 support 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/699\"\u003epydantic/pydantic-settings#699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt test_protected_namespace_defaults for dev. Pydantic by \u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/637\"\u003epydantic/pydantic-settings#637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.14 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/704\"\u003epydantic/pydantic-settings#704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.12 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/705\"\u003epydantic/pydantic-settings#705\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/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCLI Serialize Support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/643\"\u003epydantic/pydantic-settings#643\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInspect type aliases to determine if an annotation is complex by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;fix: Respect 'cli_parse_args' from model_config with settings_customise_sources (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/611\"\u003e#611\u003c/a\u003e)\u0026quot; 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/655\"\u003epydantic/pydantic-settings#655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove parsing of command line arguments from \u003ccode\u003eCliSettingsSource.__init__\u003c/code\u003e. by \u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eturn off allow_abbrev on subparsers by \u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Serialization Fixes 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/649\"\u003epydantic/pydantic-settings#649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix PydanticModel type checking. 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/659\"\u003epydantic/pydantic-settings#659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid env_prefix falling back to env vars without prefix by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/648\"\u003epydantic/pydantic-settings#648\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn if model_config sets unused keys for missing settings sources by \u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncluded endpoint_url kwarg in AWSSecretsManagerSettingsSource class by \u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo (\u0026quot;Accesing\u0026quot;) in the \u0026quot;Adding sources\u0026quot; docs by \u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Windows Path Fix 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/669\"\u003epydantic/pydantic-settings#669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCli root model support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/677\"\u003epydantic/pydantic-settings#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSnake case conversion in Azure Key Vault by \u003ca href=\"https://github.com/AndreuCodina\"\u003e\u003ccode\u003e@​AndreuCodina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/680\"\u003epydantic/pydantic-settings#680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eInitSettingsSource\u003c/code\u003e resolution deterministic by \u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/683\"\u003epydantic/pydantic-settings#683\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/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/584983d253a0fac4dfb294d1e6f9ef188add468b\"\u003e\u003ccode\u003e584983d\u003c/code\u003e\u003c/a\u003e Prepare release 2.12 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/705\"\u003e#705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/6b4d87e77698476433031c0056ce71aa4f4a7c4e\"\u003e\u003ccode\u003e6b4d87e\u003c/code\u003e\u003c/a\u003e Add Python 3.14 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/704\"\u003e#704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/02de5b622b8648404aa792df01599aa1179c3aa7\"\u003e\u003ccode\u003e02de5b6\u003c/code\u003e\u003c/a\u003e Adapt test_protected_namespace_defaults for dev. Pydantic (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/637\"\u003e#637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4239ea460a5c465a4ce908c52e9606549b38fa98\"\u003e\u003ccode\u003e4239ea4\u003c/code\u003e\u003c/a\u003e Drop Python3.9 support (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/699\"\u003e#699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/5008c694f684f88fd310f476871ec021426e98d7\"\u003e\u003ccode\u003e5008c69\u003c/code\u003e\u003c/a\u003e Restore init kwarg names before returning final state dictionary. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/700\"\u003e#700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4433101fef6770d3fc0844846f7f3837bfec3b10\"\u003e\u003ccode\u003e4433101\u003c/code\u003e\u003c/a\u003e Coerce env vars if strict is True. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4d2ebfd543e6011f6b71a99042007adf7e613ae9\"\u003e\u003ccode\u003e4d2ebfd\u003c/code\u003e\u003c/a\u003e Strip non-explicit default values. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4a6ffcaeae451199b1873c6709b28aceae7317a7\"\u003e\u003ccode\u003e4a6ffca\u003c/code\u003e\u003c/a\u003e Add NestedSecretsSettings source (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/7a6e96ebfc89ddb5b20dfb068c8ed46b6ff18a7f\"\u003e\u003ccode\u003e7a6e96e\u003c/code\u003e\u003c/a\u003e Apply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/68563eddc09856b94ea0ca156dd75040b4e048e4\"\u003e\u003ccode\u003e68563ed\u003c/code\u003e\u003c/a\u003e Support for enum kebab case. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/686\"\u003e#686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2-binary` from 2.9.10 to 2.9.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2-binary's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eFix building when pg_config returns an empty string (:ticket:\u003ccode\u003e[#1599](https://github.com/psycopg/psycopg2/issues/1599)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eWheel package bundled with OpenSSL 1.1.1v.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.6\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/fd9ae8cad2bcfc3e7e9410e7b6f07cda8f4f05ec\"\u003e\u003ccode\u003efd9ae8c\u003c/code\u003e\u003c/a\u003e chore: bump to version 2.9.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d923840546942534f0956d9202f914fd9feac5fd\"\u003e\u003ccode\u003ed923840\u003c/code\u003e\u003c/a\u003e chore: update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d42dc7169d3cd93517e282e9ef5dc2a2b40650a2\"\u003e\u003ccode\u003ed42dc71\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-1791'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4fde6560c32f06ad1304404c9f7f86148dcc4be0\"\u003e\u003ccode\u003e4fde656\u003c/code\u003e\u003c/a\u003e fix: avoid failed assert passing more arguments than placeholders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/8308c19d6af0d904b313997539ed33415990a74e\"\u003e\u003ccode\u003e8308c19\u003c/code\u003e\u003c/a\u003e fix: drop warning about the use of deprecated PyWeakref_GetObject function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1a1eabf098a3374409bb2ab4b594777b900f396d\"\u003e\u003ccode\u003e1a1eabf\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/github-script from 7 to 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/897af8b38beda851d7257dfc525129e37c0ec9e0\"\u003e\u003ccode\u003e897af8b\u003c/code\u003e\u003c/a\u003e build(deps): bump peter-evans/repository-dispatch from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ceefd305117113ca10e383a626e87ba0796f3638\"\u003e\u003ccode\u003eceefd30\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4dc585430cabe94cee96c5a9de0265d0f55370f1\"\u003e\u003ccode\u003e4dc5854\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1945788dcf6172bb1b9328ebc3587ccf0e6a659c\"\u003e\u003ccode\u003e1945788\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1802\"\u003e#1802\u003c/a\u003e from edgarrmondragon/cp314-wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.10...2.9.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.36.0 to 0.38.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.38.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2723\"\u003eKludex/uvicorn#2723\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NGANAMODEIJunior\"\u003e\u003ccode\u003e@​NGANAMODEIJunior\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2713\"\u003eKludex/uvicorn#2713\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.37.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e setting by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2711\"\u003eKludex/uvicorn#2711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e by \u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LincolnPuzey\"\u003e\u003ccode\u003e@​LincolnPuzey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2669\"\u003eKludex/uvicorn#2669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2709\"\u003eKludex/uvicorn#2709\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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.38.0 (October 18, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.1 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/3850ad6520cafb290bd4174fa9c4ca5d33440c82\"\u003e\u003ccode\u003e3850ad6\u003c/code\u003e\u003c/a\u003e Version 0.38.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2733\"\u003e#2733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b3f17a549ec96f57bf4d975145fc58feefdd4e8\"\u003e\u003ccode\u003e9b3f17a\u003c/code\u003e\u003c/a\u003e Support Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/ce79f95d065c053b36449f67b3b2cefee5ecf167\"\u003e\u003ccode\u003ece79f95\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add Marcelo Trylesinski to the license (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2699\"\u003e#2699\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2730\"\u003e#2730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/dbf8797b47c79da542f530f2143b8e851e2388fd\"\u003e\u003ccode\u003edbf8797\u003c/code\u003e\u003c/a\u003e docs: add social icons (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2728\"\u003e#2728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/58f28be98eb95c8cf25905df10997b4af81c23e3\"\u003e\u003ccode\u003e58f28be\u003c/code\u003e\u003c/a\u003e Add section about event loop (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2725\"\u003e#2725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/93d95107490d5ea3693601388d7783c450058271\"\u003e\u003ccode\u003e93d9510\u003c/code\u003e\u003c/a\u003e Bump docs dependencies (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2724\"\u003e#2724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b1c6c45ed7fe8bd485ddad475f0feff03971af7\"\u003e\u003ccode\u003e9b1c6c4\u003c/code\u003e\u003c/a\u003e Move Marcelo Trylesinski to maintainers in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2719\"\u003e#2719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/57a61d86f2f123b1d35b9ff71e0f29d22d10806f\"\u003e\u003ccode\u003e57a61d8\u003c/code\u003e\u003c/a\u003e Add discord to README (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2718\"\u003e#2718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7ef5f9f5e7e79887b4ab4214c15ab5a9ce63e193\"\u003e\u003ccode\u003e7ef5f9f\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from 6.7.0 to 6.8.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2717\"\u003e#2717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/6d26d88970379cbf20b4dbf4f70e27f191db4ede\"\u003e\u003ccode\u003e6d26d88\u003c/code\u003e\u003c/a\u003e Update pyproject.toml for PEP639 compliance (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2713\"\u003e#2713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.0...0.38.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyyaml` from 6.0.2 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yaml/pyyaml/releases\"\u003epyyaml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14 and free-threading (experimental).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\u003ehttps://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\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/yaml/pyyaml/blob/6.0.3/CHANGES\"\u003epyyaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e6.0.3 (2025-09-25)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/yaml/pyyaml/pull/864\"\u003eyaml/pyyaml#864\u003c/a\u003e -- Support for Python 3.14 and free-threading (experimental)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yaml/pyyaml/commit/49790e73684bebad1df05ef8d828fa12f685bffb\"\u003e\u003ccode\u003e49790e7\u003c/code\u003e\u003c/a\u003e Release 6.0.3 (\u003ca href=\"https://redirect.github.com/yaml/pyyaml/issues/889\"\u003e#889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\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.0 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5a085468\"\u003e\u003ccode\u003ebd131e1\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0b5c6b75f617e6ee2f9f6dcd071b8a4bf183d1ed\"\u003e\u003ccode\u003e0b5c6b7\u003c/code\u003e\u003c/a\u003e Add Best practices section  (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3127\"\u003e#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.3.0...8.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.43 to 2.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.44\u003c/h1\u003e\n\u003cp\u003eReleased: October 10, 2025\u003c/p\u003e\n\u003ch2\u003eplatform\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[platform] [bug]\u003c/strong\u003e Unblocked automatic greenlet installation for Python 3.14 now that\nthere are greenlet wheels on pypi for python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [usecase]\u003c/strong\u003e The way ORM Annotated Declarative interprets Python \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type aliases\nin \u003ccode\u003eMapped[]\u003c/code\u003e annotations has been refined to expand the lookup scheme. A\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type can now be resolved based on either its direct presence in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e or its immediate resolved\nvalue, as long as a recursive lookup across multiple \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types is\nnot required for it to resolve. This change reverses part of the\nrestrictions introduced in 2.0.37 as part of \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/11955\"\u003e#11955\u003c/a\u003e, which\ndeprecated (and disallowed in 2.1) the ability to resolve any \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e\ntype that was not explicitly present in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e. Recursive lookups of\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types remains deprecated in 2.0 and disallowed in version 2.1,\nas do implicit lookups of \u003ccode\u003eNewType\u003c/code\u003e types without an entry in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAdditionally, new support has been added for generic \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e aliases that\nrefer to \u003ca href=\"https://peps.python.org/pep-0593\"\u003ePEP 593\u003c/a\u003e \u003ccode\u003eAnnotated\u003c/code\u003e constructs containing\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e configurations. See the sections below for\nexamples.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12829\"\u003e#12829\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed a caching issue where \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e would\nincorrectly reuse cached bound parameter values when used with\n\u003ccode\u003e_sql.CompoundSelect\u003c/code\u003e constructs such as \u003ccode\u003e_sql.union()\u003c/code\u003e. The\nissue was caused by the cache key for compound selects not including the\nexecution options that are part of the \u003ccode\u003e_sql.Executable\u003c/code\u003e base class,\nwhich \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e uses to apply its criteria\ndynamically. The fix ensures that compound selects and other executable\nconstructs properly include execution options in their cache key traversal.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12905\"\u003e#12905\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[engine] [bug]\u003c/strong\u003e Implemented initial support for free-threaded Python by adding new tests\nand reworking the test harness to include Python 3.13t and Python 3.14t in\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `asyncpg` from 0.30.0 to 0.31.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/MagicStack/asyncpg/releases\"\u003easyncpg's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.31.0\u003c/h2\u003e\n\u003cp\u003eEnable Python 3.14 with experimental subinterpreter/freethreading\nsupport.\u003c/p\u003e\n\u003ch1\u003eImprovements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Python 3.14 support, experimental subinterpreter/freethreading support (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1279\"\u003e#1279\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 9e42642b)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid performing type introspection on known types (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1243\"\u003e#1243\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 5c9986c4)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003eprepare()\u003c/code\u003e not use named statements by default when cache is disabled (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1245\"\u003e#1245\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 5b14653e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement connection service file functionality (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1223\"\u003e#1223\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/AndrewJackson2020\"\u003e\u003ccode\u003e@​AndrewJackson2020\u003c/code\u003e\u003c/a\u003e in 1d63bb15)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix multi port connection string issue (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1222\"\u003e#1222\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/AndrewJackson2020\"\u003e\u003ccode\u003e@​AndrewJackson2020\u003c/code\u003e\u003c/a\u003e in 01c0db7b)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid leaking connections if _can_use_connection fails (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1269\"\u003e#1269\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/yuliy-openai\"\u003e\u003ccode\u003e@​yuliy-openai\u003c/code\u003e\u003c/a\u003e in e94302d2)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eOther\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for EOL Python 3.8 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1281\"\u003e#1281\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 6c2c4904)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/71775a67277fc0aa5bd2b9f15e848826d7078c4d\"\u003e\u003ccode\u003e71775a6\u003c/code\u003e\u003c/a\u003e asyncpg v0.31.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/508cae6441968ef7613a623fece7083cce66c2b3\"\u003e\u003ccode\u003e508cae6\u003c/code\u003e\u003c/a\u003e Test on PostgreSQL 18 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/e534e5f15c73525a6509143b3828335517360f1b\"\u003e\u003ccode\u003ee534e5f\u003c/code\u003e\u003c/a\u003e Bump cibuildwheel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/07fe5122a680f5768e39fc28d68c94b185037a52\"\u003e\u003ccode\u003e07fe512\u003c/code\u003e\u003c/a\u003e Bump pgproto\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/648b35f18199ebf2a30009376a6e9060cf7ad789\"\u003e\u003ccode\u003e648b35f\u003c/code\u003e\u003c/a\u003e Bump Cython to 3.2.1 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1288\"\u003e#1288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/9e42642b9110d206706697921b6e697a0972649d\"\u003e\u003ccode\u003e9e42642\u003c/code\u003e\u003c/a\u003e Add Python 3.14 support, experimental subinterpreter/freethreading support (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/6fe1c494ef5c3069fa9149c48bf9f8f2cd69f95e\"\u003e\u003ccode\u003e6fe1c49\u003c/code\u003e\u003c/a\u003e Move development deps away from extras and into dependency groups (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1280\"\u003e#1280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/7a548166c2b23561915c481bd332013e3a415cfb\"\u003e\u003ccode\u003e7a54816\u003c/code\u003e\u003c/a\u003e Fix a couple of missed Python version guards\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/6c2c4904e61b2cd2f502540730a24e246cff2ebd\"\u003e\u003ccode\u003e6c2c490\u003c/code\u003e\u003c/a\u003e Drop support for EOL Python 3.8 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1281\"\u003e#1281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/4c60ae890d1f3800f889679657357f91a6923568\"\u003e\u003ccode\u003e4c60ae8\u003c/code\u003e\u003c/a\u003e Bump version to 0.31.0.dev0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/MagicStack/asyncpg/compare/v0.30.0...v0.31.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minio` from 7.2.16 to 7.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minio/minio-py/releases\"\u003eminio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBugfix Release 7.2.20\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable github CI run by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1543\"\u003eminio/minio-py#1543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake BaseException internals to be set (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1521\"\u003e#1521\u003c/a\u003e) by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1539\"\u003eminio/minio-py#1539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Add missing type annotations to serialization dataclass fields (… by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1540\"\u003eminio/minio-py#1540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport optional parameters in LdapIdentityProvider (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1528\"\u003e#1528\u003c/a\u003e) by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1541\"\u003eminio/minio-py#1541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix object_size/headers in ComposeSource by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1545\"\u003eminio/minio-py#1545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix complete_multipart_upload() to support SSE-C by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1544\"\u003eminio/minio-py#1544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.18...7.2.20\"\u003ehttps://github.com/minio/minio-py/compare/7.2.18...7.2.20\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eBugfix release 7.2.19\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd region, extra_headers and extra_query_params by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca hre...\n\n_Description has been truncated_","html_url":"https://github.com/MinBZK/amt/pull/623","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MinBZK%2Famt/issues/623","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/623/packages"}},{"old_version":"0.34.0","new_version":"0.35.0","update_type":"minor","path":null,"pr_created_at":"2025-12-01T03:11:02.000Z","version_change":"0.34.0 → 0.35.0","issue":{"uuid":"3679027978","node_id":"PR_kwDOL3PqEc62PcvU","number":708,"state":"open","title":"chore(deps): bump the python-dependencies group with 23 updates","user":"dependabot[bot]","labels":["security","backend","dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-01T03:11:02.000Z","updated_at":"2025-12-15T04:09:34.886Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-dependencies","update_count":23,"packages":[{"name":"minio","old_version":"7.2.19","new_version":"7.2.20","repository_url":"https://github.com/minio/minio-py"},{"name":"ruff","old_version":"0.14.6","new_version":"0.14.7","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/python/mypy"},{"name":"pylint","old_version":"4.0.3","new_version":"4.0.4","repository_url":"https://github.com/pylint-dev/pylint"},{"name":"fastapi","old_version":"0.122.0","new_version":"0.123.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"pydantic-settings","old_version":"2.6.1","new_version":"2.12.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"pymilvus","old_version":"2.4.9","new_version":"2.6.4","repository_url":"https://github.com/milvus-io/pymilvus"},{"name":"scikit-learn","old_version":"1.6.0","new_version":"1.7.2","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"weaviate-client","old_version":"4.16.9","new_version":"4.18.1","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"sqlalchemy","old_version":"2.0.36","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"pandas","old_version":"2.1.4","new_version":"2.2.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pymupdf","old_version":"1.25.0","new_version":"1.26.6","repository_url":"https://github.com/pymupdf/pymupdf"},{"name":"chromadb","old_version":"1.2.0","new_version":"1.3.5","repository_url":"https://github.com/chroma-core/chroma"},{"name":"ibm-watsonx-ai","old_version":"1.3.37","new_version":"1.4.7"},{"name":"json-repair","old_version":"0.30.3","new_version":"0.54.2","repository_url":"https://github.com/mangiucugna/json_repair"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"psutil","old_version":"7.0.0","new_version":"7.1.3","repository_url":"https://github.com/giampaolo/psutil"},{"name":"docling","old_version":"2.55.0","new_version":"2.63.0","repository_url":"https://github.com/docling-project/docling"},{"name":"transformers","old_version":"4.57.1","new_version":"4.57.3","repository_url":"https://github.com/huggingface/transformers"},{"name":"spacy","old_version":"3.8.7","new_version":"3.8.11","repository_url":"https://github.com/explosion/spaCy"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 23 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [minio](https://github.com/minio/minio-py) | `7.2.19` | `7.2.20` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.6` | `0.14.7` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.0` |\n| [pylint](https://github.com/pylint-dev/pylint) | `4.0.3` | `4.0.4` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.122.0` | `0.123.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.38.0` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.6.1` | `2.12.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [pymilvus](https://github.com/milvus-io/pymilvus) | `2.4.9` | `2.6.4` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.0` | `1.7.2` |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.16.9` | `4.18.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.36` | `2.0.44` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.1.4` | `2.2.3` |\n| [pymupdf](https://github.com/pymupdf/pymupdf) | `1.25.0` | `1.26.6` |\n| [chromadb](https://github.com/chroma-core/chroma) | `1.2.0` | `1.3.5` |\n| [ibm-watsonx-ai](https://ibm.github.io/watsonx-ai-python-sdk) | `1.3.37` | `1.4.7` |\n| [json-repair](https://github.com/mangiucugna/json_repair) | `0.30.3` | `0.54.2` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.1.3` |\n| [docling](https://github.com/docling-project/docling) | `2.55.0` | `2.63.0` |\n| [transformers](https://github.com/huggingface/transformers) | `4.57.1` | `4.57.3` |\n| [spacy](https://github.com/explosion/spaCy) | `3.8.7` | `3.8.11` |\n\nUpdates `minio` from 7.2.19 to 7.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minio/minio-py/releases\"\u003eminio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBugfix Release 7.2.20\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable github CI run by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1543\"\u003eminio/minio-py#1543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake BaseException internals to be set (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1521\"\u003e#1521\u003c/a\u003e) by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1539\"\u003eminio/minio-py#1539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Add missing type annotations to serialization dataclass fields (… by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1540\"\u003eminio/minio-py#1540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport optional parameters in LdapIdentityProvider (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1528\"\u003e#1528\u003c/a\u003e) by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1541\"\u003eminio/minio-py#1541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix object_size/headers in ComposeSource by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1545\"\u003eminio/minio-py#1545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix complete_multipart_upload() to support SSE-C by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1544\"\u003eminio/minio-py#1544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.18...7.2.20\"\u003ehttps://github.com/minio/minio-py/compare/7.2.18...7.2.20\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/minio/minio-py/commit/f671ca948b35978c39a3100e4ae0e9b93416b911\"\u003e\u003ccode\u003ef671ca9\u003c/code\u003e\u003c/a\u003e Update version to next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/53c8c93f78acae9bfbd48974e8de82f831e74927\"\u003e\u003ccode\u003e53c8c93\u003c/code\u003e\u003c/a\u003e fix complete_multipart_upload() to support SSE-C (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/27997bdc71e0360ca5dabf87193b5bde2be38e31\"\u003e\u003ccode\u003e27997bd\u003c/code\u003e\u003c/a\u003e fix object_size/headers in ComposeSource (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1545\"\u003e#1545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/dd17dfb9bc5482a160f667ece87c128fa9cd9fe7\"\u003e\u003ccode\u003edd17dfb\u003c/code\u003e\u003c/a\u003e support optional parameters in LdapIdentityProvider (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1528\"\u003e#1528\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/4170c34351595f0890e4b7d2dfbc03cccc401e3b\"\u003e\u003ccode\u003e4170c34\u003c/code\u003e\u003c/a\u003e Fix: Add missing type annotations to serialization dataclass fields (… (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/da273039c52a48f838f74a83520d59d5a3c12adf\"\u003e\u003ccode\u003eda27303\u003c/code\u003e\u003c/a\u003e Make BaseException internals to be set (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1521\"\u003e#1521\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/535ac42819272894e030a390904f917dd5ec675d\"\u003e\u003ccode\u003e535ac42\u003c/code\u003e\u003c/a\u003e Enable github CI run (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1543\"\u003e#1543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.19...7.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.6 to 0.14.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.7\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Handle string literal bindings in suspicious-url-open-usage (\u003ccode\u003eS310\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21469\"\u003e#21469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR1708\u003c/code\u003e false positives on nested functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21177\"\u003e#21177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix suppression for empty dict without tuple key annotation (\u003ccode\u003ePLE1141\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21290\"\u003e#21290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add rule \u003ccode\u003eRUF066\u003c/code\u003e to detect unnecessary class properties (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21535\"\u003e#21535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Catch more dummy variable uses (\u003ccode\u003eRUF052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19799\"\u003e#19799\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[server] Set severity for non-rule diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21559\"\u003e#21559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-implicit-str-concat\u003c/code\u003e] Avoid invalid fix in (\u003ccode\u003eISC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21517\"\u003e#21517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eparser\u003c/code\u003e] Fix panic when parsing IPython escape command expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21480\"\u003e#21480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow partial fixability indicator in statistics output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21513\"\u003e#21513\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/mikeleppane\"\u003e\u003ccode\u003e@​mikeleppane\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/senekor\"\u003e\u003ccode\u003e@​senekor\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShaharNaveh\"\u003e\u003ccode\u003e@​ShaharNaveh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JumboBear\"\u003e\u003ccode\u003e@​JumboBear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tsvikas\"\u003e\u003ccode\u003e@​tsvikas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.7\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.14.7/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.14.7/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.7\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Handle string literal bindings in suspicious-url-open-usage (\u003ccode\u003eS310\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21469\"\u003e#21469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR1708\u003c/code\u003e false positives on nested functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21177\"\u003e#21177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix suppression for empty dict without tuple key annotation (\u003ccode\u003ePLE1141\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21290\"\u003e#21290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add rule \u003ccode\u003eRUF066\u003c/code\u003e to detect unnecessary class properties (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21535\"\u003e#21535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Catch more dummy variable uses (\u003ccode\u003eRUF052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19799\"\u003e#19799\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[server] Set severity for non-rule diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21559\"\u003e#21559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-implicit-str-concat\u003c/code\u003e] Avoid invalid fix in (\u003ccode\u003eISC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21517\"\u003e#21517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eparser\u003c/code\u003e] Fix panic when parsing IPython escape command expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21480\"\u003e#21480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow partial fixability indicator in statistics output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21513\"\u003e#21513\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/mikeleppane\"\u003e\u003ccode\u003e@​mikeleppane\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/senekor\"\u003e\u003ccode\u003e@​senekor\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShaharNaveh\"\u003e\u003ccode\u003e@​ShaharNaveh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JumboBear\"\u003e\u003ccode\u003e@​JumboBear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tsvikas\"\u003e\u003ccode\u003e@​tsvikas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\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/blockquote\u003e\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/ecab623fb2fe3846de4cafa0dfef0385a7245941\"\u003e\u003ccode\u003eecab623\u003c/code\u003e\u003c/a\u003e Bump 0.14.7 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21684\"\u003e#21684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/42f152108aad444b7d65359aea931be4dd15dffd\"\u003e\u003ccode\u003e42f1521\u003c/code\u003e\u003c/a\u003e [ty] Generic types aliases (implicit and PEP 613) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21553\"\u003e#21553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/594b7b04d3b04bcf42861f86207017c8117678ca\"\u003e\u003ccode\u003e594b7b0\u003c/code\u003e\u003c/a\u003e [ty] Preserve quoting style when autofixing \u003ccode\u003eTypedDict\u003c/code\u003e keys (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21682\"\u003e#21682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b5b4917d7f4a324f5d32cc55dfb1d08e75cc9e6f\"\u003e\u003ccode\u003eb5b4917\u003c/code\u003e\u003c/a\u003e [ty] Fix override of final method summary (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21681\"\u003e#21681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0084e94f78742685ddacf2dab28530c2ece3393e\"\u003e\u003ccode\u003e0084e94\u003c/code\u003e\u003c/a\u003e [ty] Fix subtyping of \u003ccode\u003etype[Any]\u003c/code\u003e / \u003ccode\u003etype[T]\u003c/code\u003e and protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21678\"\u003e#21678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/566c959add8c5aa5d25fd14db513c792e4048b50\"\u003e\u003ccode\u003e566c959\u003c/code\u003e\u003c/a\u003e [ty] Rename \u003ccode\u003eReferenceRequestHandler\u003c/code\u003e file (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21680\"\u003e#21680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8bcfc198b83051db0c8a3c7b8f0c8a8c339947c7\"\u003e\u003ccode\u003e8bcfc19\u003c/code\u003e\u003c/a\u003e [ty] Implement \u003ccode\u003etyping.final\u003c/code\u003e for methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21646\"\u003e#21646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c534bfaf01671b8020edd440bc7f4f22070af583\"\u003e\u003ccode\u003ec534bfa\u003c/code\u003e\u003c/a\u003e [ty] Implement patterns and typevars in the LSP (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21671\"\u003e#21671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5e1b2eef5797b00de8329bf38ceacf5cacd00c87\"\u003e\u003ccode\u003e5e1b2ee\u003c/code\u003e\u003c/a\u003e [ty] implement rendering of \u003ccode\u003e.. code:: lang\u003c/code\u003e in docstrings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21665\"\u003e#21665\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/98681b9356bd0b8ef086cc54118b58de532c5310\"\u003e\u003ccode\u003e98681b9\u003c/code\u003e\u003c/a\u003e [ty] Add \u003ccode\u003edb\u003c/code\u003e parameter to \u003ccode\u003eParameters::new\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21674\"\u003e#21674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.6...0.14.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.18.2 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch3\u003eDrop Support for Python 3.9\u003c/h3\u003e\n\u003cp\u003eMypy no longer supports running with Python 3.9, which has reached end-of-life.\nWhen running mypy with Python 3.10+, it is still possible to type check code\nthat needs to support Python 3.9 with the \u003ccode\u003e--python-version 3.9\u003c/code\u003e argument.\nSupport for this will be dropped in the first half of 2026!\u003c/p\u003e\n\u003cp\u003eContributed by Marc Mueller (PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20156\"\u003e20156\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eMypy 1.19\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.19.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Support Ending Soon\u003c/h3\u003e\n\u003cp\u003eThis is the last mypy feature release that supports Python 3.9, which reached\nend of life in October 2025.\u003c/p\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to a more dynamic SCC processing logic (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20053\"\u003e20053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up type aliases (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19810\"\u003e19810\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed‑Format Cache Improvements\u003c/h3\u003e\n\u003cp\u003eMypy uses a cache by default to speed up incremental runs by reusing partial results\nfrom earlier runs. Mypy 1.18 added a new binary fixed-format cache representation as\nan experimental feature. The feature is no longer experimental, and we are planning\nto enable it by default in a future mypy release (possibly 1.20), since it's faster\nand uses less space than the original, JSON-based cache format. Use\n\u003ccode\u003e--fixed-format-cache\u003c/code\u003e to enable the fixed-format cache.\u003c/p\u003e\n\u003cp\u003eMypy now has an extra dependency on the \u003ccode\u003elibrt\u003c/code\u003e PyPI package, as it's needed for\ncache serialization and deserialization.\u003c/p\u003e\n\u003cp\u003eMypy ships with a tool to convert fixed-format cache files to the old JSON format.\nExample of how to use this:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$ python -m mypy.exportjson .mypy_cache/.../my_module.data.ff\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/0f068c9ec604daa09e69c92545b059f4b44f566e\"\u003e\u003ccode\u003e0f068c9\u003c/code\u003e\u003c/a\u003e Remove +dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/6d5cf52e67da306b62455cdce4ce9a9ccec35d02\"\u003e\u003ccode\u003e6d5cf52\u003c/code\u003e\u003c/a\u003e Various updates to 1.19 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3c813083b27c87cf3a32e7422191b02bf59fab6e\"\u003e\u003ccode\u003e3c81308\u003c/code\u003e\u003c/a\u003e Add draft version of 1.19 release notes (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20296\"\u003e#20296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1999a20e9898f673fa2f4c9a91790c075141ba71\"\u003e\u003ccode\u003e1999a20\u003c/code\u003e\u003c/a\u003e [mypyc] librt base64: use existing SIMD CPU dispatch by customizing build fla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1b94fbb9fbc581de7e057d71e9892e3acbf9a7d3\"\u003e\u003ccode\u003e1b94fbb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix vtable pointer with inherited dunder new (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/13369cb25fe450f755f63e59156b86df84c08b3d\"\u003e\u003ccode\u003e13369cb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix crash on super in generator (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20291\"\u003e#20291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a087a5894935cfdbc2eba27a6d04ebca38fd6659\"\u003e\u003ccode\u003ea087a58\u003c/code\u003e\u003c/a\u003e Update import map when new modules added (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20271\"\u003e#20271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/35e843cc38cedc1bdf87d9937c06d51189ad0e45\"\u003e\u003ccode\u003e35e843c\u003c/code\u003e\u003c/a\u003e [mypyc] Add efficient librt.base64.b64decode (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/094f66dc742cec2d69add9296fb21cdef50624d0\"\u003e\u003ccode\u003e094f66d\u003c/code\u003e\u003c/a\u003e [mypyc] Add \u003cstrong\u003erepr\u003c/strong\u003e to AssignmentTarget subclasses (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0738db3f9d336622923c7ee143e1c3adf7600a31\"\u003e\u003ccode\u003e0738db3\u003c/code\u003e\u003c/a\u003e Do not push partial types to the binder (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20202\"\u003e#20202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.18.2...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pylint` from 4.0.3 to 4.0.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/e16f942166511d6fb4427e503a734152fae0c4fe\"\u003e\u003ccode\u003ee16f942\u003c/code\u003e\u003c/a\u003e Bump pylint to 4.0.4, update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/657b386c0a83202faa95c9a525b8feb80a4c11ab\"\u003e\u003ccode\u003e657b386\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] [invalid-name] Fix FP for exclusive assignment o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pylint-dev/pylint/commit/03f8a922a2eabe5b517457807cc992e122dcc9c0\"\u003e\u003ccode\u003e03f8a92\u003c/code\u003e\u003c/a\u003e [Backport maintenance/4.0.x] fix: avoid false positive when module-level name...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pylint-dev/pylint/compare/v4.0.3...v4.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.122.0 to 0.123.0\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.123.0\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Cache dependencies that don't use scopes and don't have sub-dependencies with scopes. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14419\"\u003e#14419\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.122.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix hierarchical security scope propagation. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/5624\"\u003e#5624\u003c/a\u003e by \u003ca href=\"https://github.com/kristjanvalur\"\u003e\u003ccode\u003e@​kristjanvalur\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💅 Update CSS to explicitly use emoji font. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14415\"\u003e#14415\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 markdown-include-variants from 0.0.5 to 0.0.6. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14418\"\u003e#14418\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/blockquote\u003e\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/f2bab952678f301349c9805dd576af9425a95953\"\u003e\u003ccode\u003ef2bab95\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.123.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c38e3e0108852f0dfec0e9bb5fec7b3ccf7ddad3\"\u003e\u003ccode\u003ec38e3e0\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7fbd30460f480e90faf321b9158bffb5116000d5\"\u003e\u003ccode\u003e7fbd304\u003c/code\u003e\u003c/a\u003e 🐛 Cache dependencies that don't use scopes and don't have sub-dependencies wi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/63d7a2b9978258d13dfc22664e60fc2110d30e20\"\u003e\u003ccode\u003e63d7a2b\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.122.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7681f2904d2f902057e357c107adf39ecfb14ea9\"\u003e\u003ccode\u003e7681f29\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/378ad688b7e57efb190506b3b36be65eb8ad5e6f\"\u003e\u003ccode\u003e378ad68\u003c/code\u003e\u003c/a\u003e 🐛 Fix hierarchical security scope propagation (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/5624\"\u003e#5624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c6487ed632056e450d844846a1b63be551a3cbc6\"\u003e\u003ccode\u003ec6487ed\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/62a69740041726b8c27815f6246272db5ebf7ee5\"\u003e\u003ccode\u003e62a6974\u003c/code\u003e\u003c/a\u003e ⬆ Bump markdown-include-variants from 0.0.5 to 0.0.6 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14418\"\u003e#14418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/998288261af114efd39fb2061ed7ceba32f8699f\"\u003e\u003ccode\u003e9982882\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8ab7167eaf046fb1c7a700dd72e773bb16e7d88f\"\u003e\u003ccode\u003e8ab7167\u003c/code\u003e\u003c/a\u003e 💅 Update CSS to explicitly use emoji font (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14415\"\u003e#14415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.122.0...0.123.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.35.0 to 0.38.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.38.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2723\"\u003eKludex/uvicorn#2723\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NGANAMODEIJunior\"\u003e\u003ccode\u003e@​NGANAMODEIJunior\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2713\"\u003eKludex/uvicorn#2713\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.37.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e setting by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2711\"\u003eKludex/uvicorn#2711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e by \u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LincolnPuzey\"\u003e\u003ccode\u003e@​LincolnPuzey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2669\"\u003eKludex/uvicorn#2669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2709\"\u003eKludex/uvicorn#2709\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs by \u003ca href=\"https://github.com/gnir-work\"\u003e\u003ccode\u003e@​gnir-work\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2435\"\u003eKludex/uvicorn#2435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to provide importable string in \u003ccode\u003e--http\u003c/code\u003e, \u003ccode\u003e--ws\u003c/code\u003e and \u003ccode\u003e--loop\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2658\"\u003eKludex/uvicorn#2658\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnir-work\"\u003e\u003ccode\u003e@​gnir-work\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2435\"\u003eKludex/uvicorn#2435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2659\"\u003eKludex/uvicorn#2659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secrett2633\"\u003e\u003ccode\u003e@​secrett2633\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2684\"\u003eKludex/uvicorn#2684\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.35.0...0.36.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.35.0...0.36.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.38.0 (October 18, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.1 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.0 (September 20, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2435\"\u003e#2435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow to provide importable string in \u003ccode\u003e--http\u003c/code\u003e, \u003ccode\u003e--ws\u003c/code\u003e and \u003ccode\u003e--loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2658\"\u003e#2658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/3850ad6520cafb290bd4174fa9c4ca5d33440c82\"\u003e\u003ccode\u003e3850ad6\u003c/code\u003e\u003c/a\u003e Version 0.38.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2733\"\u003e#2733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b3f17a549ec96f57bf4d975145fc58feefdd4e8\"\u003e\u003ccode\u003e9b3f17a\u003c/code\u003e\u003c/a\u003e Support Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/ce79f95d065c053b36449f67b3b2cefee5ecf167\"\u003e\u003ccode\u003ece79f95\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add Marcelo Trylesinski to the license (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2699\"\u003e#2699\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2730\"\u003e#2730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/dbf8797b47c79da542f530f2143b8e851e2388fd\"\u003e\u003ccode\u003edbf8797\u003c/code\u003e\u003c/a\u003e docs: add social icons (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2728\"\u003e#2728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/58f28be98eb95c8cf25905df10997b4af81c23e3\"\u003e\u003ccode\u003e58f28be\u003c/code\u003e\u003c/a\u003e Add section about event loop (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2725\"\u003e#2725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/93d95107490d5ea3693601388d7783c450058271\"\u003e\u003ccode\u003e93d9510\u003c/code\u003e\u003c/a\u003e Bump docs dependencies (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2724\"\u003e#2724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b1c6c45ed7fe8bd485ddad475f0feff03971af7\"\u003e\u003ccode\u003e9b1c6c4\u003c/code\u003e\u003c/a\u003e Move Marcelo Trylesinski to maintainers in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2719\"\u003e#2719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/57a61d86f2f123b1d35b9ff71e0f29d22d10806f\"\u003e\u003ccode\u003e57a61d8\u003c/code\u003e\u003c/a\u003e Add discord to README (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2718\"\u003e#2718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7ef5f9f5e7e79887b4ab4214c15ab5a9ce63e193\"\u003e\u003ccode\u003e7ef5f9f\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from 6.7.0 to 6.8.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2717\"\u003e#2717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/6d26d88970379cbf20b4dbf4f70e27f191db4ede\"\u003e\u003ccode\u003e6d26d88\u003c/code\u003e\u003c/a\u003e Update pyproject.toml for PEP639 compliance (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2713\"\u003e#2713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.35.0...0.38.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-settings` from 2.6.1 to 2.12.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.12.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for enum kebab case. 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/686\"\u003epydantic/pydantic-settings#686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd NestedSecretsSettings source by \u003ca href=\"https://github.com/makukha\"\u003e\u003ccode\u003e@​makukha\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/690\"\u003epydantic/pydantic-settings#690\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip non-explicit default values. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/692\"\u003epydantic/pydantic-settings#692\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCoerce env vars if strict is True. 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/693\"\u003epydantic/pydantic-settings#693\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore init kwarg names before returning final state dictionary. 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/700\"\u003epydantic/pydantic-settings#700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python3.9 support 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/699\"\u003epydantic/pydantic-settings#699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt test_protected_namespace_defaults for dev. Pydantic by \u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/637\"\u003epydantic/pydantic-settings#637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.14 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/704\"\u003epydantic/pydantic-settings#704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.12 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/705\"\u003epydantic/pydantic-settings#705\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/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCLI Serialize Support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/643\"\u003epydantic/pydantic-settings#643\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInspect type aliases to determine if an annotation is complex by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;fix: Respect 'cli_parse_args' from model_config with settings_customise_sources (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/611\"\u003e#611\u003c/a\u003e)\u0026quot; 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/655\"\u003epydantic/pydantic-settings#655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove parsing of command line arguments from \u003ccode\u003eCliSettingsSource.__init__\u003c/code\u003e. by \u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eturn off allow_abbrev on subparsers by \u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Serialization Fixes 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/649\"\u003epydantic/pydantic-settings#649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix PydanticModel type checking. 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/659\"\u003epydantic/pydantic-settings#659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid env_prefix falling back to env vars without prefix by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/648\"\u003epydantic/pydantic-settings#648\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn if model_config sets unused keys for missing settings sources by \u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncluded endpoint_url kwarg in AWSSecretsManagerSettingsSource class by \u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo (\u0026quot;Accesing\u0026quot;) in the \u0026quot;Adding sources\u0026quot; docs by \u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Windows Path Fix 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/669\"\u003epydantic/pydantic-settings#669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCli root model support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/677\"\u003epydantic/pydantic-settings#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSnake case conversion in Azure Key Vault by \u003ca href=\"https://github.com/AndreuCodina\"\u003e\u003ccode\u003e@​AndreuCodina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/680\"\u003epydantic/pydantic-settings#680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eInitSettingsSource\u003c/code\u003e resolution deterministic by \u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/683\"\u003epydantic/pydantic-settings#683\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/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.10.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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/584983d253a0fac4dfb294d1e6f9ef188add468b\"\u003e\u003ccode\u003e584983d\u003c/code\u003e\u003c/a\u003e Prepare release 2.12 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/705\"\u003e#705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/6b4d87e77698476433031c0056ce71aa4f4a7c4e\"\u003e\u003ccode\u003e6b4d87e\u003c/code\u003e\u003c/a\u003e Add Python 3.14 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/704\"\u003e#704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/02de5b622b8648404aa792df01599aa1179c3aa7\"\u003e\u003ccode\u003e02de5b6\u003c/code\u003e\u003c/a\u003e Adapt test_protected_namespace_defaults for dev. Pydantic (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/637\"\u003e#637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4239ea460a5c465a4ce908c52e9606549b38fa98\"\u003e\u003ccode\u003e4239ea4\u003c/code\u003e\u003c/a\u003e Drop Python3.9 support (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/699\"\u003e#699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/5008c694f684f88fd310f476871ec021426e98d7\"\u003e\u003ccode\u003e5008c69\u003c/code\u003e\u003c/a\u003e Restore init kwarg names before returning final state dictionary. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/700\"\u003e#700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4433101fef6770d3fc0844846f7f3837bfec3b10\"\u003e\u003ccode\u003e4433101\u003c/code\u003e\u003c/a\u003e Coerce env vars if strict is True. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4d2ebfd543e6011f6b71a99042007adf7e613ae9\"\u003e\u003ccode\u003e4d2ebfd\u003c/code\u003e\u003c/a\u003e Strip non-explicit default values. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4a6ffcaeae451199b1873c6709b28aceae7317a7\"\u003e\u003ccode\u003e4a6ffca\u003c/code\u003e\u003c/a\u003e Add NestedSecretsSettings source (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/7a6e96ebfc89ddb5b20dfb068c8ed46b6ff18a7f\"\u003e\u003ccode\u003e7a6e96e\u003c/code\u003e\u003c/a\u003e Apply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/68563eddc09856b94ea0ca156dd75040b4e048e4\"\u003e\u003ccode\u003e68563ed\u003c/code\u003e\u003c/a\u003e Support for enum kebab case. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/686\"\u003e#686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.6.1...v2.12.0\"\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.1\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.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env 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/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\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.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff 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/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() 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/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) 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/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini 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/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory 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/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml 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/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure find_dotenv 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/pull/563\"\u003etheskumar/python-dotenv#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): issue with execvpe on Windows by \u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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.1.0...v1.1.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a security policy 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/512\"\u003etheskumar/python-dotenv#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep GitHub Actions up to date with GitHub's Dependabot by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/506\"\u003etheskumar/python-dotenv#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix multiline string in test.yml \u0026amp; use fail-fast strategy by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/514\"\u003etheskumar/python-dotenv#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance dotenv run: Switch to execvpe for better resource management and signal handling by \u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/523\"\u003etheskumar/python-dotenv#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add py3.13 to test.yml by \u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/527\"\u003etheskumar/python-dotenv#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.13 trove classifier by \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/535\"\u003etheskumar/python-dotenv#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/529\"\u003etheskumar/python-dotenv#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.13 and drop 3.8 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/551\"\u003etheskumar/python-dotenv#551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update README.md by \u003ca href=\"https://github.com/chapeupreto\"\u003e\u003ccode\u003e@​chapeupreto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/516\"\u003etheskumar/python-dotenv#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome more s/Python-dotenv/python-dotenv/ 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/552\"\u003etheskumar/python-dotenv#552\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/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.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/pull/563\"\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/pull/563\"\u003e#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI: revert the use of execvpe on Windows by [\u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003e#566\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.1.0] - 2025-03-25\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFeature\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for python 3.13\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003edotenv run\u003c/code\u003e, switch to \u003ccode\u003eexecvpe\u003c/code\u003e for better resource management and signal handling (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/523\"\u003e#523\u003c/a\u003e) by [\u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFixed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003efind_dotenv\u003c/code\u003e and \u003ccode\u003eload_dotenv\u003c/code\u003e now correctly looks up at the current directory when running in debugger or pdb (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/553\"\u003e#553\u003c/a\u003e by [\u003ca href=\"https://github.com/randomseed42\"\u003e\u003ccode\u003e@​randomseed42\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMisc\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/eaf2a9129ccec6febda0f741eb3bb852c3f947bd\"\u003e\u003ccode\u003eeaf2a91\u003c/code\u003e\u003c/a\u003e Do not remove .coverage file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8716196891532eeb67d24a513e8d975437f5e8b7\"\u003e\u003ccode\u003e8716196\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.0 → 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/b87807fcad6e74332c3c63a75c92ce5814fa7a55\"\u003e\u003ccode\u003eb87807f\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/3af77d3029eb717aeec0a3c25f751b6a614a6d3c\"\u003e\u003ccode\u003e3af77d3\u003c/code\u003e\u003c/a\u003e Support reading .env from FIFOs (Unix) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/467ee22fccb2fb7ccda71a0d9e37c6ea3cb8d993\"\u003e\u003ccode\u003e467ee22\u003c/code\u003e\u003c/a\u003e Fix test failures after moving config to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/76999e741d87e958ebd74e3ae9834c0514e77a59\"\u003e\u003ccode\u003e76999e7\u003c/code\u003e\u003c/a\u003e Move more config pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/222ce2cc58ebc82ba78da8781269267b9f585932\"\u003e\u003ccode\u003e222ce2c\u003c/code\u003e\u003c/a\u003e Update to use trusted publisher on pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8ed4f79d202eba582b44bdf1f5deb726dd68783d\"\u003e\u003ccode\u003e8ed4f79\u003c/code\u003e\u003c/a\u003e Update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/5bf882241c607445bf02cf5b241535d62e2b99c1\"\u003e\u003ccode\u003e5bf8822\u003c/code\u003e\u003c/a\u003e Bump version: 1.1.1 → 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1fe11cc737ee4399e9c51d1b69b0dd858f6b4669\"\u003e\u003ccode\u003e1fe11cc\u003c/code\u003e\u003c/a\u003e upadate changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.0.1...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` from 2.4.9 to 2.6.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.4 Release Notes\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003ch3\u003e1. Support for TimestampTZ Data Type (Introduced in Milvus v2.6.6)\u003c/h3\u003e\n\u003cp\u003ePyMilvus now supports the TIMESTAMPTZ data type, allowing you to store and query timestamps with time zone information.\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom pymilvus import MilvusClient, DataType\n\u003cp\u003eclient = MilvusClient(uri=\u0026quot;\u003ca href=\"http://localhost:19530\"\u003ehttp://localhost:19530\u003c/a\u003e\u0026quot;)\u003c/p\u003e\n\u003ch1\u003e1. Define Schema with TimestampTZ\u003c/h1\u003e\n\u003cp\u003eschema = MilvusClient.create_schema()\nschema.add_field(\u0026quot;id\u0026quot;, DataType.INT64, is_primary=True)\nschema.add_field(\u0026quot;timestamp\u0026quot;, DataType.TIMESTAMPTZ)\nschema.add_field(\u0026quot;vector\u0026quot;, DataType.FLOAT_VECTOR, dim=128)\u003c/p\u003e\n\u003cp\u003eclient.create_collection(collection_name=\u0026quot;ts_collection\u0026quot;, schema=schema)\u003c/p\u003e\n\u003ch1\u003e2. Insert Data (using ISO 8601 format strings with timezone)\u003c/h1\u003e\n\u003cp\u003edata = [\n{\u0026quot;id\u0026quot;: 1, \u0026quot;timestamp\u0026quot;: \u0026quot;2025-01-01T12:00:00+00:00\u0026quot;, \u0026quot;vector\u0026quot;: [0.1] * 128},\n{\u0026quot;id\u0026quot;: 2, \u0026quot;timestamp\u0026quot;: \u0026quot;2025-01-02T08:30:00-05:00\u0026quot;, \u0026quot;vector\u0026quot;: [0.2] * 128}\n]\nclient.insert(collection_name=\u0026quot;ts_collection\u0026quot;, data=data)\u003c/p\u003e\n\u003ch1\u003e3. Query Data\u003c/h1\u003e\n\u003ch1\u003eQuery records by ID to retrieve timestamps\u003c/h1\u003e\n\u003cp\u003eres = client.query(\ncollection_name=\u0026quot;ts_collection\u0026quot;,\nfilter=\u0026quot;id in [1, 2]\u0026quot;,\noutput_fields=[\u0026quot;id\u0026quot;, \u0026quot;timestamp\u0026quot;]\n)\nprint(res)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003eChange Log\u003c/h2\u003e\n\u003ch3\u003eFeatures \u0026amp; Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[TimestampTZ] Added support for TIMESTAMPTZ data type. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3092\"\u003e#3092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[BulkWriter] Supported STRUCT field data type in BulkWriter. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3068\"\u003e#3068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[BulkWriter] Supported Geometry data type in BulkWriter. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3052\"\u003e#3052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[BulkWriter] Added support for specifying a local temporary path in RemoteBulkWriter. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3077\"\u003e#3077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[STRUCT] Supported TypeParams definition in STRUCT fields. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3055\"\u003e#3055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[MilvusClient] Migrated 6 APIs to MilvusClient: flush_all, get_flush_all_state, list_loaded_segments, list_persistent_segments, get_server_type, and get_compaction_plans. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3096\"\u003e#3096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Array] Supported numpy ndarray input for ARRAY fields in MilvusClient. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3096\"\u003e#3096\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Import] Added db_name parameter to list_import_jobs() to correctly list jobs under a specific database. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3088\"\u003e#3088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Connection] Fixed a bug related to connection reset handling. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Connection] Fixed an issue with connection caching when retrieving collection schema. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[STRUCT] Fixed a bug where querying STRUCT fields could incorrectly return an empty array. (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3074\"\u003e#3074\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/milvus-io/pymilvus/commit/a016cff95ad0479e1a859e5f7b5057b73678f157\"\u003e\u003ccode\u003ea016cff\u003c/code\u003e\u003c/a\u003e [cherry-pick] cherry-pick mutiple commits (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3096\"\u003e#3096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/aac25f3eb643ef3e0b6709f1c0e769c4e296623d\"\u003e\u003ccode\u003eaac25f3\u003c/code\u003e\u003c/a\u003e Modify timestamptz example (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3093\"\u003e#3093\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3094\"\u003e#3094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/604b7f466e540f158ccc107e382264adbe2c8346\"\u003e\u003ccode\u003e604b7f4\u003c/code\u003e\u003c/a\u003e fix:async flush() not waiting for segments to be flushed (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3090\"\u003e#3090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/e40aa7fccba23978de7a66028e0f4d84df9927bd\"\u003e\u003ccode\u003ee40aa7f\u003c/code\u003e\u003c/a\u003e feat: timestamptz support (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3002\"\u003e#3002\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3092\"\u003e#3092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/e93d548b00b8d2cc83fb0558d3bad88bd7de96a6\"\u003e\u003ccode\u003ee93d548\u003c/code\u003e\u003c/a\u003e fix: Add db_name parameter for list_import_jobs() (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3088\"\u003e#3088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/28f713c6e52f9e1f28a58b2a0b2f360b2c2fc0eb\"\u003e\u003ccode\u003e28f713c\u003c/code\u003e\u003c/a\u003e fix: Fix a bug of reset connection (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/3da1040d8fd5379a3d33cda228fe06f61e4db2f7\"\u003e\u003ccode\u003e3da1040\u003c/code\u003e\u003c/a\u003e [Enhancement] allows to specufy temp local path for RemoteBulkWriter for temp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/ddbf5f9356e1a27f96bd65255c11c4c9b955f206\"\u003e\u003ccode\u003eddbf5f9\u003c/code\u003e\u003c/a\u003e fix: fix return empty array with STRUCT field [2.6] (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3074\"\u003e#3074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/0a6c993fa207ca40fc374ea98bbc05feb69bf5ff\"\u003e\u003ccode\u003e0a6c993\u003c/code\u003e\u003c/a\u003e fix: Fix a bug of connection cache for collection schema (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/8b7d77382c834d53a27a81ae1f5162ea25e637b7\"\u003e\u003ccode\u003e8b7d773\u003c/code\u003e\u003c/a\u003e [cherry-pick] Support struct field for BulkWriter (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3068\"\u003e#3068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.4.9...v2.6.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scikit-learn` from 1.6.0 to 1.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scikit-learn/scikit-learn/releases\"\u003escikit-learn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eScikit-learn 1.7.2\u003c/h2\u003e\n\u003cp\u003eWe're happy to announce the 1.7.2 release.\u003c/p\u003e\n\u003cp\u003eThis release contains a few bug fixes and is the first version supporting Python 3.14.\u003c/p\u003e\n\u003cp\u003eYou can see the changelog here: \u003ca href=\"https://scikit-learn.org/stable/whats_new/v1.7.html#version-1-7-2\"\u003ehttps://scikit-learn.org/stable/whats_new/v1.7.html#version-1-7-2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eYou can upgrade with pip as usual:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epip install -U scikit-learn\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe conda-forge builds can be installed using:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge scikit-learn\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThanks to everyone who contributed to this release !\u003c/p\u003e\n\u003ch2\u003eScikit-learn 1.7.1\u003c/h2\u003e\n\u003cp\u003eWe're happy to announce the 1.7.1 release.\u003c/p\u003e\n\u003cp\u003eThis release contains fixes for a few regressions introduced in 1.7.\u003c/p\u003e\n\u003cp\u003eYou can see the changelog here: \u003ca href=\"https://scikit-learn.org/stable/whats_new/v1.7.html#version-1-7-1\"\u003ehttps://scikit-learn.org/stable/whats_new/v1.7.html#version-1-7-1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eYou can upgrade with pip as usual:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epip install -U scikit-learn\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe conda-forge builds can be installed using:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge scikit-learn\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThanks to everyone who contributed to this release !\u003c/p\u003e\n\u003ch2\u003eScikit-learn 1.7.0\u003c/h2\u003e\n\u003cp\u003eWe're happy to announce the 1.7.0 release.\u003c/p\u003e\n\u003cp\u003eYou can read the release highlights under \u003ca href=\"https://scikit-learn.org/stable/auto_examples/release_highlights/plot_release_highlights_1_7_0.html\"\u003ehttps://scikit-learn.org/stable/auto_examples/release_highlights/plot_release_highlights_1_7_0.html\u003c/a\u003e and the long version of the change log under \u003ca href=\"https://scikit-learn.org/stable/whats_new/v1.7.html\"\u003ehttps://scikit-learn.org/stable/whats_new/v1.7.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis version supports Python versions 3.10 to 3.13 and features an experimental support of free-threaded CPython.\u003c/p\u003e\n\u003cp\u003eYou can upgrade with pip as usual:\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/scikit-learn/scikit-learn/commit/25dee604bae18205b01548348388baf7a1cdfe0e\"\u003e\u003ccode\u003e25dee60\u003c/code\u003e\u003c/a\u003e missing tag in changelog [cd build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/290b5af5e67e860945b3d226127772d639a463e4\"\u003e\u003ccode\u003e290b5af\u003c/code\u003e\u003c/a\u003e bump upper bounds [cd build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/813681d44126faf03e161c62698fe3ef03a366e4\"\u003e\u003ccode\u003e813681d\u003c/code\u003e\u003c/a\u003e CI Add Python 3.14 nightly wheels (\u003ca href=\"https://redirect.github.com/scikit-learn/scikit-learn/issues/32012\"\u003e#32012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/9cc302d15c453a8601f9fb14e56128d1e26ddb37\"\u003e\u003ccode\u003e9cc302d\u003c/code\u003e\u003c/a\u003e fix changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/65966587913acbdeb2be5650aaff7b9573af1a0d\"\u003e\u003ccode\u003e6596658\u003c/code\u003e\u003c/a\u003e fix changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/da98b43ee637417920f637e0aa6e0df152cbda3e\"\u003e\u003ccode\u003eda98b43\u003c/code\u003e\u003c/a\u003e generate changelog 1.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/f2ff9e85eae2d5c4808ab5c11bec3119b4ebc7d7\"\u003e\u003ccode\u003ef2ff9e8\u003c/code\u003e\u003c/a\u003e set version 1.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/8b41b0fefc78a40e04ea33670be52a9791a95cbd\"\u003e\u003ccode\u003e8b41b0f\u003c/code\u003e\u003c/a\u003e Fix uncomparable values in SimpleImputer tie-breaking strategy (\u003ca href=\"https://redire...\n\n_Description has been truncated_","html_url":"https://github.com/manavgup/rag_modulo/pull/708","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/manavgup%2Frag_modulo/issues/708","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/708/packages"}},{"old_version":"0.34.0","new_version":"0.35.0","update_type":"minor","path":null,"pr_created_at":"2025-11-26T05:05:47.000Z","version_change":"0.34.0 → 0.35.0","issue":{"uuid":"3665791946","node_id":"PR_kwDOL3PqEc61j3Sa","number":682,"state":"open","title":"chore(deps): bump the python-dependencies group across 1 directory with 23 updates","user":"dependabot[bot]","labels":["security","backend","dependencies"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-26T05:05:47.000Z","updated_at":"2025-11-26T18:00:27.387Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-dependencies","update_count":23,"packages":[{"name":"minio","old_version":"7.2.18","new_version":"7.2.19","repository_url":"https://github.com/minio/minio-py"},{"name":"deptry","old_version":"0.23.1","new_version":"0.24.0","repository_url":"https://github.com/fpgmaas/deptry"},{"name":"ruff","old_version":"0.14.2","new_version":"0.14.6","repository_url":"https://github.com/astral-sh/ruff"},{"name":"bandit","old_version":"1.8.6","new_version":"1.9.2","repository_url":"https://github.com/PyCQA/bandit"},{"name":"safety","old_version":"3.6.2","new_version":"3.7.0","repository_url":"https://github.com/pyupio/safety"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"pydantic-settings","old_version":"2.6.1","new_version":"2.12.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"pymilvus","old_version":"2.4.9","new_version":"2.6.3","repository_url":"https://github.com/milvus-io/pymilvus"},{"name":"scikit-learn","old_version":"1.6.0","new_version":"1.7.2","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"weaviate-client","old_version":"4.16.9","new_version":"4.18.1","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"sqlalchemy","old_version":"2.0.36","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"pandas","old_version":"2.1.4","new_version":"2.2.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pymupdf","old_version":"1.25.0","new_version":"1.26.6","repository_url":"https://github.com/pymupdf/pymupdf"},{"name":"chromadb","old_version":"1.2.0","new_version":"1.3.5","repository_url":"https://github.com/chroma-core/chroma"},{"name":"ibm-watsonx-ai","old_version":"1.3.37","new_version":"1.4.7"},{"name":"json-repair","old_version":"0.30.3","new_version":"0.54.2","repository_url":"https://github.com/mangiucugna/json_repair"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"psutil","old_version":"7.0.0","new_version":"7.1.3","repository_url":"https://github.com/giampaolo/psutil"},{"name":"docling","old_version":"2.55.0","new_version":"2.63.0","repository_url":"https://github.com/docling-project/docling"},{"name":"transformers","old_version":"4.57.1","new_version":"4.57.3","repository_url":"https://github.com/huggingface/transformers"},{"name":"spacy","old_version":"3.8.7","new_version":"3.8.11","repository_url":"https://github.com/explosion/spaCy"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the python-dependencies group with 23 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [minio](https://github.com/minio/minio-py) | `7.2.18` | `7.2.19` |\n| [deptry](https://github.com/fpgmaas/deptry) | `0.23.1` | `0.24.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.2` | `0.14.6` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.6` | `1.9.2` |\n| [safety](https://github.com/pyupio/safety) | `3.6.2` | `3.7.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.38.0` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.6.1` | `2.12.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [pymilvus](https://github.com/milvus-io/pymilvus) | `2.4.9` | `2.6.3` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.0` | `1.7.2` |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.16.9` | `4.18.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.36` | `2.0.44` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.1.4` | `2.2.3` |\n| [pymupdf](https://github.com/pymupdf/pymupdf) | `1.25.0` | `1.26.6` |\n| [chromadb](https://github.com/chroma-core/chroma) | `1.2.0` | `1.3.5` |\n| [ibm-watsonx-ai](https://ibm.github.io/watsonx-ai-python-sdk) | `1.3.37` | `1.4.7` |\n| [json-repair](https://github.com/mangiucugna/json_repair) | `0.30.3` | `0.54.2` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.1.3` |\n| [docling](https://github.com/docling-project/docling) | `2.55.0` | `2.63.0` |\n| [transformers](https://github.com/huggingface/transformers) | `4.57.1` | `4.57.3` |\n| [spacy](https://github.com/explosion/spaCy) | `3.8.7` | `3.8.11` |\n\n\nUpdates `minio` from 7.2.18 to 7.2.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minio/minio-py/releases\"\u003eminio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBugfix release 7.2.19\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd region, extra_headers and extra_query_params by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1505\"\u003eminio/minio-py#1505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake BaseException internals to be set by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1521\"\u003eminio/minio-py#1521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Add missing type annotations to serialization dataclass fields by \u003ca href=\"https://github.com/rraulinio\"\u003e\u003ccode\u003e@​rraulinio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1527\"\u003eminio/minio-py#1527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport optional parameters in LdapIdentityProvider by \u003ca href=\"https://github.com/jkandasa\"\u003e\u003ccode\u003e@​jkandasa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1528\"\u003eminio/minio-py#1528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect existing checksum headers to both CreateMultipartUpload and UploadPart requests by \u003ca href=\"https://github.com/rraulinio\"\u003e\u003ccode\u003e@​rraulinio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1529\"\u003eminio/minio-py#1529\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/rraulinio\"\u003e\u003ccode\u003e@​rraulinio\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1527\"\u003eminio/minio-py#1527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jkandasa\"\u003e\u003ccode\u003e@​jkandasa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1528\"\u003eminio/minio-py#1528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.18...7.2.19\"\u003ehttps://github.com/minio/minio-py/compare/7.2.18...7.2.19\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/minio/minio-py/commit/31ac1ae4e250eb5eb12a37434559c522e888ebd7\"\u003e\u003ccode\u003e31ac1ae\u003c/code\u003e\u003c/a\u003e fix: incorrect checksum headers for both CreateMultipartUpload and UploadPart...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/a929d3a86cb877adae49adbd08b3b72df0f9c03f\"\u003e\u003ccode\u003ea929d3a\u003c/code\u003e\u003c/a\u003e support optional parameters in LdapIdentityProvider (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1528\"\u003e#1528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/cbac53b069b6137b8d344595cbb1ea16e701db34\"\u003e\u003ccode\u003ecbac53b\u003c/code\u003e\u003c/a\u003e Fix: Add missing type annotations to serialization dataclass fields (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1527\"\u003e#1527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/48068f8b813613b0a3333839f5f226e20ebc3616\"\u003e\u003ccode\u003e48068f8\u003c/code\u003e\u003c/a\u003e Make BaseException internals to be set (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1521\"\u003e#1521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/6daf3668742fef35ce69fc000ed633a0d23d33da\"\u003e\u003ccode\u003e6daf366\u003c/code\u003e\u003c/a\u003e Add region, extra_headers and extra_query_params (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1505\"\u003e#1505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/64ed1ef509545107eb771b7ae150d1311ccdf271\"\u003e\u003ccode\u003e64ed1ef\u003c/code\u003e\u003c/a\u003e Update version to next release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.18...7.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `deptry` from 0.23.1 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/fpgmaas/deptry/releases\"\u003edeptry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003ch4\u003ePython 3.9 support dropped\u003c/h4\u003e\n\u003cp\u003eSupport for Python 3.9 has been dropped, as it has reached its end of life.\u003c/p\u003e\n\u003ch4\u003ePyPy 3.10 support dropped, 3.11 added\u003c/h4\u003e\n\u003cp\u003eSupport for PyPy 3.10 has been dropped, since it is unsupported. We now only test against PyPy 3.11, and only publish wheels for this version.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub Actions annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1224\"\u003e#1224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePublish wheels for PyPy 3.11 and drop 3.10 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1227\"\u003e#1227\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFull Changelog\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\"\u003ehttps://github.com/fpgmaas/deptry/compare/0.23.1...0.24.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/fpgmaas/deptry/blob/main/CHANGELOG.md\"\u003edeptry's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.0 - 2025-11-09\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003ch4\u003ePython 3.9 support dropped\u003c/h4\u003e\n\u003cp\u003eSupport for Python 3.9 has been dropped, as it has reached its end of life.\u003c/p\u003e\n\u003ch4\u003ePyPy 3.10 support dropped, 3.11 added\u003c/h4\u003e\n\u003cp\u003eSupport for PyPy 3.10 has been dropped, since it is unsupported. We now only test against PyPy 3.11, and only publish wheels for this version.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub Actions annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1224\"\u003e#1224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePublish wheels for PyPy 3.11 and drop 3.10 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1227\"\u003e#1227\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFull Changelog\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\"\u003ehttps://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/4cc2d65ce1343957c911ca45709d6080cb9f82c3\"\u003e\u003ccode\u003e4cc2d65\u003c/code\u003e\u003c/a\u003e docs(changelog): add 0.24.0 release notes (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1330\"\u003e#1330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/8757b318e9974bbfa7ec65dabf999bc935ac026f\"\u003e\u003ccode\u003e8757b31\u003c/code\u003e\u003c/a\u003e chore: sync all dependency groups by default and run mypy locally (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1337\"\u003e#1337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/5ebc5c066831dd3dfeef7e79a4ae4f5934d744b9\"\u003e\u003ccode\u003e5ebc5c0\u003c/code\u003e\u003c/a\u003e feat: add github annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/aa59b6fa66bd3468ad681317de14189606a9c04e\"\u003e\u003ccode\u003eaa59b6f\u003c/code\u003e\u003c/a\u003e fix(deps): update ruff rust to v0.14.4 (patch) (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1335\"\u003e#1335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/87a6b87428641bc7cab3b22d00d788e28ed86ae9\"\u003e\u003ccode\u003e87a6b87\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1336\"\u003e#1336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/6b938ae73633b1a1f46e3888c9673b49d5e9dd60\"\u003e\u003ccode\u003e6b938ae\u003c/code\u003e\u003c/a\u003e chore(deps): update uv-version to v0.9.8 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/92c35bab5ad0a11d2becc31e4cdbe4413a746233\"\u003e\u003ccode\u003e92c35ba\u003c/code\u003e\u003c/a\u003e chore(deps): update pre-commit hook woodruffw/zizmor-pre-commit to v1.16.3 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/a8be2902812426acaf00ff344dc93a48f30d48d7\"\u003e\u003ccode\u003ea8be290\u003c/code\u003e\u003c/a\u003e chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.4 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1332\"\u003e#1332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/6abefd1237071ba0e8d3fc1c9e02a402ccde11f6\"\u003e\u003ccode\u003e6abefd1\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency mkdocs-material to v9.6.23 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/6b556861d72024d1f8b5f8c8ead9d1b48cef0f9e\"\u003e\u003ccode\u003e6b55686\u003c/code\u003e\u003c/a\u003e test: update all test dependencies (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1313\"\u003e#1313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.2 to 0.14.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.6\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Support new PySNMP API paths (\u003ccode\u003eS508\u003c/code\u003e, \u003ccode\u003eS509\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21374\"\u003e#21374\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdjust own-line comment placement between branches (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21185\"\u003e#21185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid syntax error when formatting attribute expressions with outer parentheses, parenthesized value, and trailing comment on value (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20418\"\u003e#20418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic when formatting comments in unary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21501\"\u003e#21501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003efmt: skip\u003c/code\u003e for compound statements on a single line (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20633\"\u003e#20633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Fix \u003ccode\u003eFURB103\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21454\"\u003e#21454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix false positive for complex conversion specifiers in \u003ccode\u003elogging-eager-conversion\u003c/code\u003e (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21464\"\u003e#21464\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] Avoid false positive on \u003ccode\u003eClassVar\u003c/code\u003e reassignment (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21478\"\u003e#21478\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRender hyperlinks for lint errors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21514\"\u003e#21514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003eruff analyze\u003c/code\u003e option to skip over imports in \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21472\"\u003e#21472\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLimit \u003ccode\u003eeglot-format\u003c/code\u003e hook to eglot-managed Python buffers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21459\"\u003e#21459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention \u003ccode\u003eforce-exclude\u003c/code\u003e in \u0026quot;Configuration \u0026gt; Python file discovery\u0026quot; (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21500\"\u003e#21500\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gauthsvenkat\"\u003e\u003ccode\u003e@​gauthsvenkat\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thamer\"\u003e\u003ccode\u003e@​thamer\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ruchir28\"\u003e\u003ccode\u003e@​Ruchir28\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/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.6\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.14.6/ruff-installer.sh | sh\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.6\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Support new PySNMP API paths (\u003ccode\u003eS508\u003c/code\u003e, \u003ccode\u003eS509\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21374\"\u003e#21374\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdjust own-line comment placement between branches (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21185\"\u003e#21185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid syntax error when formatting attribute expressions with outer parentheses, parenthesized value, and trailing comment on value (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20418\"\u003e#20418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic when formatting comments in unary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21501\"\u003e#21501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003efmt: skip\u003c/code\u003e for compound statements on a single line (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20633\"\u003e#20633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Fix \u003ccode\u003eFURB103\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21454\"\u003e#21454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix false positive for complex conversion specifiers in \u003ccode\u003elogging-eager-conversion\u003c/code\u003e (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21464\"\u003e#21464\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] Avoid false positive on \u003ccode\u003eClassVar\u003c/code\u003e reassignment (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21478\"\u003e#21478\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRender hyperlinks for lint errors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21514\"\u003e#21514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003eruff analyze\u003c/code\u003e option to skip over imports in \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21472\"\u003e#21472\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLimit \u003ccode\u003eeglot-format\u003c/code\u003e hook to eglot-managed Python buffers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21459\"\u003e#21459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention \u003ccode\u003eforce-exclude\u003c/code\u003e in \u0026quot;Configuration \u0026gt; Python file discovery\u0026quot; (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21500\"\u003e#21500\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gauthsvenkat\"\u003e\u003ccode\u003e@​gauthsvenkat\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thamer\"\u003e\u003ccode\u003e@​thamer\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ruchir28\"\u003e\u003ccode\u003e@​Ruchir28\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/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.5\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-13.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Apply \u003ccode\u003eSIM113\u003c/code\u003e when index variable is of type \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21395\"\u003e#21395\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/59c6cb521d26380120f8522476fd09d296bf4f2e\"\u003e\u003ccode\u003e59c6cb5\u003c/code\u003e\u003c/a\u003e Bump 0.14.6 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21558\"\u003e#21558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/54dba15088ced32c31592ab44ddfdf40614002bb\"\u003e\u003ccode\u003e54dba15\u003c/code\u003e\u003c/a\u003e [ty] Improve debug messages when imports fail (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21555\"\u003e#21555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1af318534a01ba6be69d7d77c33e96080635a8af\"\u003e\u003ccode\u003e1af3185\u003c/code\u003e\u003c/a\u003e [ty] Add support for relative import completions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/553e5686248e86b9c781af77c714adc229bf8cc5\"\u003e\u003ccode\u003e553e568\u003c/code\u003e\u003c/a\u003e [ty] Refactor detection of import statements for completions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/cdef3f5ab8115e2581e080341d4bab932d905af4\"\u003e\u003ccode\u003ecdef3f5\u003c/code\u003e\u003c/a\u003e [ty] Use dedicated collector for completions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/617882242719af179a42be68170f9de9d83174f4\"\u003e\u003ccode\u003e6178822\u003c/code\u003e\u003c/a\u003e [ty] Attach subdiagnostics to \u003ccode\u003eunresolved-import\u003c/code\u003e errors for relative imports...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6b7adb0537d1a57f26cf462a637af483e0ba2c75\"\u003e\u003ccode\u003e6b7adb0\u003c/code\u003e\u003c/a\u003e [ty] support PEP 613 type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21394\"\u003e#21394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/06941c1987bd4fe2b54d99b5514784472cabc0b3\"\u003e\u003ccode\u003e06941c1\u003c/code\u003e\u003c/a\u003e [ty] More low-hanging fruit for inlay hint goto-definition (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21548\"\u003e#21548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/eb7c098d6b70aacbaebe8b7c8d7710ad4ad0f46b\"\u003e\u003ccode\u003eeb7c098\u003c/code\u003e\u003c/a\u003e [ty] implement \u003ccode\u003eTypedDict\u003c/code\u003e structural assignment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21467\"\u003e#21467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1b28fc1f1417284a075afa4a18c5e9d31a7d8620\"\u003e\u003ccode\u003e1b28fc1\u003c/code\u003e\u003c/a\u003e [ty] Add more random TypeDetails and tests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21546\"\u003e#21546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.2...0.14.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bandit` from 1.8.6 to 1.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/bandit/releases\"\u003ebandit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArgparse Python 3.14 enhancements by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1331\"\u003ePyCQA/bandit#1331\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck whether Constant value is str by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1333\"\u003ePyCQA/bandit#1333\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.9.1...1.9.2\"\u003ehttps://github.com/PyCQA/bandit/compare/1.9.1...1.9.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMore Python version related fixes by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1327\"\u003ePyCQA/bandit#1327\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.9.0...1.9.1\"\u003ehttps://github.com/PyCQA/bandit/compare/1.9.0...1.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd instructions for Maintainers to create/publish a release by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1275\"\u003ePyCQA/bandit#1275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump sigstore/cosign-installer from 3.9.1 to 3.9.2 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/PyCQA/bandit/pull/1289\"\u003ePyCQA/bandit#1289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump docker/login-action from 3.4.0 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1290\"\u003ePyCQA/bandit#1290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1291\"\u003ePyCQA/bandit#1291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1292\"\u003ePyCQA/bandit#1292\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated datetime.datetime.utcnow() by \u003ca href=\"https://github.com/purplezimmermann\"\u003e\u003ccode\u003e@​purplezimmermann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1295\"\u003ePyCQA/bandit#1295\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/PyCQA/bandit/pull/1296\"\u003ePyCQA/bandit#1296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump sigstore/cosign-installer from 3.9.2 to 3.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1298\"\u003ePyCQA/bandit#1298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1303\"\u003ePyCQA/bandit#1303\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos by \u003ca href=\"https://github.com/Shortfinga\"\u003e\u003ccode\u003e@​Shortfinga\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1305\"\u003ePyCQA/bandit#1305\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump docker/login-action from 3.5.0 to 3.6.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1306\"\u003ePyCQA/bandit#1306\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1315\"\u003ePyCQA/bandit#1315\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump sigstore/cosign-installer from 3.10.0 to 4.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1317\"\u003ePyCQA/bandit#1317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport of Python 3.14 by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1323\"\u003ePyCQA/bandit#1323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop support of end-of-life Python 3.9 by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1325\"\u003ePyCQA/bandit#1325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1324\"\u003ePyCQA/bandit#1324\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/purplezimmermann\"\u003e\u003ccode\u003e@​purplezimmermann\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1295\"\u003ePyCQA/bandit#1295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shortfinga\"\u003e\u003ccode\u003e@​Shortfinga\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1305\"\u003ePyCQA/bandit#1305\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.8.6...1.9.0\"\u003ehttps://github.com/PyCQA/bandit/compare/1.8.6...1.9.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/ea0d187d78b2e6365e35f676d2eb9b1be264c091\"\u003e\u003ccode\u003eea0d187\u003c/code\u003e\u003c/a\u003e Check whether Constant value is str (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/8bf759452a1f492a7035165e4c6a6d80b83c2502\"\u003e\u003ccode\u003e8bf7594\u003c/code\u003e\u003c/a\u003e Argparse Python 3.14 enhancements (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/a255dfaecbd1b4dbdb09d10a1f69e9f1874e5999\"\u003e\u003ccode\u003ea255dfa\u003c/code\u003e\u003c/a\u003e More Python version related fixes (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1327\"\u003e#1327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/3f07bb0d3f964a2bcd3a8b208f4343131a40f63a\"\u003e\u003ccode\u003e3f07bb0\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1324\"\u003e#1324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/c8c3fb86996b44d5fe22b6ae270a97e34d0d0b65\"\u003e\u003ccode\u003ec8c3fb8\u003c/code\u003e\u003c/a\u003e Drop support of end-of-life Python 3.9 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1325\"\u003e#1325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/5c303504631286becbf8c223cc923b885689d5e3\"\u003e\u003ccode\u003e5c30350\u003c/code\u003e\u003c/a\u003e Support of Python 3.14 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1323\"\u003e#1323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/e1ffdf63da4b32241beb00d1ce45fe3702251907\"\u003e\u003ccode\u003ee1ffdf6\u003c/code\u003e\u003c/a\u003e Bump sigstore/cosign-installer from 3.10.0 to 4.0.0 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1317\"\u003e#1317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/176d4cacdb56ca3b4e7adb35e4122a7a011a0ed4\"\u003e\u003ccode\u003e176d4ca\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1315\"\u003e#1315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/2fc3e9c41dd728649930365d09b2cc66b03a97f4\"\u003e\u003ccode\u003e2fc3e9c\u003c/code\u003e\u003c/a\u003e Bump docker/login-action from 3.5.0 to 3.6.0 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1306\"\u003e#1306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/6a685467d6bd44aa35d5ef64e2ee6187a20c6484\"\u003e\u003ccode\u003e6a68546\u003c/code\u003e\u003c/a\u003e Fix typos (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1305\"\u003e#1305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.8.6...1.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `safety` from 3.6.2 to 3.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyupio/safety/releases\"\u003esafety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.7.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.7.0b5 → 3.7.0 (9df3a6f)\u003c/li\u003e\n\u003cli\u003efix: npm ecosystem check on render package details (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/820\"\u003e#820\u003c/a\u003e) (9780ac2)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.7.0b5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.7.0b4 → 3.7.0b5 (7f138f1)\u003c/li\u003e\n\u003cli\u003efix: bash priority issues (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/819\"\u003e#819\u003c/a\u003e) (933dc82)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.7.0b4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.7.0b3 → 3.7.0b4 (3b1e4dc)\u003c/li\u003e\n\u003cli\u003eci: remove version from the artifacts name (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/818\"\u003e#818\u003c/a\u003e) (c5134b5)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.7.0b3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.7.0b2 → 3.7.0b3 (04f24e5)\u003c/li\u003e\n\u003cli\u003eci: separate checksum artifacts for signed and unsigned builds (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/817\"\u003e#817\u003c/a\u003e) (a08a347)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.7.0b0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.6.2 → 3.7.0b0 (b289a6c)\u003c/li\u003e\n\u003cli\u003efix: replace deprecated pkg_resources with importlib.metadata (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/813\"\u003e#813\u003c/a\u003e) (c1e07ef)\u003c/li\u003e\n\u003cli\u003echore: drop python 3.8 support (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/791\"\u003e#791\u003c/a\u003e) (a41c82b)\u003c/li\u003e\n\u003cli\u003echore: set minimum tenacity version to 8.1.0 (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/812\"\u003e#812\u003c/a\u003e) (973a265)\u003c/li\u003e\n\u003cli\u003echore: restructure GitHub issue templates and remove bug bounty references (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/811\"\u003e#811\u003c/a\u003e) (2fcbe72)\u003c/li\u003e\n\u003cli\u003efeat: add firewall support for NPM (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/800\"\u003e#800\u003c/a\u003e) (5d44edf)\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/pyupio/safety/blob/main/CHANGELOG.md\"\u003esafety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.7.0 (2025-11-06)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003enpm ecosystem check on render package details (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/820\"\u003e#820\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.7.0b5 (2025-11-04)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebash priority issues (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.7.0b4 (2025-11-03)\u003c/h2\u003e\n\u003ch2\u003e3.7.0b3 (2025-11-03)\u003c/h2\u003e\n\u003ch2\u003e3.7.0b2 (2025-11-03)\u003c/h2\u003e\n\u003ch2\u003e3.7.0b1 (2025-11-03)\u003c/h2\u003e\n\u003ch2\u003e3.7.0b0 (2025-10-22)\u003c/h2\u003e\n\u003ch3\u003eFeat\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd firewall support for NPM (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/800\"\u003e#800\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated pkg_resources with importlib.metadata (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/813\"\u003e#813\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/pyupio/safety/commit/9df3a6fa2b5270988690eda334c9880169371354\"\u003e\u003ccode\u003e9df3a6f\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b5 → 3.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/9780ac2d4373e7496aef804754157056888d6168\"\u003e\u003ccode\u003e9780ac2\u003c/code\u003e\u003c/a\u003e fix: npm ecosystem check on render package details (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/820\"\u003e#820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/7f138f14cbec354dce45056421a017b1a46a15fc\"\u003e\u003ccode\u003e7f138f1\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b4 → 3.7.0b5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/933dc82d3df3bfe0afe3212e5eb6771317a6c413\"\u003e\u003ccode\u003e933dc82\u003c/code\u003e\u003c/a\u003e fix: bash priority issues (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/3b1e4dc3cb305a7fa5710f0bf35858ce59af37b5\"\u003e\u003ccode\u003e3b1e4dc\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b3 → 3.7.0b4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/c5134b5847597fa0ff1efcc1cf0729544057c9f2\"\u003e\u003ccode\u003ec5134b5\u003c/code\u003e\u003c/a\u003e ci: remove version from the artifacts name (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/818\"\u003e#818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/04f24e54eeb7756d5f3eb88e4e3a03db32d19e0e\"\u003e\u003ccode\u003e04f24e5\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b2 → 3.7.0b3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/a08a34763d932f77940df737bbdd1882871f359d\"\u003e\u003ccode\u003ea08a347\u003c/code\u003e\u003c/a\u003e ci: separate checksum artifacts for signed and unsigned builds (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/817\"\u003e#817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/2ff7ace8c18d05c6a556b87b1be6aa2c380cf4d6\"\u003e\u003ccode\u003e2ff7ace\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b1 → 3.7.0b2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/2964f19a56e117d7e91030c0f8ab8a79bb65476c\"\u003e\u003ccode\u003e2964f19\u003c/code\u003e\u003c/a\u003e ci: load version on release jobs (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/816\"\u003e#816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyupio/safety/compare/3.6.2...3.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.35.0 to 0.38.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.38.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2723\"\u003eKludex/uvicorn#2723\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NGANAMODEIJunior\"\u003e\u003ccode\u003e@​NGANAMODEIJunior\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2713\"\u003eKludex/uvicorn#2713\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.37.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e setting by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2711\"\u003eKludex/uvicorn#2711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e by \u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LincolnPuzey\"\u003e\u003ccode\u003e@​LincolnPuzey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2669\"\u003eKludex/uvicorn#2669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2709\"\u003eKludex/uvicorn#2709\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs by \u003ca href=\"https://github.com/gnir-work\"\u003e\u003ccode\u003e@​gnir-work\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2435\"\u003eKludex/uvicorn#2435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to provide importable string in \u003ccode\u003e--http\u003c/code\u003e, \u003ccode\u003e--ws\u003c/code\u003e and \u003ccode\u003e--loop\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2658\"\u003eKludex/uvicorn#2658\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnir-work\"\u003e\u003ccode\u003e@​gnir-work\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2435\"\u003eKludex/uvicorn#2435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2659\"\u003eKludex/uvicorn#2659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secrett2633\"\u003e\u003ccode\u003e@​secrett2633\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2684\"\u003eKludex/uvicorn#2684\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.35.0...0.36.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.35.0...0.36.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.38.0 (October 18, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.1 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.0 (September 20, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2435\"\u003e#2435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow to provide importable string in \u003ccode\u003e--http\u003c/code\u003e, \u003ccode\u003e--ws\u003c/code\u003e and \u003ccode\u003e--loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2658\"\u003e#2658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/3850ad6520cafb290bd4174fa9c4ca5d33440c82\"\u003e\u003ccode\u003e3850ad6\u003c/code\u003e\u003c/a\u003e Version 0.38.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2733\"\u003e#2733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b3f17a549ec96f57bf4d975145fc58feefdd4e8\"\u003e\u003ccode\u003e9b3f17a\u003c/code\u003e\u003c/a\u003e Support Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/ce79f95d065c053b36449f67b3b2cefee5ecf167\"\u003e\u003ccode\u003ece79f95\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add Marcelo Trylesinski to the license (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2699\"\u003e#2699\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2730\"\u003e#2730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/dbf8797b47c79da542f530f2143b8e851e2388fd\"\u003e\u003ccode\u003edbf8797\u003c/code\u003e\u003c/a\u003e docs: add social icons (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2728\"\u003e#2728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/58f28be98eb95c8cf25905df10997b4af81c23e3\"\u003e\u003ccode\u003e58f28be\u003c/code\u003e\u003c/a\u003e Add section about event loop (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2725\"\u003e#2725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/93d95107490d5ea3693601388d7783c450058271\"\u003e\u003ccode\u003e93d9510\u003c/code\u003e\u003c/a\u003e Bump docs dependencies (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2724\"\u003e#2724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b1c6c45ed7fe8bd485ddad475f0feff03971af7\"\u003e\u003ccode\u003e9b1c6c4\u003c/code\u003e\u003c/a\u003e Move Marcelo Trylesinski to maintainers in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2719\"\u003e#2719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/57a61d86f2f123b1d35b9ff71e0f29d22d10806f\"\u003e\u003ccode\u003e57a61d8\u003c/code\u003e\u003c/a\u003e Add discord to README (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2718\"\u003e#2718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7ef5f9f5e7e79887b4ab4214c15ab5a9ce63e193\"\u003e\u003ccode\u003e7ef5f9f\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from 6.7.0 to 6.8.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2717\"\u003e#2717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/6d26d88970379cbf20b4dbf4f70e27f191db4ede\"\u003e\u003ccode\u003e6d26d88\u003c/code\u003e\u003c/a\u003e Update pyproject.toml for PEP639 compliance (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2713\"\u003e#2713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.35.0...0.38.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-settings` from 2.6.1 to 2.12.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.12.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for enum kebab case. 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/686\"\u003epydantic/pydantic-settings#686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd NestedSecretsSettings source by \u003ca href=\"https://github.com/makukha\"\u003e\u003ccode\u003e@​makukha\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/690\"\u003epydantic/pydantic-settings#690\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip non-explicit default values. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/692\"\u003epydantic/pydantic-settings#692\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCoerce env vars if strict is True. 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/693\"\u003epydantic/pydantic-settings#693\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore init kwarg names before returning final state dictionary. 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/700\"\u003epydantic/pydantic-settings#700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python3.9 support 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/699\"\u003epydantic/pydantic-settings#699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt test_protected_namespace_defaults for dev. Pydantic by \u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/637\"\u003epydantic/pydantic-settings#637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.14 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/704\"\u003epydantic/pydantic-settings#704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.12 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/705\"\u003epydantic/pydantic-settings#705\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/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCLI Serialize Support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/643\"\u003epydantic/pydantic-settings#643\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInspect type aliases to determine if an annotation is complex by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;fix: Respect 'cli_parse_args' from model_config with settings_customise_sources (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/611\"\u003e#611\u003c/a\u003e)\u0026quot; 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/655\"\u003epydantic/pydantic-settings#655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove parsing of command line arguments from \u003ccode\u003eCliSettingsSource.__init__\u003c/code\u003e. by \u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eturn off allow_abbrev on subparsers by \u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Serialization Fixes 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/649\"\u003epydantic/pydantic-settings#649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix PydanticModel type checking. 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/659\"\u003epydantic/pydantic-settings#659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid env_prefix falling back to env vars without prefix by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/648\"\u003epydantic/pydantic-settings#648\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn if model_config sets unused keys for missing settings sources by \u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncluded endpoint_url kwarg in AWSSecretsManagerSettingsSource class by \u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo (\u0026quot;Accesing\u0026quot;) in the \u0026quot;Adding sources\u0026quot; docs by \u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Windows Path Fix 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/669\"\u003epydantic/pydantic-settings#669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCli root model support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/677\"\u003epydantic/pydantic-settings#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSnake case conversion in Azure Key Vault by \u003ca href=\"https://github.com/AndreuCodina\"\u003e\u003ccode\u003e@​AndreuCodina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/680\"\u003epydantic/pydantic-settings#680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eInitSettingsSource\u003c/code\u003e resolution deterministic by \u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/683\"\u003epydantic/pydantic-settings#683\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/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.10.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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/584983d253a0fac4dfb294d1e6f9ef188add468b\"\u003e\u003ccode\u003e584983d\u003c/code\u003e\u003c/a\u003e Prepare release 2.12 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/705\"\u003e#705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/6b4d87e77698476433031c0056ce71aa4f4a7c4e\"\u003e\u003ccode\u003e6b4d87e\u003c/code\u003e\u003c/a\u003e Add Python 3.14 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/704\"\u003e#704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/02de5b622b8648404aa792df01599aa1179c3aa7\"\u003e\u003ccode\u003e02de5b6\u003c/code\u003e\u003c/a\u003e Adapt test_protected_namespace_defaults for dev. Pydantic (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/637\"\u003e#637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4239ea460a5c465a4ce908c52e9606549b38fa98\"\u003e\u003ccode\u003e4239ea4\u003c/code\u003e\u003c/a\u003e Drop Python3.9 support (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/699\"\u003e#699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/5008c694f684f88fd310f476871ec021426e98d7\"\u003e\u003ccode\u003e5008c69\u003c/code\u003e\u003c/a\u003e Restore init kwarg names before returning final state dictionary. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/700\"\u003e#700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4433101fef6770d3fc0844846f7f3837bfec3b10\"\u003e\u003ccode\u003e4433101\u003c/code\u003e\u003c/a\u003e Coerce env vars if strict is True. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4d2ebfd543e6011f6b71a99042007adf7e613ae9\"\u003e\u003ccode\u003e4d2ebfd\u003c/code\u003e\u003c/a\u003e Strip non-explicit default values. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4a6ffcaeae451199b1873c6709b28aceae7317a7\"\u003e\u003ccode\u003e4a6ffca\u003c/code\u003e\u003c/a\u003e Add NestedSecretsSettings source (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/7a6e96ebfc89ddb5b20dfb068c8ed46b6ff18a7f\"\u003e\u003ccode\u003e7a6e96e\u003c/code\u003e\u003c/a\u003e Apply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/68563eddc09856b94ea0ca156dd75040b4e048e4\"\u003e\u003ccode\u003e68563ed\u003c/code\u003e\u003c/a\u003e Support for enum kebab case. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/686\"\u003e#686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.6.1...v2.12.0\"\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.1\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.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env 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/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\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.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff 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/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() 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/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) 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/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini 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/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory 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/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml 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/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure find_dotenv 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/pull/563\"\u003etheskumar/python-dotenv#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): issue with execvpe on Windows by \u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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.1.0...v1.1.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a security policy 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/512\"\u003etheskumar/python-dotenv#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep GitHub Actions up to date with GitHub's Dependabot by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/506\"\u003etheskumar/python-dotenv#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix multiline string in test.yml \u0026amp; use fail-fast strategy by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/514\"\u003etheskumar/python-dotenv#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance dotenv run: Switch to execvpe for better resource management and signal handling by \u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/523\"\u003etheskumar/python-dotenv#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add py3.13 to test.yml by \u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/527\"\u003etheskumar/python-dotenv#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.13 trove classifier by \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/535\"\u003etheskumar/python-dotenv#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/529\"\u003etheskumar/python-dotenv#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.13 and drop 3.8 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/551\"\u003etheskumar/python-dotenv#551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update README.md by \u003ca href=\"https://github.com/chapeupreto\"\u003e\u003ccode\u003e@​chapeupreto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/516\"\u003etheskumar/python-dotenv#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome more s/Python-dotenv/python-dotenv/ 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/552\"\u003etheskumar/python-dotenv#552\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/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.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/pull/563\"\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/pull/563\"\u003e#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI: revert the use of execvpe on Windows by [\u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003e#566\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.1.0] - 2025-03-25\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFeature\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for python 3.13\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003edotenv run\u003c/code\u003e, switch to \u003ccode\u003eexecvpe\u003c/code\u003e for better resource management and signal handling (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/523\"\u003e#523\u003c/a\u003e) by [\u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFixed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003efind_dotenv\u003c/code\u003e and \u003ccode\u003eload_dotenv\u003c/code\u003e now correctly looks up at the current directory when running in debugger or pdb (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/553\"\u003e#553\u003c/a\u003e by [\u003ca href=\"https://github.com/randomseed42\"\u003e\u003ccode\u003e@​randomseed42\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMisc\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/eaf2a9129ccec6febda0f741eb3bb852c3f947bd\"\u003e\u003ccode\u003eeaf2a91\u003c/code\u003e\u003c/a\u003e Do not remove .coverage file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8716196891532eeb67d24a513e8d975437f5e8b7\"\u003e\u003ccode\u003e8716196\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.0 → 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/b87807fcad6e74332c3c63a75c92ce5814fa7a55\"\u003e\u003ccode\u003eb87807f\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/3af77d3029eb717aeec0a3c25f751b6a614a6d3c\"\u003e\u003ccode\u003e3af77d3\u003c/code\u003e\u003c/a\u003e Support reading .env from FIFOs (Unix) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/467ee22fccb2fb7ccda71a0d9e37c6ea3cb8d993\"\u003e\u003ccode\u003e467ee22\u003c/code\u003e\u003c/a\u003e Fix test failures after moving config to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/76999e741d87e958ebd74e3ae9834c0514e77a59\"\u003e\u003ccode\u003e76999e7\u003c/code\u003e\u003c/a\u003e Move more config pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/222ce2cc58ebc82ba78da8781269267b9f585932\"\u003e\u003ccode\u003e222ce2c\u003c/code\u003e\u003c/a\u003e Update to use trusted publisher on pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8ed4f79d202eba582b44bdf1f5deb726dd68783d\"\u003e\u003ccode\u003e8ed4f79\u003c/code\u003e\u003c/a\u003e Update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/5bf882241c607445bf02cf5b241535d62e2b99c1\"\u003e\u003ccode\u003e5bf8822\u003c/code\u003e\u003c/a\u003e Bump version: 1.1.1 → 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1fe11cc737ee4399e9c51d1b69b0dd858f6b4669\"\u003e\u003ccode\u003e1fe11cc\u003c/code\u003e\u003c/a\u003e upadate changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.0.1...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` from 2.4.9 to 2.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.3 Release Notes\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003ch3\u003e1. Support for Array of Structs\u003c/h3\u003e\n\u003cp\u003ePyMilvus now supports array of structs data types, allowing you to store and query complex nested data structures.\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom pymilvus import MilvusClient, DataType\n\u003cp\u003eclient = MilvusClient(uri=\u0026quot;\u003ca href=\"http://localhost:19530\"\u003ehttp://localhost:19530\u003c/a\u003e\u0026quot;)\u003c/p\u003e\n\u003cp\u003eschema = client.create_schema(auto_id=False)\nschema.add_field(field_name=\u0026quot;id\u0026quot;, datatype=DataType.INT64, is_primary=True)\nschema.add_field(field_name=\u0026quot;vector\u0026quot;, datatype=DataType.FLOAT_VECTOR, dim=128)\u003c/p\u003e\n\u003cp\u003estruct_schema = MilvusClient.create_s...\n\n_Description has been truncated_","html_url":"https://github.com/manavgup/rag_modulo/pull/682","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/manavgup%2Frag_modulo/issues/682","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/682/packages"}},{"old_version":"0.34.0","new_version":"0.35.0","update_type":"minor","path":null,"pr_created_at":"2025-11-25T22:01:34.000Z","version_change":"0.34.0 → 0.35.0","issue":{"uuid":"3664744234","node_id":"PR_kwDOL3PqEc61gXOt","number":673,"state":"open","title":"chore(deps): bump the python-dependencies group with 25 updates","user":"dependabot[bot]","labels":["security","backend","dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-25T22:01:34.000Z","updated_at":"2025-11-26T07:00:21.957Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-dependencies","update_count":25,"packages":[{"name":"minio","old_version":"7.2.18","new_version":"7.2.19","repository_url":"https://github.com/minio/minio-py"},{"name":"deptry","old_version":"0.23.1","new_version":"0.24.0","repository_url":"https://github.com/fpgmaas/deptry"},{"name":"ruff","old_version":"0.14.2","new_version":"0.14.6","repository_url":"https://github.com/astral-sh/ruff"},{"name":"bandit","old_version":"1.8.6","new_version":"1.9.2","repository_url":"https://github.com/PyCQA/bandit"},{"name":"safety","old_version":"3.6.2","new_version":"3.7.0","repository_url":"https://github.com/pyupio/safety"},{"name":"fastapi","old_version":"0.116.1","new_version":"0.122.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"pydantic-settings","old_version":"2.6.1","new_version":"2.12.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"pymilvus","old_version":"2.4.9","new_version":"2.6.3","repository_url":"https://github.com/milvus-io/pymilvus"},{"name":"scikit-learn","old_version":"1.6.0","new_version":"1.7.2","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"weaviate-client","old_version":"4.16.9","new_version":"4.18.1","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"sqlalchemy","old_version":"2.0.36","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"pandas","old_version":"2.1.4","new_version":"2.2.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pymupdf","old_version":"1.25.0","new_version":"1.26.6","repository_url":"https://github.com/pymupdf/pymupdf"},{"name":"chromadb","old_version":"1.2.0","new_version":"1.3.5","repository_url":"https://github.com/chroma-core/chroma"},{"name":"starlette","old_version":"0.47.3","new_version":"0.50.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"ibm-watsonx-ai","old_version":"1.3.37","new_version":"1.4.7"},{"name":"json-repair","old_version":"0.30.3","new_version":"0.54.2","repository_url":"https://github.com/mangiucugna/json_repair"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"psutil","old_version":"7.0.0","new_version":"7.1.3","repository_url":"https://github.com/giampaolo/psutil"},{"name":"docling","old_version":"2.55.0","new_version":"2.63.0","repository_url":"https://github.com/docling-project/docling"},{"name":"transformers","old_version":"4.57.1","new_version":"4.57.3","repository_url":"https://github.com/huggingface/transformers"},{"name":"spacy","old_version":"3.8.7","new_version":"3.8.11","repository_url":"https://github.com/explosion/spaCy"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 25 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [minio](https://github.com/minio/minio-py) | `7.2.18` | `7.2.19` |\n| [deptry](https://github.com/fpgmaas/deptry) | `0.23.1` | `0.24.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.2` | `0.14.6` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.8.6` | `1.9.2` |\n| [safety](https://github.com/pyupio/safety) | `3.6.2` | `3.7.0` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.116.1` | `0.122.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.38.0` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.6.1` | `2.12.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [pymilvus](https://github.com/milvus-io/pymilvus) | `2.4.9` | `2.6.3` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.0` | `1.7.2` |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.16.9` | `4.18.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.36` | `2.0.44` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.1.4` | `2.2.3` |\n| [pymupdf](https://github.com/pymupdf/pymupdf) | `1.25.0` | `1.26.6` |\n| [chromadb](https://github.com/chroma-core/chroma) | `1.2.0` | `1.3.5` |\n| [starlette](https://github.com/Kludex/starlette) | `0.47.3` | `0.50.0` |\n| [ibm-watsonx-ai](https://ibm.github.io/watsonx-ai-python-sdk) | `1.3.37` | `1.4.7` |\n| [json-repair](https://github.com/mangiucugna/json_repair) | `0.30.3` | `0.54.2` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.1.3` |\n| [docling](https://github.com/docling-project/docling) | `2.55.0` | `2.63.0` |\n| [transformers](https://github.com/huggingface/transformers) | `4.57.1` | `4.57.3` |\n| [spacy](https://github.com/explosion/spaCy) | `3.8.7` | `3.8.11` |\n\nUpdates `minio` from 7.2.18 to 7.2.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minio/minio-py/releases\"\u003eminio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBugfix release 7.2.19\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd region, extra_headers and extra_query_params by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1505\"\u003eminio/minio-py#1505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake BaseException internals to be set by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1521\"\u003eminio/minio-py#1521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Add missing type annotations to serialization dataclass fields by \u003ca href=\"https://github.com/rraulinio\"\u003e\u003ccode\u003e@​rraulinio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1527\"\u003eminio/minio-py#1527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport optional parameters in LdapIdentityProvider by \u003ca href=\"https://github.com/jkandasa\"\u003e\u003ccode\u003e@​jkandasa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1528\"\u003eminio/minio-py#1528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect existing checksum headers to both CreateMultipartUpload and UploadPart requests by \u003ca href=\"https://github.com/rraulinio\"\u003e\u003ccode\u003e@​rraulinio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1529\"\u003eminio/minio-py#1529\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/rraulinio\"\u003e\u003ccode\u003e@​rraulinio\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1527\"\u003eminio/minio-py#1527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jkandasa\"\u003e\u003ccode\u003e@​jkandasa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1528\"\u003eminio/minio-py#1528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.18...7.2.19\"\u003ehttps://github.com/minio/minio-py/compare/7.2.18...7.2.19\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/minio/minio-py/commit/31ac1ae4e250eb5eb12a37434559c522e888ebd7\"\u003e\u003ccode\u003e31ac1ae\u003c/code\u003e\u003c/a\u003e fix: incorrect checksum headers for both CreateMultipartUpload and UploadPart...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/a929d3a86cb877adae49adbd08b3b72df0f9c03f\"\u003e\u003ccode\u003ea929d3a\u003c/code\u003e\u003c/a\u003e support optional parameters in LdapIdentityProvider (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1528\"\u003e#1528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/cbac53b069b6137b8d344595cbb1ea16e701db34\"\u003e\u003ccode\u003ecbac53b\u003c/code\u003e\u003c/a\u003e Fix: Add missing type annotations to serialization dataclass fields (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1527\"\u003e#1527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/48068f8b813613b0a3333839f5f226e20ebc3616\"\u003e\u003ccode\u003e48068f8\u003c/code\u003e\u003c/a\u003e Make BaseException internals to be set (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1521\"\u003e#1521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/6daf3668742fef35ce69fc000ed633a0d23d33da\"\u003e\u003ccode\u003e6daf366\u003c/code\u003e\u003c/a\u003e Add region, extra_headers and extra_query_params (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1505\"\u003e#1505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/64ed1ef509545107eb771b7ae150d1311ccdf271\"\u003e\u003ccode\u003e64ed1ef\u003c/code\u003e\u003c/a\u003e Update version to next release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.18...7.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `deptry` from 0.23.1 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/fpgmaas/deptry/releases\"\u003edeptry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003ch4\u003ePython 3.9 support dropped\u003c/h4\u003e\n\u003cp\u003eSupport for Python 3.9 has been dropped, as it has reached its end of life.\u003c/p\u003e\n\u003ch4\u003ePyPy 3.10 support dropped, 3.11 added\u003c/h4\u003e\n\u003cp\u003eSupport for PyPy 3.10 has been dropped, since it is unsupported. We now only test against PyPy 3.11, and only publish wheels for this version.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub Actions annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1224\"\u003e#1224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePublish wheels for PyPy 3.11 and drop 3.10 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1227\"\u003e#1227\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFull Changelog\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\"\u003ehttps://github.com/fpgmaas/deptry/compare/0.23.1...0.24.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/fpgmaas/deptry/blob/main/CHANGELOG.md\"\u003edeptry's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.0 - 2025-11-09\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003ch4\u003ePython 3.9 support dropped\u003c/h4\u003e\n\u003cp\u003eSupport for Python 3.9 has been dropped, as it has reached its end of life.\u003c/p\u003e\n\u003ch4\u003ePyPy 3.10 support dropped, 3.11 added\u003c/h4\u003e\n\u003cp\u003eSupport for PyPy 3.10 has been dropped, since it is unsupported. We now only test against PyPy 3.11, and only publish wheels for this version.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub Actions annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1224\"\u003e#1224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePublish wheels for PyPy 3.11 and drop 3.10 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1227\"\u003e#1227\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFull Changelog\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\"\u003ehttps://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/4cc2d65ce1343957c911ca45709d6080cb9f82c3\"\u003e\u003ccode\u003e4cc2d65\u003c/code\u003e\u003c/a\u003e docs(changelog): add 0.24.0 release notes (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1330\"\u003e#1330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/8757b318e9974bbfa7ec65dabf999bc935ac026f\"\u003e\u003ccode\u003e8757b31\u003c/code\u003e\u003c/a\u003e chore: sync all dependency groups by default and run mypy locally (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1337\"\u003e#1337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/5ebc5c066831dd3dfeef7e79a4ae4f5934d744b9\"\u003e\u003ccode\u003e5ebc5c0\u003c/code\u003e\u003c/a\u003e feat: add github annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/aa59b6fa66bd3468ad681317de14189606a9c04e\"\u003e\u003ccode\u003eaa59b6f\u003c/code\u003e\u003c/a\u003e fix(deps): update ruff rust to v0.14.4 (patch) (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1335\"\u003e#1335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/87a6b87428641bc7cab3b22d00d788e28ed86ae9\"\u003e\u003ccode\u003e87a6b87\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1336\"\u003e#1336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/6b938ae73633b1a1f46e3888c9673b49d5e9dd60\"\u003e\u003ccode\u003e6b938ae\u003c/code\u003e\u003c/a\u003e chore(deps): update uv-version to v0.9.8 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/92c35bab5ad0a11d2becc31e4cdbe4413a746233\"\u003e\u003ccode\u003e92c35ba\u003c/code\u003e\u003c/a\u003e chore(deps): update pre-commit hook woodruffw/zizmor-pre-commit to v1.16.3 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/a8be2902812426acaf00ff344dc93a48f30d48d7\"\u003e\u003ccode\u003ea8be290\u003c/code\u003e\u003c/a\u003e chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.4 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1332\"\u003e#1332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/6abefd1237071ba0e8d3fc1c9e02a402ccde11f6\"\u003e\u003ccode\u003e6abefd1\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency mkdocs-material to v9.6.23 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/6b556861d72024d1f8b5f8c8ead9d1b48cef0f9e\"\u003e\u003ccode\u003e6b55686\u003c/code\u003e\u003c/a\u003e test: update all test dependencies (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1313\"\u003e#1313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.2 to 0.14.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.6\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Support new PySNMP API paths (\u003ccode\u003eS508\u003c/code\u003e, \u003ccode\u003eS509\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21374\"\u003e#21374\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdjust own-line comment placement between branches (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21185\"\u003e#21185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid syntax error when formatting attribute expressions with outer parentheses, parenthesized value, and trailing comment on value (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20418\"\u003e#20418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic when formatting comments in unary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21501\"\u003e#21501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003efmt: skip\u003c/code\u003e for compound statements on a single line (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20633\"\u003e#20633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Fix \u003ccode\u003eFURB103\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21454\"\u003e#21454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix false positive for complex conversion specifiers in \u003ccode\u003elogging-eager-conversion\u003c/code\u003e (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21464\"\u003e#21464\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] Avoid false positive on \u003ccode\u003eClassVar\u003c/code\u003e reassignment (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21478\"\u003e#21478\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRender hyperlinks for lint errors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21514\"\u003e#21514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003eruff analyze\u003c/code\u003e option to skip over imports in \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21472\"\u003e#21472\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLimit \u003ccode\u003eeglot-format\u003c/code\u003e hook to eglot-managed Python buffers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21459\"\u003e#21459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention \u003ccode\u003eforce-exclude\u003c/code\u003e in \u0026quot;Configuration \u0026gt; Python file discovery\u0026quot; (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21500\"\u003e#21500\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gauthsvenkat\"\u003e\u003ccode\u003e@​gauthsvenkat\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thamer\"\u003e\u003ccode\u003e@​thamer\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ruchir28\"\u003e\u003ccode\u003e@​Ruchir28\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/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.6\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.14.6/ruff-installer.sh | sh\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.6\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Support new PySNMP API paths (\u003ccode\u003eS508\u003c/code\u003e, \u003ccode\u003eS509\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21374\"\u003e#21374\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdjust own-line comment placement between branches (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21185\"\u003e#21185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid syntax error when formatting attribute expressions with outer parentheses, parenthesized value, and trailing comment on value (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20418\"\u003e#20418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic when formatting comments in unary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21501\"\u003e#21501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003efmt: skip\u003c/code\u003e for compound statements on a single line (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20633\"\u003e#20633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Fix \u003ccode\u003eFURB103\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21454\"\u003e#21454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix false positive for complex conversion specifiers in \u003ccode\u003elogging-eager-conversion\u003c/code\u003e (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21464\"\u003e#21464\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] Avoid false positive on \u003ccode\u003eClassVar\u003c/code\u003e reassignment (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21478\"\u003e#21478\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRender hyperlinks for lint errors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21514\"\u003e#21514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003eruff analyze\u003c/code\u003e option to skip over imports in \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21472\"\u003e#21472\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLimit \u003ccode\u003eeglot-format\u003c/code\u003e hook to eglot-managed Python buffers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21459\"\u003e#21459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention \u003ccode\u003eforce-exclude\u003c/code\u003e in \u0026quot;Configuration \u0026gt; Python file discovery\u0026quot; (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21500\"\u003e#21500\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/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gauthsvenkat\"\u003e\u003ccode\u003e@​gauthsvenkat\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thamer\"\u003e\u003ccode\u003e@​thamer\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ruchir28\"\u003e\u003ccode\u003e@​Ruchir28\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/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.5\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-13.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Apply \u003ccode\u003eSIM113\u003c/code\u003e when index variable is of type \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21395\"\u003e#21395\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/59c6cb521d26380120f8522476fd09d296bf4f2e\"\u003e\u003ccode\u003e59c6cb5\u003c/code\u003e\u003c/a\u003e Bump 0.14.6 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21558\"\u003e#21558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/54dba15088ced32c31592ab44ddfdf40614002bb\"\u003e\u003ccode\u003e54dba15\u003c/code\u003e\u003c/a\u003e [ty] Improve debug messages when imports fail (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21555\"\u003e#21555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1af318534a01ba6be69d7d77c33e96080635a8af\"\u003e\u003ccode\u003e1af3185\u003c/code\u003e\u003c/a\u003e [ty] Add support for relative import completions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/553e5686248e86b9c781af77c714adc229bf8cc5\"\u003e\u003ccode\u003e553e568\u003c/code\u003e\u003c/a\u003e [ty] Refactor detection of import statements for completions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/cdef3f5ab8115e2581e080341d4bab932d905af4\"\u003e\u003ccode\u003ecdef3f5\u003c/code\u003e\u003c/a\u003e [ty] Use dedicated collector for completions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/617882242719af179a42be68170f9de9d83174f4\"\u003e\u003ccode\u003e6178822\u003c/code\u003e\u003c/a\u003e [ty] Attach subdiagnostics to \u003ccode\u003eunresolved-import\u003c/code\u003e errors for relative imports...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6b7adb0537d1a57f26cf462a637af483e0ba2c75\"\u003e\u003ccode\u003e6b7adb0\u003c/code\u003e\u003c/a\u003e [ty] support PEP 613 type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21394\"\u003e#21394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/06941c1987bd4fe2b54d99b5514784472cabc0b3\"\u003e\u003ccode\u003e06941c1\u003c/code\u003e\u003c/a\u003e [ty] More low-hanging fruit for inlay hint goto-definition (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21548\"\u003e#21548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/eb7c098d6b70aacbaebe8b7c8d7710ad4ad0f46b\"\u003e\u003ccode\u003eeb7c098\u003c/code\u003e\u003c/a\u003e [ty] implement \u003ccode\u003eTypedDict\u003c/code\u003e structural assignment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21467\"\u003e#21467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1b28fc1f1417284a075afa4a18c5e9d31a7d8620\"\u003e\u003ccode\u003e1b28fc1\u003c/code\u003e\u003c/a\u003e [ty] Add more random TypeDetails and tests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21546\"\u003e#21546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.2...0.14.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bandit` from 1.8.6 to 1.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/bandit/releases\"\u003ebandit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArgparse Python 3.14 enhancements by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1331\"\u003ePyCQA/bandit#1331\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck whether Constant value is str by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1333\"\u003ePyCQA/bandit#1333\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.9.1...1.9.2\"\u003ehttps://github.com/PyCQA/bandit/compare/1.9.1...1.9.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMore Python version related fixes by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1327\"\u003ePyCQA/bandit#1327\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.9.0...1.9.1\"\u003ehttps://github.com/PyCQA/bandit/compare/1.9.0...1.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd instructions for Maintainers to create/publish a release by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1275\"\u003ePyCQA/bandit#1275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump sigstore/cosign-installer from 3.9.1 to 3.9.2 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/PyCQA/bandit/pull/1289\"\u003ePyCQA/bandit#1289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump docker/login-action from 3.4.0 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1290\"\u003ePyCQA/bandit#1290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1291\"\u003ePyCQA/bandit#1291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1292\"\u003ePyCQA/bandit#1292\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated datetime.datetime.utcnow() by \u003ca href=\"https://github.com/purplezimmermann\"\u003e\u003ccode\u003e@​purplezimmermann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1295\"\u003ePyCQA/bandit#1295\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/PyCQA/bandit/pull/1296\"\u003ePyCQA/bandit#1296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump sigstore/cosign-installer from 3.9.2 to 3.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1298\"\u003ePyCQA/bandit#1298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1303\"\u003ePyCQA/bandit#1303\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos by \u003ca href=\"https://github.com/Shortfinga\"\u003e\u003ccode\u003e@​Shortfinga\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1305\"\u003ePyCQA/bandit#1305\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump docker/login-action from 3.5.0 to 3.6.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1306\"\u003ePyCQA/bandit#1306\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1315\"\u003ePyCQA/bandit#1315\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump sigstore/cosign-installer from 3.10.0 to 4.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1317\"\u003ePyCQA/bandit#1317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport of Python 3.14 by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1323\"\u003ePyCQA/bandit#1323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop support of end-of-life Python 3.9 by \u003ca href=\"https://github.com/ericwb\"\u003e\u003ccode\u003e@​ericwb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1325\"\u003ePyCQA/bandit#1325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1324\"\u003ePyCQA/bandit#1324\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/purplezimmermann\"\u003e\u003ccode\u003e@​purplezimmermann\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1295\"\u003ePyCQA/bandit#1295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shortfinga\"\u003e\u003ccode\u003e@​Shortfinga\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyCQA/bandit/pull/1305\"\u003ePyCQA/bandit#1305\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.8.6...1.9.0\"\u003ehttps://github.com/PyCQA/bandit/compare/1.8.6...1.9.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/ea0d187d78b2e6365e35f676d2eb9b1be264c091\"\u003e\u003ccode\u003eea0d187\u003c/code\u003e\u003c/a\u003e Check whether Constant value is str (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/8bf759452a1f492a7035165e4c6a6d80b83c2502\"\u003e\u003ccode\u003e8bf7594\u003c/code\u003e\u003c/a\u003e Argparse Python 3.14 enhancements (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/a255dfaecbd1b4dbdb09d10a1f69e9f1874e5999\"\u003e\u003ccode\u003ea255dfa\u003c/code\u003e\u003c/a\u003e More Python version related fixes (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1327\"\u003e#1327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/3f07bb0d3f964a2bcd3a8b208f4343131a40f63a\"\u003e\u003ccode\u003e3f07bb0\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1324\"\u003e#1324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/c8c3fb86996b44d5fe22b6ae270a97e34d0d0b65\"\u003e\u003ccode\u003ec8c3fb8\u003c/code\u003e\u003c/a\u003e Drop support of end-of-life Python 3.9 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1325\"\u003e#1325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/5c303504631286becbf8c223cc923b885689d5e3\"\u003e\u003ccode\u003e5c30350\u003c/code\u003e\u003c/a\u003e Support of Python 3.14 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1323\"\u003e#1323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/e1ffdf63da4b32241beb00d1ce45fe3702251907\"\u003e\u003ccode\u003ee1ffdf6\u003c/code\u003e\u003c/a\u003e Bump sigstore/cosign-installer from 3.10.0 to 4.0.0 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1317\"\u003e#1317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/176d4cacdb56ca3b4e7adb35e4122a7a011a0ed4\"\u003e\u003ccode\u003e176d4ca\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1315\"\u003e#1315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/2fc3e9c41dd728649930365d09b2cc66b03a97f4\"\u003e\u003ccode\u003e2fc3e9c\u003c/code\u003e\u003c/a\u003e Bump docker/login-action from 3.5.0 to 3.6.0 (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1306\"\u003e#1306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/bandit/commit/6a685467d6bd44aa35d5ef64e2ee6187a20c6484\"\u003e\u003ccode\u003e6a68546\u003c/code\u003e\u003c/a\u003e Fix typos (\u003ca href=\"https://redirect.github.com/PyCQA/bandit/issues/1305\"\u003e#1305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/bandit/compare/1.8.6...1.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `safety` from 3.6.2 to 3.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyupio/safety/releases\"\u003esafety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.7.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.7.0b5 → 3.7.0 (9df3a6f)\u003c/li\u003e\n\u003cli\u003efix: npm ecosystem check on render package details (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/820\"\u003e#820\u003c/a\u003e) (9780ac2)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.7.0b5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.7.0b4 → 3.7.0b5 (7f138f1)\u003c/li\u003e\n\u003cli\u003efix: bash priority issues (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/819\"\u003e#819\u003c/a\u003e) (933dc82)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.7.0b4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.7.0b3 → 3.7.0b4 (3b1e4dc)\u003c/li\u003e\n\u003cli\u003eci: remove version from the artifacts name (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/818\"\u003e#818\u003c/a\u003e) (c5134b5)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.7.0b3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.7.0b2 → 3.7.0b3 (04f24e5)\u003c/li\u003e\n\u003cli\u003eci: separate checksum artifacts for signed and unsigned builds (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/817\"\u003e#817\u003c/a\u003e) (a08a347)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.7.0b0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebump: version 3.6.2 → 3.7.0b0 (b289a6c)\u003c/li\u003e\n\u003cli\u003efix: replace deprecated pkg_resources with importlib.metadata (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/813\"\u003e#813\u003c/a\u003e) (c1e07ef)\u003c/li\u003e\n\u003cli\u003echore: drop python 3.8 support (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/791\"\u003e#791\u003c/a\u003e) (a41c82b)\u003c/li\u003e\n\u003cli\u003echore: set minimum tenacity version to 8.1.0 (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/812\"\u003e#812\u003c/a\u003e) (973a265)\u003c/li\u003e\n\u003cli\u003echore: restructure GitHub issue templates and remove bug bounty references (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/811\"\u003e#811\u003c/a\u003e) (2fcbe72)\u003c/li\u003e\n\u003cli\u003efeat: add firewall support for NPM (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/800\"\u003e#800\u003c/a\u003e) (5d44edf)\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/pyupio/safety/blob/main/CHANGELOG.md\"\u003esafety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.7.0 (2025-11-06)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003enpm ecosystem check on render package details (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/820\"\u003e#820\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.7.0b5 (2025-11-04)\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebash priority issues (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.7.0b4 (2025-11-03)\u003c/h2\u003e\n\u003ch2\u003e3.7.0b3 (2025-11-03)\u003c/h2\u003e\n\u003ch2\u003e3.7.0b2 (2025-11-03)\u003c/h2\u003e\n\u003ch2\u003e3.7.0b1 (2025-11-03)\u003c/h2\u003e\n\u003ch2\u003e3.7.0b0 (2025-10-22)\u003c/h2\u003e\n\u003ch3\u003eFeat\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd firewall support for NPM (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/800\"\u003e#800\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated pkg_resources with importlib.metadata (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/813\"\u003e#813\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/pyupio/safety/commit/9df3a6fa2b5270988690eda334c9880169371354\"\u003e\u003ccode\u003e9df3a6f\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b5 → 3.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/9780ac2d4373e7496aef804754157056888d6168\"\u003e\u003ccode\u003e9780ac2\u003c/code\u003e\u003c/a\u003e fix: npm ecosystem check on render package details (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/820\"\u003e#820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/7f138f14cbec354dce45056421a017b1a46a15fc\"\u003e\u003ccode\u003e7f138f1\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b4 → 3.7.0b5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/933dc82d3df3bfe0afe3212e5eb6771317a6c413\"\u003e\u003ccode\u003e933dc82\u003c/code\u003e\u003c/a\u003e fix: bash priority issues (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/3b1e4dc3cb305a7fa5710f0bf35858ce59af37b5\"\u003e\u003ccode\u003e3b1e4dc\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b3 → 3.7.0b4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/c5134b5847597fa0ff1efcc1cf0729544057c9f2\"\u003e\u003ccode\u003ec5134b5\u003c/code\u003e\u003c/a\u003e ci: remove version from the artifacts name (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/818\"\u003e#818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/04f24e54eeb7756d5f3eb88e4e3a03db32d19e0e\"\u003e\u003ccode\u003e04f24e5\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b2 → 3.7.0b3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/a08a34763d932f77940df737bbdd1882871f359d\"\u003e\u003ccode\u003ea08a347\u003c/code\u003e\u003c/a\u003e ci: separate checksum artifacts for signed and unsigned builds (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/817\"\u003e#817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/2ff7ace8c18d05c6a556b87b1be6aa2c380cf4d6\"\u003e\u003ccode\u003e2ff7ace\u003c/code\u003e\u003c/a\u003e bump: version 3.7.0b1 → 3.7.0b2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyupio/safety/commit/2964f19a56e117d7e91030c0f8ab8a79bb65476c\"\u003e\u003ccode\u003e2964f19\u003c/code\u003e\u003c/a\u003e ci: load version on release jobs (\u003ca href=\"https://redirect.github.com/pyupio/safety/issues/816\"\u003e#816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyupio/safety/compare/3.6.2...3.7.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.116.1 to 0.122.0\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.122.0\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Use \u003ccode\u003e401\u003c/code\u003e status code in security classes when credentials are missing. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13786\"\u003e#13786\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eIf your code depended on these classes raising the old (less correct) \u003ccode\u003e403\u003c/code\u003e status code, check the new docs about how to override the classes, to use the same old behavior: \u003ca href=\"https://fastapi.tiangolo.com/how-to/authentication-error-status-code/\"\u003eUse Old 403 Authentication Error Status Codes\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🔧 Configure labeler to exclude files that start from underscore for \u003ccode\u003elang-all\u003c/code\u003e label. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14213\"\u003e#14213\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👷 Add pre-commit config with local script for permalinks. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14398\"\u003e#14398\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💄 Use font Fira Code to fix display of Rich panels in docs in Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14387\"\u003e#14387\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 custom pre-commit CI. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14397\"\u003e#14397\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 actions/checkout from 5 to 6. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14381\"\u003e#14381\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👷 Upgrade \u003ccode\u003elatest-changes\u003c/code\u003e GitHub Action and pin \u003ccode\u003eactions/checkout@v5\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14403\"\u003e#14403\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🛠️ Add \u003ccode\u003eadd-permalinks\u003c/code\u003e and \u003ccode\u003eadd-permalinks-page\u003c/code\u003e to \u003ccode\u003escripts/docs.py\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14033\"\u003e#14033\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🔧 Upgrade Material for MkDocs and remove insiders. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14375\"\u003e#14375\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.121.3\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Make the result of \u003ccode\u003eDepends()\u003c/code\u003e and \u003ccode\u003eSecurity()\u003c/code\u003e hashable, as a workaround for other tools interacting with these internal parts. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14372\"\u003e#14372\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\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Bump Starlette to \u0026lt;\u003ccode\u003e0.51.0\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14282\"\u003e#14282\u003c/a\u003e by \u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\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📝 Add missing hash part. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14369\"\u003e#14369\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix typos in code comments. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14364\"\u003e#14364\u003c/a\u003e by \u003ca href=\"https://github.com/Edge-Seven\"\u003e\u003ccode\u003e@​Edge-Seven\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add docs for using FastAPI Cloud. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14359\"\u003e#14359\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.121.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix handling of JSON Schema attributes named \u0026quot;$ref\u0026quot;. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14349\"\u003e#14349\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📝 Add EuroPython talk \u0026amp; podcast episode with Sebastián Ramírez. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14260\"\u003e#14260\u003c/a\u003e by \u003ca href=\"https://github.com/clytaemnestra\"\u003e\u003ccode\u003e@​clytaemnestra\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Fix links and add missing permalink in docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14217\"\u003e#14217\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\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update Portuguese translations with LLM prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14228\"\u003e#14228\u003c/a\u003e by \u003ca href=\"https://github.com/ceb10n\"\u003e\u003ccode\u003e@​ceb10n\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Add Portuguese translations LLM prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14208\"\u003e#14208\u003c/a\u003e by \u003ca href=\"https://github.com/ceb10n\"\u003e\u003ccode\u003e@​ceb10n\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Sync Russian docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14331\"\u003e#14331\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🌐 Sync German docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14317\"\u003e#14317\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\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/5b0625df96e4ea11b54fcb2a76f21f7ad94764fe\"\u003e\u003ccode\u003e5b0625d\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.122.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8732c53478513ddd35ae152ff9bf5e6217ed3d99\"\u003e\u003ccode\u003e8732c53\u003c/code\u003e\u003c/a\u003e 📝 Updates release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/a4ef97afd937a8fd180a78e11c3648509e5bc14d\"\u003e\u003ccode\u003ea4ef97a\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/51ad909ffe9f5b2d5c9315554e75e39a8a2d725c\"\u003e\u003ccode\u003e51ad909\u003c/code\u003e\u003c/a\u003e 🐛 Use \u003ccode\u003e401\u003c/code\u003e status code in security classes when credentials are missing (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/13\"\u003e#13\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e2354a0a063f2fcb890ec568f1a98e136a39fd25\"\u003e\u003ccode\u003ee2354a0\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cc66dee55c9a0f34c2e277c0509c45c74abcefd1\"\u003e\u003ccode\u003ecc66dee\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/ecfb752487bc3abef35b2786297bc575005c9e36\"\u003e\u003ccode\u003eecfb752\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8b18522205b9ac738b241c4143c983e968fe6e15\"\u003e\u003ccode\u003e8b18522\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/a2395e02436a3788400d864696120fcd91af38cc\"\u003e\u003ccode\u003ea2395e0\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c7d05a903ce34e8578237cf2aab7242cefe51af2\"\u003e\u003ccode\u003ec7d05a9\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.116.1...0.122.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.35.0 to 0.38.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.38.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2723\"\u003eKludex/uvicorn#2723\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NGANAMODEIJunior\"\u003e\u003ccode\u003e@​NGANAMODEIJunior\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2713\"\u003eKludex/uvicorn#2713\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.37.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e setting by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2711\"\u003eKludex/uvicorn#2711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e by \u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LincolnPuzey\"\u003e\u003ccode\u003e@​LincolnPuzey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2669\"\u003eKludex/uvicorn#2669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2709\"\u003eKludex/uvicorn#2709\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs by \u003ca href=\"https://github.com/gnir-work\"\u003e\u003ccode\u003e@​gnir-work\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2435\"\u003eKludex/uvicorn#2435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to provide importable string in \u003ccode\u003e--http\u003c/code\u003e, \u003ccode\u003e--ws\u003c/code\u003e and \u003ccode\u003e--loop\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2658\"\u003eKludex/uvicorn#2658\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gnir-work\"\u003e\u003ccode\u003e@​gnir-work\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2435\"\u003eKludex/uvicorn#2435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2659\"\u003eKludex/uvicorn#2659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/secrett2633\"\u003e\u003ccode\u003e@​secrett2633\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2684\"\u003eKludex/uvicorn#2684\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.35.0...0.36.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.35.0...0.36.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.38.0 (October 18, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.1 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.0 (September 20, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport custom IOLOOPs (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2435\"\u003e#2435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow to provide importable string in \u003ccode\u003e--http\u003c/code\u003e, \u003ccode\u003e--ws\u003c/code\u003e and \u003ccode\u003e--loop\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2658\"\u003e#2658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/3850ad6520cafb290bd4174fa9c4ca5d33440c82\"\u003e\u003ccode\u003e3850ad6\u003c/code\u003e\u003c/a\u003e Version 0.38.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2733\"\u003e#2733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b3f17a549ec96f57bf4d975145fc58feefdd4e8\"\u003e\u003ccode\u003e9b3f17a\u003c/code\u003e\u003c/a\u003e Support Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/ce79f95d065c053b36449f67b3b2cefee5ecf167\"\u003e\u003ccode\u003ece79f95\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add Marcelo Trylesinski to the license (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2699\"\u003e#2699\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2730\"\u003e#2730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/dbf8797b47c79da542f530f2143b8e851e2388fd\"\u003e\u003ccode\u003edbf8797\u003c/code\u003e\u003c/a\u003e docs: add social icons (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2728\"\u003e#2728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/58f28be98eb95c8cf25905df10997b4af81c23e3\"\u003e\u003ccode\u003e58f28be\u003c/code\u003e\u003c/a\u003e Add section about event loop (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2725\"\u003e#2725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/93d95107490d5ea3693601388d7783c450058271\"\u003e\u003ccode\u003e93d9510\u003c/code\u003e\u003c/a\u003e Bump docs dependencies (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2724\"\u003e#2724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b1c6c45ed7fe8bd485ddad475f0feff03971af7\"\u003e\u003ccode\u003e9b1c6c4\u003c/code\u003e\u003c/a\u003e Move Marcelo Trylesinski to maintainers in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2719\"\u003e#2719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/57a61d86f2f123b1d35b9ff71e0f29d22d10806f\"\u003e\u003ccode\u003e57a61d8\u003c/code\u003e\u003c/a\u003e Add discord to README (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2718\"\u003e#2718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7ef5f9f5e7e79887b4ab4214c15ab5a9ce63e193\"\u003e\u003ccode\u003e7ef5f9f\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from 6.7.0 to 6.8.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2717\"\u003e#2717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/6d26d88970379cbf20b4dbf4f70e27f191db4ede\"\u003e\u003ccode\u003e6d26d88\u003c/code\u003e\u003c/a\u003e Update pyproject.toml for PEP639 compliance (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2713\"\u003e#2713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.35.0...0.38.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-settings` from 2.6.1 to 2.12.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.12.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for enum kebab case. 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/686\"\u003epydantic/pydantic-settings#686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd NestedSecretsSettings source by \u003ca href=\"https://github.com/makukha\"\u003e\u003ccode\u003e@​makukha\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/690\"\u003epydantic/pydantic-settings#690\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip non-explicit default values. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/692\"\u003epydantic/pydantic-settings#692\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCoerce env vars if strict is True. 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/693\"\u003epydantic/pydantic-settings#693\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore init kwarg names before returning final state dictionary. 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/700\"\u003epydantic/pydantic-settings#700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python3.9 support 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/699\"\u003epydantic/pydantic-settings#699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt test_protected_namespace_defaults for dev. Pydantic by \u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/637\"\u003epydantic/pydantic-settings#637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.14 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/704\"\u003epydantic/pydantic-settings#704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.12 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/705\"\u003epydantic/pydantic-settings#705\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/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCLI Serialize Support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/643\"\u003epydantic/pydantic-settings#643\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInspect type aliases to determine if an annotation is complex by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;fix: Respect 'cli_parse_args' from model_config with settings_customise_sources (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/611\"\u003e#611\u003c/a\u003e)\u0026quot; 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/655\"\u003epydantic/pydantic-settings#655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove parsing of command line arguments from \u003ccode\u003eCliSettingsSource.__init__\u003c/code\u003e. by \u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eturn off allow_abbrev on subparsers by \u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Serialization Fixes 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/649\"\u003epydantic/pydantic-settings#649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix PydanticModel type checking. 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/659\"\u003epydantic/pydantic-settings#659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid env_prefix falling back to env vars without prefix by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/648\"\u003epydantic/pydantic-settings#648\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn if model_config sets unused keys for missing settings sources by \u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncluded endpoint_url kwarg in AWSSecretsManagerSettingsSource class by \u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo (\u0026quot;Accesing\u0026quot;) in the \u0026quot;Adding sources\u0026quot; docs by \u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Windows Path Fix 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/669\"\u003epydantic/pydantic-settings#669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCli root model support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/677\"\u003epydantic/pydantic-settings#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSnake case conversion in Azure Key Vault by \u003ca href=\"https://github.com/AndreuCodina\"\u003e\u003ccode\u003e@​AndreuCodina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/680\"\u003epydantic/pydantic-settings#680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eInitSettingsSource\u003c/code\u003e resolution deterministic by \u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/683\"\u003epydantic/pydantic-settings#683\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/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.10.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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/584983d253a0fac4dfb294d1e6f9ef188add468b\"\u003e\u003ccode\u003e584983d\u003c/code\u003e\u003c/a\u003e Prepare release 2.12 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/705\"\u003e#705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/6b4d87e77698476433031c0056ce71aa4f4a7c4e\"\u003e\u003ccode\u003e6b4d87e\u003c/code\u003e\u003c/a\u003e Add Python 3.14 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/704\"\u003e#704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/02de5b622b8648404aa792df01599aa1179c3aa7\"\u003e\u003ccode\u003e02de5b6\u003c/code\u003e\u003c/a\u003e Adapt test_protected_namespace_defaults for dev. Pydantic (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/637\"\u003e#637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4239ea460a5c465a4ce908c52e9606549b38fa98\"\u003e\u003ccode\u003e4239ea4\u003c/code\u003e\u003c/a\u003e Drop Python3.9 support (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/699\"\u003e#699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/5008c694f684f88fd310f476871ec021426e98d7\"\u003e\u003ccode\u003e5008c69\u003c/code\u003e\u003c/a\u003e Restore init kwarg names before returning final state dictionary. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/700\"\u003e#700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4433101fef6770d3fc0844846f7f3837bfec3b10\"\u003e\u003ccode\u003e4433101\u003c/code\u003e\u003c/a\u003e Coerce env vars if strict is True. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4d2ebfd543e6011f6b71a99042007adf7e613ae9\"\u003e\u003ccode\u003e4d2ebfd\u003c/code\u003e\u003c/a\u003e Strip non-explicit default values. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4a6ffcaeae451199b1873c6709b28aceae7317a7\"\u003e\u003ccode\u003e4a6ffca\u003c/code\u003e\u003c/a\u003e Add NestedSecretsSettings source (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/7a6e96ebfc89ddb5b20dfb068c8ed46b6ff18a7f\"\u003e\u003ccode\u003e7a6e96e\u003c/code\u003e\u003c/a\u003e Apply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/68563eddc09856b94ea0ca156dd75040b4e048e4\"\u003e\u003ccode\u003e68563ed\u003c/code\u003e\u003c/a\u003e Support for enum kebab case. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/686\"\u003e#686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.6.1...v2.12.0\"\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.1\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.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env 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/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\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.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff 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/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() 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/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) 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/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini 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/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory 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/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml 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/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure find_dotenv 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/pull/563\"\u003etheskumar/python-dotenv#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): issue with execvpe on Windows by \u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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.1.0...v1.1.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a security policy 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/512\"\u003etheskumar/python-dotenv#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep GitHub Actions up to date with GitHub's Dependabot by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/506\"\u003etheskumar/python-dotenv#506\u003c...\n\n_Description has been truncated_","html_url":"https://github.com/manavgup/rag_modulo/pull/673","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/manavgup%2Frag_modulo/issues/673","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/673/packages"}},{"old_version":"0.34.0","new_version":"0.35.0","update_type":"minor","path":null,"pr_created_at":"2025-11-04T13:32:47.000Z","version_change":"0.34.0 → 0.35.0","issue":{"uuid":"3586611862","node_id":"PR_kwDOLzgXB86xbAwt","number":615,"state":"closed","title":"Bump the allpip group across 1 directory with 68 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-10T07:46:16.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-04T13:32:47.000Z","updated_at":"2025-11-10T07:46:19.000Z","time_to_close":497609,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"allpip","update_count":68,"packages":[{"name":"alembic","old_version":"1.16.5","new_version":"1.17.1","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"pydantic","old_version":"2.11.9","new_version":"2.12.3","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-settings","old_version":"2.10.1","new_version":"2.11.0","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"uvicorn","old_version":"0.36.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"sqlalchemy","old_version":"2.0.43","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"minio","old_version":"7.2.16","new_version":"7.2.18","repository_url":"https://github.com/minio/minio-py"},{"name":"coverage","old_version":"7.10.7","new_version":"7.11.0","repository_url":"https://github.com/nedbat/coveragepy"},{"name":"ruff","old_version":"0.13.1","new_version":"0.14.3","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pyright","old_version":"1.1.405","new_version":"1.1.407","repository_url":"https://github.com/RobertCraigie/pyright-python"},{"name":"anyio","old_version":"4.8.0","new_version":"4.11.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"argon2-cffi","old_version":"23.1.0","new_version":"25.1.0","repository_url":"https://github.com/hynek/argon2-cffi"},{"name":"argon2-cffi-bindings","old_version":"21.2.0","new_version":"25.1.0","repository_url":"https://github.com/hynek/argon2-cffi-bindings"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"cachecontrol","old_version":"0.14.1","new_version":"0.14.3","repository_url":"https://github.com/psf/cachecontrol"},{"name":"certifi","old_version":"2024.12.14","new_version":"2025.10.5","repository_url":"https://github.com/certifi/python-certifi"},{"name":"charset-normalizer","old_version":"3.4.1","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"cryptography","old_version":"44.0.1","new_version":"46.0.3","repository_url":"https://github.com/pyca/cryptography"},{"name":"cssbeautifier","old_version":"1.15.1","new_version":"1.15.4","repository_url":"https://github.com/beautifier/js-beautify"},{"name":"distlib","old_version":"0.3.9","new_version":"0.4.0","repository_url":"https://github.com/pypa/distlib"},{"name":"editorconfig","old_version":"0.17.0","new_version":"0.17.1","repository_url":"https://github.com/editorconfig/editorconfig-core-py"},{"name":"fastjsonschema","old_version":"2.21.1","new_version":"2.21.2","repository_url":"https://github.com/horejsek/python-fastjsonschema"},{"name":"filelock","old_version":"3.16.1","new_version":"3.20.0","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"findpython","old_version":"0.6.2","new_version":"0.7.0","repository_url":"https://github.com/frostming/findpython"},{"name":"fsspec","old_version":"2024.12.0","new_version":"2025.10.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"greenlet","old_version":"3.1.1","new_version":"3.2.4","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"httptools","old_version":"0.6.4","new_version":"0.7.1","repository_url":"https://github.com/MagicStack/httptools"},{"name":"identify","old_version":"2.6.5","new_version":"2.6.15","repository_url":"https://github.com/pre-commit/identify"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"iniconfig","old_version":"2.0.0","new_version":"2.3.0","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"jaraco-functools","old_version":"4.1.0","new_version":"4.3.0","repository_url":"https://github.com/jaraco/jaraco.functools"},{"name":"jeepney","old_version":"0.8.0","new_version":"0.9.0"},{"name":"jsbeautifier","old_version":"1.15.1","new_version":"1.15.4","repository_url":"https://github.com/ghost6991/Jsbeautifier"},{"name":"json5","old_version":"0.10.0","new_version":"0.12.1","repository_url":"https://github.com/dpranke/pyjson5"},{"name":"mako","old_version":"1.3.8","new_version":"1.3.10","repository_url":"https://github.com/sqlalchemy/mako"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"more-itertools","old_version":"10.5.0","new_version":"10.8.0","repository_url":"https://github.com/more-itertools/more-itertools"},{"name":"msgpack","old_version":"1.1.0","new_version":"1.1.2","repository_url":"https://github.com/msgpack/msgpack-python"},{"name":"multidict","old_version":"6.1.0","new_version":"6.7.0","repository_url":"https://github.com/aio-libs/multidict"},{"name":"packaging","old_version":"24.2","new_version":"25.0","repository_url":"https://github.com/pypa/packaging"},{"name":"pbs-installer","old_version":"2025.2.12","new_version":"2025.10.31","repository_url":"https://github.com/frostming/pbs-installer"},{"name":"pkginfo","old_version":"1.12.0","new_version":"1.12.1.2"},{"name":"platformdirs","old_version":"4.3.6","new_version":"4.5.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pluggy","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/pytest-dev/pluggy"},{"name":"propcache","old_version":"0.2.1","new_version":"0.4.1","repository_url":"https://github.com/aio-libs/propcache"},{"name":"pycparser","old_version":"2.22","new_version":"2.23","repository_url":"https://github.com/eliben/pycparser"},{"name":"pycryptodome","old_version":"3.21.0","new_version":"3.23.0","repository_url":"https://github.com/Legrandin/pycryptodome"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"rapidfuzz","old_version":"3.11.0","new_version":"3.14.3","repository_url":"https://github.com/rapidfuzz/RapidFuzz"},{"name":"regex","old_version":"2024.11.6","new_version":"2025.11.3","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"secretstorage","old_version":"3.3.3","new_version":"3.4.0","repository_url":"https://github.com/mitya57/secretstorage"},{"name":"tomlkit","old_version":"0.13.2","new_version":"0.13.3","repository_url":"https://github.com/sdispater/tomlkit"},{"name":"trove-classifiers","old_version":"2025.1.6.15","new_version":"2025.9.11.17","repository_url":"https://github.com/pypa/trove-classifiers"},{"name":"uvloop","old_version":"0.21.0","new_version":"0.22.1","repository_url":"https://github.com/MagicStack/uvloop"},{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"virtualenv","old_version":"20.28.1","new_version":"20.35.4","repository_url":"https://github.com/pypa/virtualenv"},{"name":"watchfiles","old_version":"1.0.3","new_version":"1.1.1","repository_url":"https://github.com/samuelcolvin/watchfiles"},{"name":"websockets","old_version":"14.1","new_version":"15.0.1","repository_url":"https://github.com/python-websockets/websockets"},{"name":"wrapt","old_version":"1.17.0","new_version":"2.0.0","repository_url":"https://github.com/GrahamDumpleton/wrapt"},{"name":"xattr","old_version":"1.1.4","new_version":"1.3.0","repository_url":"https://github.com/xattr/xattr"},{"name":"yarl","old_version":"1.18.3","new_version":"1.22.0","repository_url":"https://github.com/aio-libs/yarl"},{"name":"zstandard","old_version":"0.23.0","new_version":"0.25.0","repository_url":"https://github.com/indygreg/python-zstandard"}],"path":null,"ecosystem":"pip"},"body":"Bumps the allpip group with 64 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.16.5` | `1.17.1` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.9` | `2.12.3` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.10.1` | `2.11.0` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.36.0` | `0.38.0` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.43` | `2.0.44` |\n| [minio](https://github.com/minio/minio-py) | `7.2.16` | `7.2.18` |\n| [coverage](https://github.com/nedbat/coveragepy) | `7.10.7` | `7.11.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.13.1` | `0.14.3` |\n| [pyright](https://github.com/RobertCraigie/pyright-python) | `1.1.405` | `1.1.407` |\n| [anyio](https://github.com/agronholm/anyio) | `4.8.0` | `4.11.0` |\n| [argon2-cffi](https://github.com/hynek/argon2-cffi) | `23.1.0` | `25.1.0` |\n| [argon2-cffi-bindings](https://github.com/hynek/argon2-cffi-bindings) | `21.2.0` | `25.1.0` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [cachecontrol](https://github.com/psf/cachecontrol) | `0.14.1` | `0.14.3` |\n| [certifi](https://github.com/certifi/python-certifi) | `2024.12.14` | `2025.10.5` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.1` | `3.4.4` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.1` | `46.0.3` |\n| [cssbeautifier](https://github.com/beautifier/js-beautify) | `1.15.1` | `1.15.4` |\n| [distlib](https://github.com/pypa/distlib) | `0.3.9` | `0.4.0` |\n| [editorconfig](https://github.com/editorconfig/editorconfig-core-py) | `0.17.0` | `0.17.1` |\n| [fastjsonschema](https://github.com/horejsek/python-fastjsonschema) | `2.21.1` | `2.21.2` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.16.1` | `3.20.0` |\n| [findpython](https://github.com/frostming/findpython) | `0.6.2` | `0.7.0` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2024.12.0` | `2025.10.0` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.1.1` | `3.2.4` |\n| [httptools](https://github.com/MagicStack/httptools) | `0.6.4` | `0.7.1` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.5` | `2.6.15` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.0.0` | `2.3.0` |\n| [jaraco-functools](https://github.com/jaraco/jaraco.functools) | `4.1.0` | `4.3.0` |\n| [jeepney](https://gitlab.com/takluyver/jeepney) | `0.8.0` | `0.9.0` |\n| [jsbeautifier](https://github.com/ghost6991/Jsbeautifier) | `1.15.1` | `1.15.4` |\n| [json5](https://github.com/dpranke/pyjson5) | `0.10.0` | `0.12.1` |\n| [mako](https://github.com/sqlalchemy/mako) | `1.3.8` | `1.3.10` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [more-itertools](https://github.com/more-itertools/more-itertools) | `10.5.0` | `10.8.0` |\n| [msgpack](https://github.com/msgpack/msgpack-python) | `1.1.0` | `1.1.2` |\n| [multidict](https://github.com/aio-libs/multidict) | `6.1.0` | `6.7.0` |\n| [packaging](https://github.com/pypa/packaging) | `24.2` | `25.0` |\n| [pbs-installer](https://github.com/frostming/pbs-installer) | `2025.2.12` | `2025.10.31` |\n| [pkginfo](https://code.launchpad.net/~tseaver/pkginfo/trunk) | `1.12.0` | `1.12.1.2` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.3.6` | `4.5.0` |\n| [pluggy](https://github.com/pytest-dev/pluggy) | `1.5.0` | `1.6.0` |\n| [propcache](https://github.com/aio-libs/propcache) | `0.2.1` | `0.4.1` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.22` | `2.23` |\n| [pycryptodome](https://github.com/Legrandin/pycryptodome) | `3.21.0` | `3.23.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [rapidfuzz](https://github.com/rapidfuzz/RapidFuzz) | `3.11.0` | `3.14.3` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2024.11.6` | `2025.11.3` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [secretstorage](https://github.com/mitya57/secretstorage) | `3.3.3` | `3.4.0` |\n| [tomlkit](https://github.com/sdispater/tomlkit) | `0.13.2` | `0.13.3` |\n| [trove-classifiers](https://github.com/pypa/trove-classifiers) | `2025.1.6.15` | `2025.9.11.17` |\n| [uvloop](https://github.com/MagicStack/uvloop) | `0.21.0` | `0.22.1` |\n| [validators](https://github.com/python-validators/validators) | `0.34.0` | `0.35.0` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `20.28.1` | `20.35.4` |\n| [watchfiles](https://github.com/samuelcolvin/watchfiles) | `1.0.3` | `1.1.1` |\n| [websockets](https://github.com/python-websockets/websockets) | `14.1` | `15.0.1` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.0` | `2.0.0` |\n| [xattr](https://github.com/xattr/xattr) | `1.1.4` | `1.3.0` |\n| [yarl](https://github.com/aio-libs/yarl) | `1.18.3` | `1.22.0` |\n| [zstandard](https://github.com/indygreg/python-zstandard) | `0.23.0` | `0.25.0` |\n\n\nUpdates `alembic` from 1.16.5 to 1.17.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/alembic/releases\"\u003ealembic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.17.1\u003c/h1\u003e\n\u003cp\u003eReleased: October 28, 2025\u003c/p\u003e\n\u003ch2\u003eusecase\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[usecase] [commands]\u003c/strong\u003e Added \u003ccode\u003ecommand.current.check_heads\u003c/code\u003e parameter to\n\u003ccode\u003ecommand.current()\u003c/code\u003e command, available from the command line via the\n\u003ccode\u003e--check-heads\u003c/code\u003e option to \u003ccode\u003ealembic current\u003c/code\u003e.  This tests if all head\nrevisions are applied to the database and raises \u003ccode\u003eDatabaseNotAtHead\u003c/code\u003e\n(or from the command line, exits with a non-zero exit code) if this is not\nthe case.  The parameter operates equvialently to the cookbook recipe\n\u003ccode\u003ecookbook_check_heads\u003c/code\u003e. Pull request courtesy Stefan Scherfke.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1705\"\u003e#1705\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [commands]\u003c/strong\u003e Disallow ':' character in custom revision identifiers. Previously, using a\ncolon in a revision ID (e.g., 'REV:1') would create the revision, however\nrevisions with colons in them are not correctly interpreted by other\ncommands, as it overlaps with the revision range syntax.   Pull request\ncourtesy Kim Wooseok with original implementation by Hrushikesh Patil.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1540\"\u003e#1540\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.17.0\u003c/h1\u003e\n\u003cp\u003eReleased: October 11, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[change] [tests]\u003c/strong\u003e The top-level test runner has been changed to use \u003ccode\u003enox\u003c/code\u003e, adding a\n\u003ccode\u003enoxfile.py\u003c/code\u003e as well as some included modules.   The \u003ccode\u003etox.ini\u003c/code\u003e file\nremains in place so that \u003ccode\u003etox\u003c/code\u003e runs will continue to function in the near\nterm, however it will be eventually removed and improvements and\nmaintenance going forward will be only towards \u003ccode\u003enoxfile.py\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[change] [general]\u003c/strong\u003e The minimum Python version is now 3.10, as Python 3.9 is EOL.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/alembic/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.9 to 2.12.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.3 2025-10-17\u003c/h2\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.13 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported \u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRaise a warning when an invalid after model validator function signature is raised by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12414\"\u003e#12414\u003c/a\u003e.\nStarting in 2.12.0, using class methods for \u003cem\u003eafter\u003c/em\u003e model validators raised an error, but the error wasn't raised concistently. We decided to emit a deprecation warning instead.\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://docs.pydantic.dev/latest/api/fields/#pydantic.fields.FieldInfo.asdict\"\u003e\u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e\u003c/a\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12411\"\u003e#12411\u003c/a\u003e.\nThis also adds back support for mutations on \u003ccode\u003eFieldInfo\u003c/code\u003e classes, that are reused as \u003ccode\u003eAnnotated\u003c/code\u003e metadata. \u003cstrong\u003eHowever\u003c/strong\u003e, note that this is still \u003cem\u003enot\u003c/em\u003e a supported pattern. Instead, please refer to the \u003ca href=\"https://docs.pydantic.dev/latest/examples/dynamic_models/\"\u003eadded example\u003c/a\u003e in the documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-12-release#changes\"\u003eblog post\u003c/a\u003e section on changes was also updated to document the changes related to \u003ccode\u003eserialize_as_any\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.2...v2.12.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.2...v2.12.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.2 2025-10-14\u003c/h2\u003e\n\u003ch2\u003ev2.12.2 (2025-10-14)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRelease a new \u003ccode\u003epydantic-core\u003c/code\u003e version, as a corrupted CPython 3.10 \u003ccode\u003emanylinux2014_aarch64\u003c/code\u003e wheel got uploaded (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1843\"\u003epydantic-core#1843\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with recursive generic models with a parent model class by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12398\"\u003e#12398\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.1...v2.12.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.1...v2.12.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.1 2025-10-13\u003c/h2\u003e\n\u003ch2\u003ev2.12.1 (2025-10-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the first 2.12 patch release, addressing most (but not all yet) regressions from the initial 2.12.0 release.\u003c/p\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eDo not evaluate annotations when inspecting validators and serializers by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12355\"\u003e#12355\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake sure \u003ccode\u003eNone\u003c/code\u003e is converted as \u003ccode\u003eNoneType\u003c/code\u003e in Python 3.14 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12370\"\u003e#12370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport V1 runtime warning when using Python 3.14 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12367\"\u003e#12367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error message for invalid validator signatures by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12366\"\u003e#12366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePopulate field name in \u003ccode\u003eValidationInfo\u003c/code\u003e for validation of default value by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1826\"\u003epydantic-core#1826\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode credentials in \u003ccode\u003eMultiHostUrl\u003c/code\u003e builder by \u003ca href=\"https://github.com/willswire\"\u003e\u003ccode\u003e@​willswire\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1829\"\u003epydantic-core#1829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect field serializers when using \u003ccode\u003eserialize_as_any\u003c/code\u003e serialization flag by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1829\"\u003epydantic-core#1829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix various \u003ccode\u003eRootModel\u003c/code\u003e serialization issues by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1836\"\u003epydantic-core#1836\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.12 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported\n\u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRaise a warning when an invalid after model validator function signature is raised by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12414\"\u003e#12414\u003c/a\u003e.\nStarting in 2.12.0, using class methods for \u003cem\u003eafter\u003c/em\u003e model validators raised an error, but the error wasn't raised concistently. We decided\nto emit a deprecation warning instead.\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://docs.pydantic.dev/latest/api/fields/#pydantic.fields.FieldInfo.asdict\"\u003e\u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e\u003c/a\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12411\"\u003e#12411\u003c/a\u003e.\nThis also add back support for mutations on \u003ccode\u003eFieldInfo\u003c/code\u003e classes, that are reused as \u003ccode\u003eAnnotated\u003c/code\u003e metadata. \u003cstrong\u003eHowever\u003c/strong\u003e, note that this is still\n\u003cem\u003enot\u003c/em\u003e a supported pattern. Instead, please refer to the \u003ca href=\"https://docs.pydantic.dev/latest/examples/dynamic_models/\"\u003eadded example\u003c/a\u003e in the documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-12-release#changes\"\u003eblog post\u003c/a\u003e section on changes was also updated to document the changes related to \u003ccode\u003eserialize_as_any\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003ev2.12.2 (2025-10-14)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.2\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRelease a new \u003ccode\u003epydantic-core\u003c/code\u003e version, as a corrupted CPython 3.10 \u003ccode\u003emanylinux2014_aarch64\u003c/code\u003e wheel got uploaded (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1843\"\u003epydantic-core#1843\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with recursive generic models with a parent model class by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12398\"\u003e#12398\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.1 (2025-10-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the first 2.12 patch release, addressing most (but not all yet) regressions from the initial 2.12.0 release.\u003c/p\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eDo not evaluate annotations when inspecting validators and serializers by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12355\"\u003e#12355\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake sure \u003ccode\u003eNone\u003c/code\u003e is converted as \u003ccode\u003eNoneType\u003c/code\u003e in Python 3.14 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12370\"\u003e#12370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport V1 runtime warning when using Python 3.14 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12367\"\u003e#12367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error message for invalid validator signatures by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12366\"\u003e#12366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePopulate field name in \u003ccode\u003eValidationInfo\u003c/code\u003e for validation of default value by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1826\"\u003epydantic-core#1826\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEncode credentials in \u003ccode\u003eMultiHostUrl\u003c/code\u003e builder by \u003ca href=\"https://github.com/willswire\"\u003e\u003ccode\u003e@​willswire\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1829\"\u003epydantic-core#1829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect field serializers when using \u003ccode\u003eserialize_as_any\u003c/code\u003e serialization flag by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1829\"\u003epydantic-core#1829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix various \u003ccode\u003eRootModel\u003c/code\u003e serialization issues by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1836\"\u003epydantic-core#1836\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1a8850d101e67d2744ba8c6286e1172d7cd89d0b\"\u003e\u003ccode\u003e1a8850d\u003c/code\u003e\u003c/a\u003e Prepare release 2.12.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/09dbcf29c73c3fd7fd3ef1edfebe357e807cc9ca\"\u003e\u003ccode\u003e09dbcf2\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5da43310ec61a7b9b3017b2b9f388e778398a1bc\"\u003e\u003ccode\u003e5da4331\u003c/code\u003e\u003c/a\u003e Improve documentation about serialize as any behavior\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/9c863245ad3799ab331f33b52e2d7441e9c1191e\"\u003e\u003ccode\u003e9c86324\u003c/code\u003e\u003c/a\u003e Raise a warning when an invalid after model validator function signature is r...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/36a73c6ed53df7f1cad3343bc811e1dd3f52d26f\"\u003e\u003ccode\u003e36a73c6\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003epydantic-extra-types\u003c/code\u003e dependency to version \u003ccode\u003e\u0026gt;=2.10.6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1e616a3a6fa0201f840c08143cac883e56a2d9df\"\u003e\u003ccode\u003e1e616a3\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/dc302e2d09f0eed14729f69bc61a258f1f35d35c\"\u003e\u003ccode\u003edc302e2\u003c/code\u003e\u003c/a\u003e Fix issue with recursive generic models with a parent model class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/6876485d0cffeb66c915695574344ae4b03645a7\"\u003e\u003ccode\u003e6876485\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e to v2.41.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b4076c66773b514d4891f036a4cc562b8ff0ff21\"\u003e\u003ccode\u003eb4076c6\u003c/code\u003e\u003c/a\u003e Prepare release 2.12.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b67f07291167b4005a6eeee05fcad67b43a53f41\"\u003e\u003ccode\u003eb67f072\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e to v2.41.3\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.9...v2.12.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.10.1 to 2.11.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.11.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCLI Serialize Support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/643\"\u003epydantic/pydantic-settings#643\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInspect type aliases to determine if an annotation is complex by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;fix: Respect 'cli_parse_args' from model_config with settings_customise_sources (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/611\"\u003e#611\u003c/a\u003e)\u0026quot; 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/655\"\u003epydantic/pydantic-settings#655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove parsing of command line arguments from \u003ccode\u003eCliSettingsSource.__init__\u003c/code\u003e. by \u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eturn off allow_abbrev on subparsers by \u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Serialization Fixes 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/649\"\u003epydantic/pydantic-settings#649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix PydanticModel type checking. 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/659\"\u003epydantic/pydantic-settings#659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid env_prefix falling back to env vars without prefix by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/648\"\u003epydantic/pydantic-settings#648\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn if model_config sets unused keys for missing settings sources by \u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncluded endpoint_url kwarg in AWSSecretsManagerSettingsSource class by \u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo (\u0026quot;Accesing\u0026quot;) in the \u0026quot;Adding sources\u0026quot; docs by \u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Windows Path Fix 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/669\"\u003epydantic/pydantic-settings#669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCli root model support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/677\"\u003epydantic/pydantic-settings#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSnake case conversion in Azure Key Vault by \u003ca href=\"https://github.com/AndreuCodina\"\u003e\u003ccode\u003e@​AndreuCodina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/680\"\u003epydantic/pydantic-settings#680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eInitSettingsSource\u003c/code\u003e resolution deterministic by \u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/683\"\u003epydantic/pydantic-settings#683\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/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/644\"\u003epydantic/pydantic-settings#644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/trygve-baerland\"\u003e\u003ccode\u003e@​trygve-baerland\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/656\"\u003epydantic/pydantic-settings#656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mroch\"\u003e\u003ccode\u003e@​mroch\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/658\"\u003epydantic/pydantic-settings#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HomerusJa\"\u003e\u003ccode\u003e@​HomerusJa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/663\"\u003epydantic/pydantic-settings#663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adrianohrl\"\u003e\u003ccode\u003e@​adrianohrl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/664\"\u003epydantic/pydantic-settings#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/668\"\u003epydantic/pydantic-settings#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/enrico-stauss\"\u003e\u003ccode\u003e@​enrico-stauss\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/681\"\u003epydantic/pydantic-settings#681\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/3e664300f38a4ad1e1ff4b431147f18d63930028\"\u003e\u003ccode\u003e3e66430\u003c/code\u003e\u003c/a\u003e Prepare release 2.11.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/684\"\u003e#684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/44fb5b7a97ed82d09d3895bee49b82ae4ac55fd9\"\u003e\u003ccode\u003e44fb5b7\u003c/code\u003e\u003c/a\u003e Update deps (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/683\"\u003e#683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/0497ef23314dbd63ea41d07ab9c301e628f2f9f9\"\u003e\u003ccode\u003e0497ef2\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003eInitSettingsSource\u003c/code\u003e resolution deterministic (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/681\"\u003e#681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/c22cef44ff7d3ca058eee188bf1967650146fcda\"\u003e\u003ccode\u003ec22cef4\u003c/code\u003e\u003c/a\u003e Snake case conversion in Azure Key Vault (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/9c6c9b55e27ab78e48eaa570965c6e52c32c9f38\"\u003e\u003ccode\u003e9c6c9b5\u003c/code\u003e\u003c/a\u003e Cli root model support (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/677\"\u003e#677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/a164b73fcf8d802c1a7db7c6d9d830f11b70244e\"\u003e\u003ccode\u003ea164b73\u003c/code\u003e\u003c/a\u003e CLI Windows Path Fix (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/669\"\u003e#669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/d81f8d861d01eff563b8b91a1694d48b6eade92e\"\u003e\u003ccode\u003ed81f8d8\u003c/code\u003e\u003c/a\u003e Fix typo (\u0026quot;Accesing\u0026quot;) in the \u0026quot;Adding sources\u0026quot; docs (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/668\"\u003e#668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/53ade971d122b9fef88da85a8ff489180e06c796\"\u003e\u003ccode\u003e53ade97\u003c/code\u003e\u003c/a\u003e Included endpoint_url kwarg in AWSSecretsManagerSettingsSource class (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/664\"\u003e#664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/1967d6f5c18db30ddbcffe4856ea941a71189abc\"\u003e\u003ccode\u003e1967d6f\u003c/code\u003e\u003c/a\u003e Warn if model_config sets unused keys for missing settings sources (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/663\"\u003e#663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/1fc20873d208979dfac0fa336f99fc05c0562ae8\"\u003e\u003ccode\u003e1fc2087\u003c/code\u003e\u003c/a\u003e Avoid env_prefix falling back to env vars without prefix (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2-binary` from 2.9.10 to 2.9.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2-binary's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform binary packages (:ticket:\u003ccode\u003e[#1813](https://github.com/psycopg/psycopg2/issues/1813)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 18.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.10\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eReceive notifications on commit (:ticket:\u003ccode\u003e[#1728](https://github.com/psycopg/psycopg2/issues/1728)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e~psycopg2.errorcodes\u003c/code\u003e map and \u003ccode\u003e~psycopg2.errors\u003c/code\u003e classes updated to\nPostgreSQL 17.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.9\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.8\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWheel package bundled with PostgreSQL 16 libpq in order to add support for\nrecent features, such as \u003ccode\u003esslcertmode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.7\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix propagation of exceptions raised during module initialization\n(:ticket:\u003ccode\u003e[#1598](https://github.com/psycopg/psycopg2/issues/1598)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eFix building when pg_config returns an empty string (:ticket:\u003ccode\u003e[#1599](https://github.com/psycopg/psycopg2/issues/1599)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eWheel package bundled with OpenSSL 1.1.1v.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.6\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/fd9ae8cad2bcfc3e7e9410e7b6f07cda8f4f05ec\"\u003e\u003ccode\u003efd9ae8c\u003c/code\u003e\u003c/a\u003e chore: bump to version 2.9.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d923840546942534f0956d9202f914fd9feac5fd\"\u003e\u003ccode\u003ed923840\u003c/code\u003e\u003c/a\u003e chore: update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/d42dc7169d3cd93517e282e9ef5dc2a2b40650a2\"\u003e\u003ccode\u003ed42dc71\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-1791'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4fde6560c32f06ad1304404c9f7f86148dcc4be0\"\u003e\u003ccode\u003e4fde656\u003c/code\u003e\u003c/a\u003e fix: avoid failed assert passing more arguments than placeholders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/8308c19d6af0d904b313997539ed33415990a74e\"\u003e\u003ccode\u003e8308c19\u003c/code\u003e\u003c/a\u003e fix: drop warning about the use of deprecated PyWeakref_GetObject function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1a1eabf098a3374409bb2ab4b594777b900f396d\"\u003e\u003ccode\u003e1a1eabf\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/github-script from 7 to 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/897af8b38beda851d7257dfc525129e37c0ec9e0\"\u003e\u003ccode\u003e897af8b\u003c/code\u003e\u003c/a\u003e build(deps): bump peter-evans/repository-dispatch from 3 to 4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/ceefd305117113ca10e383a626e87ba0796f3638\"\u003e\u003ccode\u003eceefd30\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/4dc585430cabe94cee96c5a9de0265d0f55370f1\"\u003e\u003ccode\u003e4dc5854\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-python from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg2/commit/1945788dcf6172bb1b9328ebc3587ccf0e6a659c\"\u003e\u003ccode\u003e1945788\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg2/issues/1802\"\u003e#1802\u003c/a\u003e from edgarrmondragon/cp314-wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg2/compare/2.9.10...2.9.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.36.0 to 0.38.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.38.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2723\"\u003eKludex/uvicorn#2723\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NGANAMODEIJunior\"\u003e\u003ccode\u003e@​NGANAMODEIJunior\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2713\"\u003eKludex/uvicorn#2713\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.37.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e setting by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2711\"\u003eKludex/uvicorn#2711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e by \u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LincolnPuzey\"\u003e\u003ccode\u003e@​LincolnPuzey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2669\"\u003eKludex/uvicorn#2669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnv812\"\u003e\u003ccode\u003e@​rnv812\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2676\"\u003eKludex/uvicorn#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.36.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2709\"\u003eKludex/uvicorn#2709\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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.38.0 (October 18, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.1 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/3850ad6520cafb290bd4174fa9c4ca5d33440c82\"\u003e\u003ccode\u003e3850ad6\u003c/code\u003e\u003c/a\u003e Version 0.38.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2733\"\u003e#2733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b3f17a549ec96f57bf4d975145fc58feefdd4e8\"\u003e\u003ccode\u003e9b3f17a\u003c/code\u003e\u003c/a\u003e Support Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/ce79f95d065c053b36449f67b3b2cefee5ecf167\"\u003e\u003ccode\u003ece79f95\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add Marcelo Trylesinski to the license (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2699\"\u003e#2699\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2730\"\u003e#2730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/dbf8797b47c79da542f530f2143b8e851e2388fd\"\u003e\u003ccode\u003edbf8797\u003c/code\u003e\u003c/a\u003e docs: add social icons (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2728\"\u003e#2728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/58f28be98eb95c8cf25905df10997b4af81c23e3\"\u003e\u003ccode\u003e58f28be\u003c/code\u003e\u003c/a\u003e Add section about event loop (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2725\"\u003e#2725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/93d95107490d5ea3693601388d7783c450058271\"\u003e\u003ccode\u003e93d9510\u003c/code\u003e\u003c/a\u003e Bump docs dependencies (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2724\"\u003e#2724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9b1c6c45ed7fe8bd485ddad475f0feff03971af7\"\u003e\u003ccode\u003e9b1c6c4\u003c/code\u003e\u003c/a\u003e Move Marcelo Trylesinski to maintainers in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2719\"\u003e#2719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/57a61d86f2f123b1d35b9ff71e0f29d22d10806f\"\u003e\u003ccode\u003e57a61d8\u003c/code\u003e\u003c/a\u003e Add discord to README (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2718\"\u003e#2718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7ef5f9f5e7e79887b4ab4214c15ab5a9ce63e193\"\u003e\u003ccode\u003e7ef5f9f\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from 6.7.0 to 6.8.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2717\"\u003e#2717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/6d26d88970379cbf20b4dbf4f70e27f191db4ede\"\u003e\u003ccode\u003e6d26d88\u003c/code\u003e\u003c/a\u003e Update pyproject.toml for PEP639 compliance (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2713\"\u003e#2713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.36.0...0.38.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyyaml` from 6.0.2 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yaml/pyyaml/releases\"\u003epyyaml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14 and free-threading (experimental).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\u003ehttps://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\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/yaml/pyyaml/blob/6.0.3/CHANGES\"\u003epyyaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e6.0.3 (2025-09-25)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/yaml/pyyaml/pull/864\"\u003eyaml/pyyaml#864\u003c/a\u003e -- Support for Python 3.14 and free-threading (experimental)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yaml/pyyaml/commit/49790e73684bebad1df05ef8d828fa12f685bffb\"\u003e\u003ccode\u003e49790e7\u003c/code\u003e\u003c/a\u003e Release 6.0.3 (\u003ca href=\"https://redirect.github.com/yaml/pyyaml/issues/889\"\u003e#889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.43 to 2.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.44\u003c/h1\u003e\n\u003cp\u003eReleased: October 10, 2025\u003c/p\u003e\n\u003ch2\u003eplatform\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[platform] [bug]\u003c/strong\u003e Unblocked automatic greenlet installation for Python 3.14 now that\nthere are greenlet wheels on pypi for python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [usecase]\u003c/strong\u003e The way ORM Annotated Declarative interprets Python \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type aliases\nin \u003ccode\u003eMapped[]\u003c/code\u003e annotations has been refined to expand the lookup scheme. A\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e type can now be resolved based on either its direct presence in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e or its immediate resolved\nvalue, as long as a recursive lookup across multiple \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types is\nnot required for it to resolve. This change reverses part of the\nrestrictions introduced in 2.0.37 as part of \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/11955\"\u003e#11955\u003c/a\u003e, which\ndeprecated (and disallowed in 2.1) the ability to resolve any \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e\ntype that was not explicitly present in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e. Recursive lookups of\n\u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e types remains deprecated in 2.0 and disallowed in version 2.1,\nas do implicit lookups of \u003ccode\u003eNewType\u003c/code\u003e types without an entry in\n\u003ccode\u003e_orm.registry.type_annotation_map\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAdditionally, new support has been added for generic \u003ca href=\"https://peps.python.org/pep-0695\"\u003ePEP 695\u003c/a\u003e aliases that\nrefer to \u003ca href=\"https://peps.python.org/pep-0593\"\u003ePEP 593\u003c/a\u003e \u003ccode\u003eAnnotated\u003c/code\u003e constructs containing\n\u003ccode\u003e_orm.mapped_column()\u003c/code\u003e configurations. See the sections below for\nexamples.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12829\"\u003e#12829\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed a caching issue where \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e would\nincorrectly reuse cached bound parameter values when used with\n\u003ccode\u003e_sql.CompoundSelect\u003c/code\u003e constructs such as \u003ccode\u003e_sql.union()\u003c/code\u003e. The\nissue was caused by the cache key for compound selects not including the\nexecution options that are part of the \u003ccode\u003e_sql.Executable\u003c/code\u003e base class,\nwhich \u003ccode\u003e_orm.with_loader_criteria()\u003c/code\u003e uses to apply its criteria\ndynamically. The fix ensures that compound selects and other executable\nconstructs properly include execution options in their cache key traversal.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/12905\"\u003e#12905\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[engine] [bug]\u003c/strong\u003e Implemented initial support for free-threaded Python by adding new tests\nand reworking the test harness to include Python 3.13t and Python 3.14t in\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minio` from 7.2.16 to 7.2.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minio/minio-py/releases\"\u003eminio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBugfix Release 7.2.18\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix ETag parsing in CompleteMultipartUploadResult by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1518\"\u003eminio/minio-py#1518\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecredentials: set expiration using object.\u003cstrong\u003esetattr\u003c/strong\u003e() by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1516\"\u003eminio/minio-py#1516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecleanup: SSE-C keys fix a misleading error message by \u003ca href=\"https://github.com/marktheunissen\"\u003e\u003ccode\u003e@​marktheunissen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1514\"\u003eminio/minio-py#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add py.typed in setup.py by \u003ca href=\"https://github.com/tughril\"\u003e\u003ccode\u003e@​tughril\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1513\"\u003eminio/minio-py#1513\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/marktheunissen\"\u003e\u003ccode\u003e@​marktheunissen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1514\"\u003eminio/minio-py#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tughril\"\u003e\u003ccode\u003e@​tughril\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1513\"\u003eminio/minio-py#1513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.17...7.2.18\"\u003ehttps://github.com/minio/minio-py/compare/7.2.17...7.2.18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eBugfix Release 7.2.17\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMinioAdmin: allow specifying policies as dict besides file by \u003ca href=\"https://github.com/Alveel\"\u003e\u003ccode\u003e@​Alveel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1480\"\u003eminio/minio-py#1480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix too-many-positional-arguments error and other issues by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1504\"\u003eminio/minio-py#1504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCredentials: redact password in URL by \u003ca href=\"https://github.com/balamurugana\"\u003e\u003ccode\u003e@​balamurugana\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/minio/minio-py/pull/1511\"\u003eminio/minio-py#1511\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.16...7.2.17\"\u003ehttps://github.com/minio/minio-py/compare/7.2.16...7.2.17\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/minio/minio-py/commit/ff647fe1fcb0ffb1ed190b6c6d1c8c958056508f\"\u003e\u003ccode\u003eff647fe\u003c/code\u003e\u003c/a\u003e feat: add py.typed in setup.py (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1513\"\u003e#1513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/ddb99190885a7b951339beec1ba5984c93be1341\"\u003e\u003ccode\u003eddb9919\u003c/code\u003e\u003c/a\u003e cleanup: SSE-C keys fix a misleading error message (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1514\"\u003e#1514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/ba1d03bb943de7065d5c712ccdee78d8a88b70bf\"\u003e\u003ccode\u003eba1d03b\u003c/code\u003e\u003c/a\u003e credentials: set expiration using object.\u003cstrong\u003esetattr\u003c/strong\u003e() (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1516\"\u003e#1516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/7c34d3c590740544fbf80fa153240a53043a3fca\"\u003e\u003ccode\u003e7c34d3c\u003c/code\u003e\u003c/a\u003e fix ETag parsing in CompleteMultipartUploadResult (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1518\"\u003e#1518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/4ecbbf3ec4398af1531ac0818fe00f7ad63b917f\"\u003e\u003ccode\u003e4ecbbf3\u003c/code\u003e\u003c/a\u003e Update version to next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/594ce03ac89fb19b1e60ea5b85172aa84c333ec1\"\u003e\u003ccode\u003e594ce03\u003c/code\u003e\u003c/a\u003e Credentials: redact password in URL (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1511\"\u003e#1511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/bb1a57ae2d8938c21f4922b8e75538bf9c68e9b6\"\u003e\u003ccode\u003ebb1a57a\u003c/code\u003e\u003c/a\u003e fix too-many-positional-arguments error and other issues (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1504\"\u003e#1504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/94b1193109c0ca8fa34f9319699e62c94ae269b2\"\u003e\u003ccode\u003e94b1193\u003c/code\u003e\u003c/a\u003e MinioAdmin: allow specifying policies as dict besides file (\u003ca href=\"https://redirect.github.com/minio/minio-py/issues/1480\"\u003e#1480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minio/minio-py/commit/b7001538c7f6cd1277efbac450b9286d07806834\"\u003e\u003ccode\u003eb700153\u003c/code\u003e\u003c/a\u003e Update version to next release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minio/minio-py/compare/7.2.16...7.2.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.10.7 to 7.11.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.11.0 — 2025-10-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9, declared support for Python 3.15 alpha.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _changes_7-10-7:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/20ef00b4abc33a52ffcb10de4d3144e29dbea6a3\"\u003e\u003ccode\u003e20ef00b\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/5edf8ebf1f9754b32bad92d4826ed651614d9b94\"\u003e\u003ccode\u003e5edf8eb\u003c/code\u003e\u003c/a\u003e docs: prep for 7.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/2c023ae7a1c50e375d20c31b0b8c693416ba92a5\"\u003e\u003ccode\u003e2c023ae\u003c/code\u003e\u003c/a\u003e build: 3.15 is supported\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/2f1b95b0bd913397da3236155ca78e2117731247\"\u003e\u003ccode\u003e2f1b95b\u003c/code\u003e\u003c/a\u003e refactor: no need for _BaseCoverageException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/72b1bcc77e0062eefaf9d1da40c6b8c2ef0ec27e\"\u003e\u003ccode\u003e72b1bcc\u003c/code\u003e\u003c/a\u003e build: test light-threads on all versions of Python\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/16e93797527eada3417afc439fc4b28a432d6efc\"\u003e\u003ccode\u003e16e9379\u003c/code\u003e\u003c/a\u003e refactor: move core tests to their own file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/bc8875db8f98439c046f4c141cb7aecdaa8d1f56\"\u003e\u003ccode\u003ebc8875d\u003c/code\u003e\u003c/a\u003e test: change a test to be in-process so metacov can capture its work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/8e5d5b1bd53147e8618019191a062d2b86747355\"\u003e\u003ccode\u003e8e5d5b1\u003c/code\u003e\u003c/a\u003e build: tweak some version info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/b0236dffef02f1aa219326b96230bdf26b9f5e6c\"\u003e\u003ccode\u003eb0236df\u003c/code\u003e\u003c/a\u003e test: more tests for core selection, and some refactoring of them\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/56edde623ae497c3638e608ef6803583c1db8720\"\u003e\u003ccode\u003e56edde6\u003c/code\u003e\u003c/a\u003e build: next version will be 7.11.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nedbat/coveragepy/compare/7.10.7...7.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.13.1 to 0.14.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.3\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-10-30.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect \u003ccode\u003e--output-format\u003c/code\u003e with \u003ccode\u003e--watch\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21097\"\u003e#21097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epydoclint\u003c/code\u003e] Fix false positive on explicit exception re-raising (\u003ccode\u003eDOC501\u003c/code\u003e, \u003ccode\u003eDOC502\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21011\"\u003e#21011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Revert to stable behavior if imports for module lie in alternate branches for \u003ccode\u003eF401\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20878\"\u003e#20878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003estop-iteration-return\u003c/code\u003e (\u003ccode\u003ePLR1708\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20733\"\u003e#20733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add support for additional eager conversion patterns (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20657\"\u003e#20657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix finding keyword range for clause header after statement ending with semicolon (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21067\"\u003e#21067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix syntax error false positive on nested alternative patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21104\"\u003e#21104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eISC001\u003c/code\u003e] Fix panic when string literals are unclosed (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21034\"\u003e#21034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-django\u003c/code\u003e] Apply \u003ccode\u003eDJ001\u003c/code\u003e to annotated fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20907\"\u003e#20907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix \u003ccode\u003ePYI034\u003c/code\u003e to not trigger on metaclasses (\u003ccode\u003ePYI034\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20881\"\u003e#20881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Fix \u003ccode\u003eTC003\u003c/code\u003e false positive with \u003ccode\u003efuture-annotations\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21125\"\u003e#21125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Fix false positive for \u003ccode\u003e__class__\u003c/code\u003e in lambda expressions within class definitions (\u003ccode\u003eF821\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20564\"\u003e#20564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive for \u003ccode\u003eTypeVar\u003c/code\u003e with default on Python \u0026lt;3.13 (\u003ccode\u003eUP046\u003c/code\u003e,\u003ccode\u003eUP047\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21045\"\u003e#21045\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing docstring sections to the numpy list (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20931\"\u003e#20931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Extend \u003ccode\u003eairflow.models..Param\u003c/code\u003e check (\u003ccode\u003eAIR311\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21043\"\u003e#21043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Warn that \u003ccode\u003eairflow....DAG.create_dagrun\u003c/code\u003e has been removed (\u003ccode\u003eAIR301\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21093\"\u003e#21093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Preserve digit separators in \u003ccode\u003eDecimal\u003c/code\u003e constructor (\u003ccode\u003eFURB157\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20588\"\u003e#20588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid sending an unnecessary \u0026quot;clear diagnostics\u0026quot; message for clients supporting pull diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21105\"\u003e#21105\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix correct example for \u003ccode\u003eS308\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21128\"\u003e#21128\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClearer error message when \u003ccode\u003eline-length\u003c/code\u003e goes beyond threshold (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21072\"\u003e#21072\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/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jvacek\"\u003e\u003ccode\u003e@​jvacek\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/augustelalande\"\u003e\u003ccode\u003e@​augustelalande\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.3\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-10-30.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect \u003ccode\u003e--output-format\u003c/code\u003e with \u003ccode\u003e--watch\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21097\"\u003e#21097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epydoclint\u003c/code\u003e] Fix false positive on explicit exception re-raising (\u003ccode\u003eDOC501\u003c/code\u003e, \u003ccode\u003eDOC502\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21011\"\u003e#21011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Revert to stable behavior if imports for module lie in alternate branches for \u003ccode\u003eF401\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20878\"\u003e#20878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003estop-iteration-return\u003c/code\u003e (\u003ccode\u003ePLR1708\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20733\"\u003e#20733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add support for additional eager conversion patterns (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20657\"\u003e#20657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix finding keyword range for clause header after statement ending with semicolon (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21067\"\u003e#21067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix syntax error false positive on nested alternative patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21104\"\u003e#21104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eISC001\u003c/code\u003e] Fix panic when string literals are unclosed (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21034\"\u003e#21034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-django\u003c/code\u003e] Apply \u003ccode\u003eDJ001\u003c/code\u003e to annotated fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20907\"\u003e#20907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix \u003ccode\u003ePYI034\u003c/code\u003e to not trigger on metaclasses (\u003ccode\u003ePYI034\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20881\"\u003e#20881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Fix \u003ccode\u003eTC003\u003c/code\u003e false positive with \u003ccode\u003efuture-annotations\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21125\"\u003e#21125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Fix false positive for \u003ccode\u003e__class__\u003c/code\u003e in lambda expressions within class definitions (\u003ccode\u003eF821\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20564\"\u003e#20564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive for \u003ccode\u003eTypeVar\u003c/code\u003e with default on Python \u0026lt;3.13 (\u003ccode\u003eUP046\u003c/code\u003e,\u003ccode\u003eUP047\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21045\"\u003e#21045\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing docstring sections to the numpy list (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20931\"\u003e#20931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Extend \u003ccode\u003eairflow.models..Param\u003c/code\u003e check (\u003ccode\u003eAIR311\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21043\"\u003e#21043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Warn that \u003ccode\u003eairflow....DAG.create_dagrun\u003c/code\u003e has been removed (\u003ccode\u003eAIR301\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21093\"\u003e#21093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Preserve digit separators in \u003ccode\u003eDecimal\u003c/code\u003e constructor (\u003ccode\u003eFURB157\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20588\"\u003e#20588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid sending an unnecessary \u0026quot;clear diagnostics\u0026quot; message for clients supporting pull diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21105\"\u003e#21105\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix correct example for \u003ccode\u003eS308\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21128\"\u003e#21128\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClearer error message when \u003ccode\u003eline-length\u003c/code\u003e goes beyond threshold (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21072\"\u003e#21072\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/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jvacek\"\u003e\u003ccode\u003e@​jvacek\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/augustelalande\"\u003e\u003ccode\u003e@​augustelalande\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TaKO8Ki\"\u003e\u003ccode\u003e@​TaKO8Ki\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/8737a2d5f5138d855ef4b3ff6982bd7684324eab\"\u003e\u003ccode\u003e8737a2d\u003c/code\u003e\u003c/a\u003e Bump v0.14.3 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21152\"\u003e#21152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3be3a10a2fc6ddaafc13d1f5bca566282285be5f\"\u003e\u003ccode\u003e3be3a10\u003c/code\u003e\u003c/a\u003e [ty] Don't provide completions when in class or function definition (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21146\"\u003e#21146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/13375d0e42bcf7e4dac346d8fad991b97222371d\"\u003e\u003ccode\u003e13375d0\u003c/code\u003e\u003c/a\u003e [ty] Use the top materialization of classes for narrowing in class-patterns f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c0b04d4b7cfd725a9ca1b92b8bc4d93a63c56c59\"\u003e\u003ccode\u003ec0b04d4\u003c/code\u003e\u003c/a\u003e [ty] Update \u0026quot;constraint implication\u0026quot; relation to work on constraints between ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1c7ea690a820deaa0e17ecf72593ebc4781f3752\"\u003e\u003ccode\u003e1c7ea69\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Fix \u003ccode\u003eTC003\u003c/code\u003e false positive with \u003ccode\u003efuture-annotations\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9bacd19c5a44594f44be1b0dcebd7ccf1777e633\"\u003e\u003ccode\u003e9bacd19\u003c/code\u003e\u003c/a\u003e [ty] Fix lookup of \u003ccode\u003e__new__\u003c/code\u003e on instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21147\"\u003e#21147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f0fe6d62fb6711d963c64f60b5dc8a558ffb4551\"\u003e\u003ccode\u003ef0fe6d6\u003c/code\u003e\u003c/a\u003e Fix syntax error false positive on nested alternative patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21104\"\u003e#21104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/10bda3df00679c6808d8593470fe693ea8c9ae8f\"\u003e\u003ccode\u003e10bda3d\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive for \u003ccode\u003eTypeVar\u003c/code\u003e with default on Python \u0026lt;3.13 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e55bc943e5f8708aeaced34488ca5d790c388cee\"\u003e\u003ccode\u003ee55bc94\u003c/code\u003e\u003c/a\u003e [ty] Reachability and narrowing for enum methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21130\"\u003e#21130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1b0ee4677e216562033f8a2f9b006738734cb2b9\"\u003e\u003ccode\u003e1b0ee46\u003c/code\u003e\u003c/a\u003e [ty] Use \u003ccode\u003erange\u003c/code\u003e instead of custom \u003ccode\u003eIntIterable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21138\"\u003e#21138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.13.1...0.14.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyright` from 1.1.405 to 1.1.407\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RobertCraigie/pyright-python/commit/53e8efb4638daca6c541d18ad35dafb0e5d9f34d\"\u003e\u003ccode\u003e53e8efb\u003c/code\u003e\u003c/a\u003e Pyright NPM Package update to 1.1.407 (\u003ca href=\"https://redirect.github.com/RobertCraigie/pyright-python/issues/356\"\u003e#356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RobertCraigie/pyright-python/commit/1d515b71299f9dc4c066ce37e673d93bda4bc2df\"\u003e\u003ccode\u003e1d515b7\u003c/code\u003e\u003c/a\u003e Pyright NPM Package update to 1.1.406 (\u003ca href=\"https://redirect.github.com/RobertCraigie/pyright-python/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RobertCraigie/pyright-python/compare/v1.1.405...v1.1.407\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anyio` from 4.8.0 to 4.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/anyio/releases\"\u003eanyio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for cancellation reasons (the \u003ccode\u003ereason\u003c/code\u003e parameter to \u003ccode\u003eCancelScope.cancel()\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBumped the minimum version of Trio to v0.31.0\u003c/li\u003e\n\u003cli\u003eAdded the ability to enter the event loop from foreign (non-worker) threads by passing the return value of \u003ccode\u003eanyio.lowlevel.current_token()\u003c/code\u003e to \u003ccode\u003eanyio.from_thread.run()\u003c/code\u003e and \u003ccode\u003eanyio.from_thread.run_sync()\u003c/code\u003e as the \u003ccode\u003etoken\u003c/code\u003e keyword argument (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/256\"\u003e#256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded pytest option (\u003ccode\u003eanyio_mode = \u0026quot;auto\u0026quot;\u003c/code\u003e) to make the pytest plugin automatically handle all async tests (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the \u003ccode\u003eanyio.Condition.wait_for()\u003c/code\u003e method for feature parity with asyncio (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged the default type argument of \u003ccode\u003eanyio.abc.TaskStatus\u003c/code\u003e from \u003ccode\u003eAny\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/964\"\u003e#964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed TCP listener behavior to guarantee the same ephemeral port is used for all socket listeners when \u003ccode\u003elocal_port=0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/857\"\u003e#857\u003c/a\u003e; PR by \u003ca href=\"https://github.com/11kkw\"\u003e\u003ccode\u003e@​11kkw\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/agronholm\"\u003e\u003ccode\u003e@​agronholm\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed inconsistency between Trio and asyncio where a TCP stream that previously raised a \u003ccode\u003eBrokenResourceError\u003c/code\u003e on \u003ccode\u003esend()\u003c/code\u003e would still raise \u003ccode\u003eBrokenResourceError\u003c/code\u003e after the stream was closed on asyncio, but \u003ccode\u003eClosedResourceError\u003c/code\u003e on Trio. They now both raise a \u003ccode\u003eClosedResourceError\u003c/code\u003e in this scenario. (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the \u003ccode\u003efeed_data()\u003c/code\u003e method to the \u003ccode\u003eBufferedByteReceiveStream\u003c/code\u003e class, allowing users to inject data directly into the buffer\u003c/li\u003e\n\u003cli\u003eAdded various class methods to wrap existing sockets as listeners or socket streams:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSoc...\n\n_Description has been truncated_","html_url":"https://github.com/MinBZK/amt/pull/615","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MinBZK%2Famt/issues/615","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/615/packages"}},{"old_version":"0.22.0","new_version":"0.35.0","update_type":"minor","path":null,"pr_created_at":"2025-10-26T20:33:43.000Z","version_change":"0.22.0 → 0.35.0","issue":{"uuid":"3554422167","node_id":"PR_kwDOQJopcs6vxKru","number":6,"state":"open","title":"deps(deps): bump validators from 0.22.0 to 0.35.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":"2025-10-26T20:33:43.000Z","updated_at":"2025-10-26T20:33:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps)","packages":[{"name":"validators","old_version":"0.22.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"}],"path":null,"ecosystem":"pip"},"body":"Bumps [validators](https://github.com/python-validators/validators) from 0.22.0 to 0.35.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/releases\"\u003evalidators's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\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/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003epython-validators/validators#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003epython-validators/validators#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003epython-validators/validators#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003epython-validators/validators#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003epython-validators/validators#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003epython-validators/validators#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003epython-validators/validators#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003epython-validators/validators#415\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.34.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eNo breaking changes were introduced in this version.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat: cache IANA TLDs for faster lookups by \u003ca href=\"https://github.com/salty-horse\"\u003e\u003ccode\u003e@​salty-horse\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/390\"\u003e#390\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore: update dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/394\"\u003e#394\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/blob/master/CHANGES.md\"\u003evalidators's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0 (2025-05-01)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.34.0 (2024-09-03)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eNo breaking changes were introduced in this version.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat: cache IANA TLDs for faster lookups by \u003ca href=\"https://github.com/salty-horse\"\u003e\u003ccode\u003e@​salty-horse\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/390\"\u003e#390\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore: update dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/394\"\u003e#394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: adds configuration info by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/395\"\u003e#395\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.33.0...0.34.0\"\u003e\u003ccode\u003e0.33.0...0.34.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.33.0 (2024-07-15)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/75788ed9e116fe3bf1bb9699f1696e7f7e132067\"\u003e\u003ccode\u003e75788ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/425\"\u003e#425\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/0b1799cdb431e708aff6b1b59e4430bd0828a70b\"\u003e\u003ccode\u003e0b1799c\u003c/code\u003e\u003c/a\u003e chore: updates changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/de4948f45fc4d79abec2da3b8586f6b271c5d723\"\u003e\u003ccode\u003ede4948f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/424\"\u003e#424\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/6d8a1abcdf2d92e113b1707bbf372bde4d48e3a5\"\u003e\u003ccode\u003e6d8a1ab\u003c/code\u003e\u003c/a\u003e chore: prepare for new release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/8691cead510052aae88f22776b9d6fbe1cf55351\"\u003e\u003ccode\u003e8691cea\u003c/code\u003e\u003c/a\u003e chore: formatting; sync dependencies (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/422\"\u003e#422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/bafe62e757bd99526129f8dffcfc9795817d08d8\"\u003e\u003ccode\u003ebafe62e\u003c/code\u003e\u003c/a\u003e feat: add Mir card validation support (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/7c97eca2990f6d42e27f0f211475eb0d4809de59\"\u003e\u003ccode\u003e7c97eca\u003c/code\u003e\u003c/a\u003e Fix: Allow Special DOI Cases Used in Public Administration Tests (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/415\"\u003e#415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/b2510d1c5f7ef81cdf9fa90d2548ebd826e4e734\"\u003e\u003ccode\u003eb2510d1\u003c/code\u003e\u003c/a\u003e feat: adds \u003ccode\u003edoctest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/f7742c55b680036116a7f61e140476ffd4774ccb\"\u003e\u003ccode\u003ef7742c5\u003c/code\u003e\u003c/a\u003e Refactor API: remove print from ru_inn, update description, and expose via __...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/d6241fc31f6b46bf81283c6ab3cae07c370fc1f6\"\u003e\u003ccode\u003ed6241fc\u003c/code\u003e\u003c/a\u003e fix(uri): remove \u0026quot;mailto:\u0026quot; prefix manually (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/418\"\u003e#418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-validators/validators/compare/0.22.0...0.35.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=validators\u0026package-manager=pip\u0026previous-version=0.22.0\u0026new-version=0.35.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/dimelab/issue_observatory_search/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimelab%2Fissue_observatory_search/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"}},{"old_version":"0.22.0","new_version":"0.35.0","update_type":"minor","path":"/apps/backend","pr_created_at":"2025-10-20T00:58:54.000Z","version_change":"0.22.0 → 0.35.0","issue":{"uuid":"3530660505","node_id":"PR_kwDOPTwklM6uib7C","number":268,"state":"open","title":"chore(deps)(deps): bump the python-dependencies group in /apps/backend with 32 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":["AnalineS"],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-20T00:58:54.000Z","updated_at":"2025-11-06T02:02:35.017Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"python-dependencies","update_count":32,"packages":[{"name":"flask","old_version":"3.1.0","new_version":"3.1.2","repository_url":"https://github.com/pallets/flask"},{"name":"openai","old_version":"1.55.3","new_version":"1.109.1","repository_url":"https://github.com/openai/openai-python"},{"name":"sentence-transformers","old_version":"5.1.0","new_version":"5.1.1","repository_url":"https://github.com/UKPLab/sentence-transformers"},{"name":"numpy","old_version":"2.0.2","new_version":"2.3.4","repository_url":"https://github.com/numpy/numpy"},{"name":"torch","old_version":"2.8.0","new_version":"2.9.0","repository_url":"https://github.com/pytorch/pytorch"},{"name":"scikit-learn","old_version":"1.6.1","new_version":"1.7.2","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"authlib","old_version":"1.6.4","new_version":"1.6.5","repository_url":"https://github.com/authlib/authlib"},{"name":"cryptography","old_version":"46.0.1","new_version":"46.0.3","repository_url":"https://github.com/pyca/cryptography"},{"name":"fastapi","old_version":"0.118.6","new_version":"0.119.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"starlette","old_version":"0.40.0","new_version":"0.48.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"flask-limiter","old_version":"3.5.0","new_version":"3.12","repository_url":"https://github.com/alisaifee/flask-limiter"},{"name":"validators","old_version":"0.22.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"pydantic","old_version":"2.10.3","new_version":"2.12.3","repository_url":"https://github.com/pydantic/pydantic"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"certifi","old_version":"2025.8.3","new_version":"2025.10.5","repository_url":"https://github.com/certifi/python-certifi"},{"name":"psutil","old_version":"5.9.6","new_version":"5.9.8","repository_url":"https://github.com/giampaolo/psutil"},{"name":"google-cloud-monitoring","old_version":"2.27.2","new_version":"2.28.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-cloud-logging","old_version":"3.10.0","new_version":"3.12.1","repository_url":"https://github.com/googleapis/python-logging"},{"name":"nltk","old_version":"3.9.1","new_version":"3.9.2","repository_url":"https://github.com/nltk/nltk"},{"name":"opencv-python","old_version":"4.10.0.84","new_version":"4.12.0.88","repository_url":"https://github.com/opencv/opencv-python"},{"name":"pytesseract","old_version":"0.3.10","new_version":"0.3.13","repository_url":"https://github.com/madmaze/pytesseract"},{"name":"easyocr","old_version":"1.7.1","new_version":"1.7.2","repository_url":"https://github.com/jaidedai/easyocr"},{"name":"scipy","old_version":"1.14.0","new_version":"1.16.2","repository_url":"https://github.com/scipy/scipy"},{"name":"supabase","old_version":"2.18.1","new_version":"2.22.0","repository_url":"https://github.com/supabase/supabase-py"},{"name":"psycopg2-binary","old_version":"2.9.9","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.1.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"typing-extensions","old_version":"4.12.2","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"pytest","old_version":"7.4.3","new_version":"7.4.4","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-mock","old_version":"3.12.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"celery","old_version":"5.3.4","new_version":"5.5.3","repository_url":"https://github.com/celery/celery"},{"name":"torchvision","old_version":"0.23.0","new_version":"0.24.0","repository_url":"https://github.com/pytorch/vision"}],"path":"/apps/backend","ecosystem":"pip"},"body":"Bumps the python-dependencies group in /apps/backend with 32 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `3.1.0` | `3.1.2` |\n| [openai](https://github.com/openai/openai-python) | `1.55.3` | `1.109.1` |\n| [sentence-transformers](https://github.com/UKPLab/sentence-transformers) | `5.1.0` | `5.1.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.0.2` | `2.3.4` |\n| [torch](https://github.com/pytorch/pytorch) | `2.8.0` | `2.9.0` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.1` | `1.7.2` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.4` | `1.6.5` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.1` | `46.0.3` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.118.6` | `0.119.0` |\n| [starlette](https://github.com/Kludex/starlette) | `0.40.0` | `0.48.0` |\n| [flask-limiter](https://github.com/alisaifee/flask-limiter) | `3.5.0` | `3.12` |\n| [validators](https://github.com/python-validators/validators) | `0.22.0` | `0.35.0` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.10.3` | `2.12.3` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.8.3` | `2025.10.5` |\n| [psutil](https://github.com/giampaolo/psutil) | `5.9.6` | `5.9.8` |\n| [google-cloud-monitoring](https://github.com/googleapis/google-cloud-python) | `2.27.2` | `2.28.0` |\n| [google-cloud-logging](https://github.com/googleapis/python-logging) | `3.10.0` | `3.12.1` |\n| [nltk](https://github.com/nltk/nltk) | `3.9.1` | `3.9.2` |\n| [opencv-python](https://github.com/opencv/opencv-python) | `4.10.0.84` | `4.12.0.88` |\n| [pytesseract](https://github.com/madmaze/pytesseract) | `0.3.10` | `0.3.13` |\n| [easyocr](https://github.com/jaidedai/easyocr) | `1.7.1` | `1.7.2` |\n| [scipy](https://github.com/scipy/scipy) | `1.14.0` | `1.16.2` |\n| [supabase](https://github.com/supabase/supabase-py) | `2.18.1` | `2.22.0` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.9` | `2.9.11` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.1.1` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.12.2` | `4.15.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `7.4.3` | `7.4.4` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.12.0` | `3.15.1` |\n| [celery](https://github.com/celery/celery) | `5.3.4` | `5.5.3` |\n| [torchvision](https://github.com/pytorch/vision) | `0.23.0` | `0.24.0` |\n\nUpdates `flask` from 3.1.0 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/2c1b30d0503cfb064f1cb252e6614a06915a362a\"\u003e\u003ccode\u003e2c1b30d\u003c/code\u003e\u003c/a\u003e release version 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/1292419ddfc6a14fc7f85b5ed7efcc2d215f1ad3\"\u003e\u003ccode\u003e1292419\u003c/code\u003e\u003c/a\u003e Update GitHub Actions workflow for artifact handling (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5795\"\u003e#5795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4dd52ca9c768c9b6d04180f0547d6f4b6e34f211\"\u003e\u003ccode\u003e4dd52ca\u003c/code\u003e\u003c/a\u003e Update GitHub Actions workflow for artifact handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/55c62556571ee46a94da174643b50ece06edead4\"\u003e\u003ccode\u003e55c6255\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/d8259eb11900285af9b80b0fa47f841174c054e3\"\u003e\u003ccode\u003ed8259eb\u003c/code\u003e\u003c/a\u003e use Jinja name consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/38b4c1e19b50494cfcdc9332899e09b7fed34979\"\u003e\u003ccode\u003e38b4c1e\u003c/code\u003e\u003c/a\u003e refactor stream_with_context for async views (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5799\"\u003e#5799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/9822a0351574790cb66c652fcc396ad7aa2b09d8\"\u003e\u003ccode\u003e9822a03\u003c/code\u003e\u003c/a\u003e refactor stream_with_context for async views\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/49b7e7bc8fb69d605719991d1c0a99fcee689053\"\u003e\u003ccode\u003e49b7e7b\u003c/code\u003e\u003c/a\u003e security docs for TRUSTED_HOSTS (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5798\"\u003e#5798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/b228ca3d87745b746d904a2108429617a814ffda\"\u003e\u003ccode\u003eb228ca3\u003c/code\u003e\u003c/a\u003e security docs for TRUSTED_HOSTS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ff64079a516c269f171ababf3d92b86886a62ffd\"\u003e\u003ccode\u003eff64079\u003c/code\u003e\u003c/a\u003e update flask-talisman link\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.1.0...3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 1.55.3 to 1.109.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.109.1\u003c/h2\u003e\n\u003ch2\u003e1.109.1 (2025-09-24)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v1.109.0...v1.109.1\"\u003ev1.109.0...v1.109.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecompat:\u003c/strong\u003e compat with \u003ccode\u003epydantic\u0026amp;lt;2.8.0\u003c/code\u003e when using additional fields (\u003ca href=\"https://github.com/openai/openai-python/commit/5d95ecf7abd65f3e4e273be14c80f9b4cd91ffe8\"\u003e5d95ecf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.109.0\u003c/h2\u003e\n\u003ch2\u003e1.109.0 (2025-09-23)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v1.108.2...v1.109.0\"\u003ev1.108.2...v1.109.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e gpt-5-codex (\u003ca href=\"https://github.com/openai/openai-python/commit/34502b5a175f8a10ea8694fcea38fe7308de89ef\"\u003e34502b5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.108.2\u003c/h2\u003e\n\u003ch2\u003e1.108.2 (2025-09-22)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v1.108.1...v1.108.2\"\u003ev1.108.1...v1.108.2\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e fix mcp tool name (\u003ca href=\"https://github.com/openai/openai-python/commit/fd1c673fa8d5581b38c69c37aa4fd1fd251259a2\"\u003efd1c673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e openapi updates for conversations (\u003ca href=\"https://github.com/openai/openai-python/commit/3224f6f9b4221b954a8f63de66bcaab389164ee5\"\u003e3224f6f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not install brew dependencies in ./scripts/bootstrap by default (\u003ca href=\"https://github.com/openai/openai-python/commit/6764b00bcb8aeab41e73d2fcaf6c7a18ea9f7909\"\u003e6764b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove example values (\u003ca href=\"https://github.com/openai/openai-python/commit/20b58e164f9f28b9fc562968263fa3eacc6f5c7c\"\u003e20b58e1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.108.1\u003c/h2\u003e\n\u003ch2\u003e1.108.1 (2025-09-19)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v1.108.0...v1.108.1\"\u003ev1.108.0...v1.108.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add reasoning_text (\u003ca href=\"https://github.com/openai/openai-python/commit/18d8e12061d1fd4e09d24986ff6e38c5063013e9\"\u003e18d8e12\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypes:\u003c/strong\u003e change optional parameter type from NotGiven to Omit (\u003ca href=\"https://github.com/openai/openai-python/commit/acc190a29526e64db6074e7f21aca800423c128c\"\u003eacc190a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.108.0\u003c/h2\u003e\n\u003ch2\u003e1.108.0 (2025-09-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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.109.1 (2025-09-24)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v1.109.0...v1.109.1\"\u003ev1.109.0...v1.109.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecompat:\u003c/strong\u003e compat with \u003ccode\u003epydantic\u0026amp;lt;2.8.0\u003c/code\u003e when using additional fields (\u003ca href=\"https://github.com/openai/openai-python/commit/5d95ecf7abd65f3e4e273be14c80f9b4cd91ffe8\"\u003e5d95ecf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.109.0 (2025-09-23)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v1.108.2...v1.109.0\"\u003ev1.108.2...v1.109.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e gpt-5-codex (\u003ca href=\"https://github.com/openai/openai-python/commit/34502b5a175f8a10ea8694fcea38fe7308de89ef\"\u003e34502b5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.108.2 (2025-09-22)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v1.108.1...v1.108.2\"\u003ev1.108.1...v1.108.2\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e fix mcp tool name (\u003ca href=\"https://github.com/openai/openai-python/commit/fd1c673fa8d5581b38c69c37aa4fd1fd251259a2\"\u003efd1c673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e openapi updates for conversations (\u003ca href=\"https://github.com/openai/openai-python/commit/3224f6f9b4221b954a8f63de66bcaab389164ee5\"\u003e3224f6f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not install brew dependencies in ./scripts/bootstrap by default (\u003ca href=\"https://github.com/openai/openai-python/commit/6764b00bcb8aeab41e73d2fcaf6c7a18ea9f7909\"\u003e6764b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove example values (\u003ca href=\"https://github.com/openai/openai-python/commit/20b58e164f9f28b9fc562968263fa3eacc6f5c7c\"\u003e20b58e1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.108.1 (2025-09-19)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v1.108.0...v1.108.1\"\u003ev1.108.0...v1.108.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add reasoning_text (\u003ca href=\"https://github.com/openai/openai-python/commit/18d8e12061d1fd4e09d24986ff6e38c5063013e9\"\u003e18d8e12\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypes:\u003c/strong\u003e change optional parameter type from NotGiven to Omit (\u003ca href=\"https://github.com/openai/openai-python/commit/acc190a29526e64db6074e7f21aca800423c128c\"\u003eacc190a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.108.0 (2025-09-17)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v1.107.3...v1.108.0\"\u003ev1.107.3...v1.108.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\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/openai/openai-python/commit/a1493f92a7cd4399d57046aadc943aeadda5b8e7\"\u003e\u003ccode\u003ea1493f9\u003c/code\u003e\u003c/a\u003e release: 1.109.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/edb8e106bf41937e1da9644250945665bc7a4caa\"\u003e\u003ccode\u003eedb8e10\u003c/code\u003e\u003c/a\u003e fix(compat): compat with \u003ccode\u003epydantic\u0026lt;2.8.0\u003c/code\u003e when using additional fields\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/9c4b995682f664c629d681c975496a99c793c06d\"\u003e\u003ccode\u003e9c4b995\u003c/code\u003e\u003c/a\u003e release: 1.109.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/c523e639bb0b041562aa2a1b511ddf032e4a719a\"\u003e\u003ccode\u003ec523e63\u003c/code\u003e\u003c/a\u003e feat(api): gpt-5-codex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/02af9aacd14805cbca21078d32a311758360f134\"\u003e\u003ccode\u003e02af9aa\u003c/code\u003e\u003c/a\u003e release: 1.108.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/58add648f119140bf108931371e0811601e977c3\"\u003e\u003ccode\u003e58add64\u003c/code\u003e\u003c/a\u003e chore(api): openapi updates for conversations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/3a3cabb7e140f0a462e4e3aa4f9f2902bb7a2a92\"\u003e\u003ccode\u003e3a3cabb\u003c/code\u003e\u003c/a\u003e chore: improve example values\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/bfed4af9be93e911111299c34da1baf324cbea99\"\u003e\u003ccode\u003ebfed4af\u003c/code\u003e\u003c/a\u003e fix(api): fix mcp tool name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/9272e61afa41b1e8223fdccc4935f55e7b72d11b\"\u003e\u003ccode\u003e9272e61\u003c/code\u003e\u003c/a\u003e chore: do not install brew dependencies in ./scripts/bootstrap by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/71dedfad6716c241744d3bd856370e8c59e75500\"\u003e\u003ccode\u003e71dedfa\u003c/code\u003e\u003c/a\u003e release: 1.108.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v1.55.3...v1.109.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentence-transformers` from 5.1.0 to 5.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/UKPLab/sentence-transformers/releases\"\u003esentence-transformers's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.1.1 - Explicit incorrect arguments, fixes for multi-GPU, evaluator, and hard negative\u003c/h2\u003e\n\u003cp\u003eThis patch makes Sentence Transformers more explicit with incorrect arguments and introduces some fixes for multi-GPU processing, evaluators, and hard negatives mining.\u003c/p\u003e\n\u003cp\u003eInstall this version with\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# Training + Inference\npip install sentence-transformers[train]==5.1.1\n\u003ch1\u003eInference only, use one of:\u003c/h1\u003e\n\u003cp\u003epip install sentence-transformers==5.1.1\npip install sentence-transformers[onnx-gpu]==5.1.1\npip install sentence-transformers[onnx]==5.1.1\npip install sentence-transformers[openvino]==5.1.1\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003eError if unused kwargs is passed \u0026amp; \u003ccode\u003eget_model_kwargs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/UKPLab/sentence-transformers/issues/3500\"\u003e#3500\u003c/a\u003e)\u003c/h2\u003e\n\u003cp\u003eSome SentenceTransformer or SparseEncoder models support custom model-specific keyword arguments, such as \u003ca href=\"https://huggingface.co/jinaai/jina-embeddings-v4\"\u003ejinaai/jina-embeddings-v4\u003c/a\u003e. As of this release, calling \u003ccode\u003emodel.encode\u003c/code\u003e with keyword arguments that aren't used by the model will result in an error.\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e\u0026gt;\u0026gt;\u0026gt; from sentence_transformers import SentenceTransformer\n\u0026gt;\u0026gt;\u0026gt; model = SentenceTransformer(\u0026quot;all-MiniLM-L6-v2\u0026quot;)\n\u0026gt;\u0026gt;\u0026gt; model.encode(\u0026quot;Who is Amelia Earhart?\u0026quot;, normalize=True)\nTraceback (most recent call last):\n  File \u0026quot;\u0026lt;stdin\u0026gt;\u0026quot;, line 1, in \u0026lt;module\u0026gt;\n  File \u0026quot;[sic]/torch/utils/_contextlib.py\u0026quot;, line 116, in decorate_context\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \u0026quot;[sic]/SentenceTransformer.py\u0026quot;, line 983, in encode\n    raise ValueError(\nValueError: SentenceTransformer.encode() has been called with additional keyword arguments that this model does not use: ['normalize']. As per SentenceTransformer.get_model_kwargs(), this model does not accept any additional keyword arguments.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eQuite useful when you, for example, accidentally forget that the parameter to get normalized embeddings is \u003ccode\u003enormalize_embeddings\u003c/code\u003e. Prior to this version, this parameter would simply quietly be ignored.\u003c/p\u003e\n\u003cp\u003eTo check which custom extra keyword arguments may be used for your model, you can call the new \u003ccode\u003eget_model_kwargs\u003c/code\u003e method:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e\u0026gt;\u0026gt;\u0026gt; from sentence_transformers import SentenceTransformer, SparseEncoder\n\u0026gt;\u0026gt;\u0026gt; SentenceTransformer(\u0026quot;all-MiniLM-L6-v2\u0026quot;).get_model_kwargs()\n[]\n\u0026gt;\u0026gt;\u0026gt; SentenceTransformer(\u0026quot;jinaai/jina-embeddings-v4\u0026quot;, trust_remote_code=True).get_model_kwargs()\n['task', 'truncate_dim']\n\u0026gt;\u0026gt;\u0026gt; SparseEncoder(\u0026quot;opensearch-project/opensearch-neural-sparse-encoding-doc-v3-distill\u0026quot;).get_model_kwargs()\n['task']\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e You can always pass the \u003ccode\u003etask\u003c/code\u003e parameter, it's the only model-specific parameter that will be quietly ignored. This means that you can always use \u003ccode\u003emodel.encode(..., task=\u0026quot;query\u0026quot;)\u003c/code\u003e and \u003ccode\u003emodel.encode(..., task=\u0026quot;document\u0026quot;)\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003eMinor 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/UKPLab/sentence-transformers/commit/22ff509464b431f6f084b48ae58bfc3fc8210e4e\"\u003e\u003ccode\u003e22ff509\u003c/code\u003e\u003c/a\u003e Release v5.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/UKPLab/sentence-transformers/commit/5ad8a44ee4b24f3e2ef9b3db77d6ecc54d51e1ac\"\u003e\u003ccode\u003e5ad8a44\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into v5.1-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/UKPLab/sentence-transformers/commit/1def8d3d6289e72bfa6a6a48592b1342053e6ff2\"\u003e\u003ccode\u003e1def8d3\u003c/code\u003e\u003c/a\u003e Fix the number of missing negatives in mine_hard_negatives (\u003ca href=\"https://redirect.github.com/UKPLab/sentence-transformers/issues/3504\"\u003e#3504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/UKPLab/sentence-transformers/commit/2e077fb3b033b394bcc82781397c5e54c560754c\"\u003e\u003ccode\u003e2e077fb\u003c/code\u003e\u003c/a\u003e fix: add makedirs to informationretrievalevaluator (\u003ca href=\"https://redirect.github.com/UKPLab/sentence-transformers/issues/3516\"\u003e#3516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/UKPLab/sentence-transformers/commit/20c48207f36e81a993fdce872911bf37b97bf18d\"\u003e\u003ccode\u003e20c4820\u003c/code\u003e\u003c/a\u003e Fix:Import SentenceTransformer class explicitly in losses module (\u003ca href=\"https://redirect.github.com/UKPLab/sentence-transformers/issues/3521\"\u003e#3521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/UKPLab/sentence-transformers/commit/7240b334b7aa068f298693764a7cd0a0afb9ed24\"\u003e\u003ccode\u003e7240b33\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003efeat\u003c/code\u003e] add get_model_kwargs method; throw error if unused kwarg is passed (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/UKPLab/sentence-transformers/commit/560cc336b1c483da2c8994312c6e1e7b824f9792\"\u003e\u003ccode\u003e560cc33\u003c/code\u003e\u003c/a\u003e always pass \u003ccode\u003einput_ids\u003c/code\u003e, \u003ccode\u003eattention_mask\u003c/code\u003e, \u003ccode\u003etoken_type_ids\u003c/code\u003e, \u003ccode\u003einputs_embeds\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/UKPLab/sentence-transformers/commit/bd91098bd6f84fb2fd29a4954abc65d175d912b1\"\u003e\u003ccode\u003ebd91098\u003c/code\u003e\u003c/a\u003e Update rasyosef/splade-mini MSMARCO and BEIR-13 benchmark scores in pretraine...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/UKPLab/sentence-transformers/commit/ad8d27de4520b814b2526afcd69f427f2365eb0b\"\u003e\u003ccode\u003ead8d27d\u003c/code\u003e\u003c/a\u003e Add Support for Knowledgeable Passage Retriever (KPR) (\u003ca href=\"https://redirect.github.com/UKPLab/sentence-transformers/issues/3495\"\u003e#3495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/UKPLab/sentence-transformers/commit/5b18f3672c0f3eb5617451b12b2d3fcafd08e043\"\u003e\u003ccode\u003e5b18f36\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003efeat\u003c/code\u003e] Use encode_document and encode_query in mine_hard_negatives (\u003ca href=\"https://redirect.github.com/UKPLab/sentence-transformers/issues/3502\"\u003e#3502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/UKPLab/sentence-transformers/compare/v5.1.0...v5.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.0.2 to 2.3.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\u003ev2.3.4 (Oct 15,  2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.3.4 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.3.4 release is a patch release split between a number of maintenance\nupdates and bug fixes. This release supports Python versions 3.11-3.14. This\nrelease is based on Python 3.14.0 final.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eThe \u003ccode\u003enpymath\u003c/code\u003e and \u003ccode\u003enpyrandom\u003c/code\u003e libraries now have a \u003ccode\u003e.lib\u003c/code\u003e rather than a\n\u003ccode\u003e.a\u003c/code\u003e file extension on win-arm64, for compatibility for building with MSVC and\n\u003ccode\u003esetuptools\u003c/code\u003e. Please note that using these static libraries is discouraged\nand for existing projects using it, it's best to use it with a matching\ncompiler toolchain, which is \u003ccode\u003eclang-cl\u003c/code\u003e on Windows on Arm.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29750\"\u003egh-29750\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 17 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\u003e!DWesl\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eChristian Barbia +\u003c/li\u003e\n\u003cli\u003eEvgeni Burovski\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMaaz +\u003c/li\u003e\n\u003cli\u003eMateusz Sokół\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eRiku Sakamoto +\u003c/li\u003e\n\u003cli\u003eSandeep Gupta +\u003c/li\u003e\n\u003cli\u003eSayed Awad\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eSergey Fedorov +\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003cli\u003edependabot[bot]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 30 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/29725\"\u003e#29725\u003c/a\u003e: MAINT: Prepare 2.3.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29781\"\u003e#29781\u003c/a\u003e: MAINT: Pin some upstream dependences\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29782\"\u003e#29782\u003c/a\u003e: BLD: enable x86-simd-sort to build on KNL with -mavx512f\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29783\"\u003e#29783\u003c/a\u003e: BUG: Include python-including headers first (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29281\"\u003e#29281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29784\"\u003e#29784\u003c/a\u003e: TYP: fix np.number and np.*integer method declaration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29785\"\u003e#29785\u003c/a\u003e: TYP: mypy 1.18.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/1458b9e79d1a5755eae9adcb346758f449b6b430\"\u003e\u003ccode\u003e1458b9e\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.3.4 release (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29955\"\u003e#29955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7583bed3577d8b5e7e74a24a6337d530b045f0bc\"\u003e\u003ccode\u003e7583bed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29950\"\u003e#29950\u003c/a\u003e from charris/backport-29885\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/318675152646f184a24da3f9b8742de202c99bfb\"\u003e\u003ccode\u003e3186751\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29949\"\u003e#29949\u003c/a\u003e from charris/backport-29948\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7fd2ad9eff9cb04bcea5e2b6f89e8870329c5c93\"\u003e\u003ccode\u003e7fd2ad9\u003c/code\u003e\u003c/a\u003e STY: rename \u003ccode\u003e@classmethod\u003c/code\u003e arg to \u003ccode\u003ecls\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/fe8447d7aefe7c63ab37d426e6d725e857fb45f7\"\u003e\u003ccode\u003efe8447d\u003c/code\u003e\u003c/a\u003e MAINT: Simplify string arena growth strategy (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29885\"\u003e#29885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a90f073415846b378ab166b5a2f9acf87876853b\"\u003e\u003ccode\u003ea90f073\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29940\"\u003e#29940\u003c/a\u003e from charris/backport-29937\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/55d91abd9564835cc0e0dcc92d84b25dcfaff1d9\"\u003e\u003ccode\u003e55d91ab\u003c/code\u003e\u003c/a\u003e MAINT: Bump pypa/cibuildwheel from 3.1.4 to 3.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/e2f038314bb736930f74c127eed8843d29f59c55\"\u003e\u003ccode\u003ee2f0383\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29926\"\u003e#29926\u003c/a\u003e from charris/backport-29609\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b427e83710abd344168f156ab212a8d19f0d2185\"\u003e\u003ccode\u003eb427e83\u003c/code\u003e\u003c/a\u003e BUG: fix negative samples generated by Wald distribution (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29609\"\u003e#29609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/36363d6534eb9e786f998a56ccc59f0ba1bc1efe\"\u003e\u003ccode\u003e36363d6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29922\"\u003e#29922\u003c/a\u003e from charris/backport-29914\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.0.2...v2.3.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `torch` from 2.8.0 to 2.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytorch/pytorch/releases\"\u003etorch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9 Release Notes\u003c/h2\u003e\n\u003ch1\u003ePyTorch 2.9.0 Release Notes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#highlights\"\u003eHighlights\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#backwards-incompatible-changes\"\u003eBackwards Incompatible Changes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#deprecations\"\u003eDeprecations\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#new-features\"\u003eNew Features\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#improvements\"\u003eImprovements\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#bug-fixes\"\u003eBug fixes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#performance\"\u003ePerformance\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#documentation\"\u003eDocumentation\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#developers\"\u003eDevelopers\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/blob/HEAD/#security\"\u003eSecurity\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eFor more details about these highlighted features, you can look at the \u003ca href=\"https://pytorch.org/blog/pytorch-2-9/\"\u003erelease blogpost\u003c/a\u003e. Below are the full release notes for this release.\u003c/p\u003e\n\u003ch1\u003eBackwards Incompatible Changes\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/pytorch/pytorch/commit/0fabc3ba44823f257e70ce397d989c8de5e362c1\"\u003e\u003ccode\u003e0fabc3b\u003c/code\u003e\u003c/a\u003e CUDA aarch64 12.6 and 12.8 builds fix triton constraints (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/issues/165022\"\u003e#165022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/commit/26e023a973cc3e70f0248957c96e9e1f9d593858\"\u003e\u003ccode\u003e26e023a\u003c/code\u003e\u003c/a\u003e [MPS] Update OS version in error message (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/issues/164949\"\u003e#164949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/commit/6f12be27709abe4e5365ec94376cb7529e219692\"\u003e\u003ccode\u003e6f12be2\u003c/code\u003e\u003c/a\u003e CUDA 13.0 builds fix on Amazon Linux 2023 (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/issues/164893\"\u003e#164893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/commit/42f0c2c970728d8933489ac247c6e091d9070ed3\"\u003e\u003ccode\u003e42f0c2c\u003c/code\u003e\u003c/a\u003e update the baseline data for the operator benchmark (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/issues/164789\"\u003e#164789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/commit/b015422da1fd2aa3186a88cf3ed1d2cb77c4374d\"\u003e\u003ccode\u003eb015422\u003c/code\u003e\u003c/a\u003e fix cpp extension distributed warning spew (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/issues/164785\"\u003e#164785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/commit/d4c43070320e8892fa2965e1805db445ea4d4274\"\u003e\u003ccode\u003ed4c4307\u003c/code\u003e\u003c/a\u003e Fix docker build issue after 164575 (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/issues/164779\"\u003e#164779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/commit/3b57315b1bc85d4928ea385e6afd7e60eac99b2e\"\u003e\u003ccode\u003e3b57315\u003c/code\u003e\u003c/a\u003e [ROCm] Increase binary build timeout to 5 hours (300 minutes) (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/issues/164770\"\u003e#164770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/commit/c74f05797d171b6d80488ac015e9dd0c73409220\"\u003e\u003ccode\u003ec74f057\u003c/code\u003e\u003c/a\u003e Pin conda version for Docker builds (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/issues/164579\"\u003e#164579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/commit/fd364580a94079854f2f32d463c118afaefe62e0\"\u003e\u003ccode\u003efd36458\u003c/code\u003e\u003c/a\u003e [Cherry-Pick] Work Around exposing statically linked libstdc++ CXX11 ABI stro...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytorch/pytorch/commit/2f6387e9a1c7f65faaff938e67d9e2041e3b1e84\"\u003e\u003ccode\u003e2f6387e\u003c/code\u003e\u003c/a\u003e [CherrryPick][2.9] Cherry pick request for `Reapply \u0026quot;Make functionalization V...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytorch/pytorch/compare/v2.8.0...v2.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scikit-learn` from 1.6.1 to 1.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scikit-learn/scikit-learn/releases\"\u003escikit-learn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eScikit-learn 1.7.2\u003c/h2\u003e\n\u003cp\u003eWe're happy to announce the 1.7.2 release.\u003c/p\u003e\n\u003cp\u003eThis release contains a few bug fixes and is the first version supporting Python 3.14.\u003c/p\u003e\n\u003cp\u003eYou can see the changelog here: \u003ca href=\"https://scikit-learn.org/stable/whats_new/v1.7.html#version-1-7-2\"\u003ehttps://scikit-learn.org/stable/whats_new/v1.7.html#version-1-7-2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eYou can upgrade with pip as usual:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epip install -U scikit-learn\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe conda-forge builds can be installed using:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge scikit-learn\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThanks to everyone who contributed to this release !\u003c/p\u003e\n\u003ch2\u003eScikit-learn 1.7.1\u003c/h2\u003e\n\u003cp\u003eWe're happy to announce the 1.7.1 release.\u003c/p\u003e\n\u003cp\u003eThis release contains fixes for a few regressions introduced in 1.7.\u003c/p\u003e\n\u003cp\u003eYou can see the changelog here: \u003ca href=\"https://scikit-learn.org/stable/whats_new/v1.7.html#version-1-7-1\"\u003ehttps://scikit-learn.org/stable/whats_new/v1.7.html#version-1-7-1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eYou can upgrade with pip as usual:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epip install -U scikit-learn\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe conda-forge builds can be installed using:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge scikit-learn\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThanks to everyone who contributed to this release !\u003c/p\u003e\n\u003ch2\u003eScikit-learn 1.7.0\u003c/h2\u003e\n\u003cp\u003eWe're happy to announce the 1.7.0 release.\u003c/p\u003e\n\u003cp\u003eYou can read the release highlights under \u003ca href=\"https://scikit-learn.org/stable/auto_examples/release_highlights/plot_release_highlights_1_7_0.html\"\u003ehttps://scikit-learn.org/stable/auto_examples/release_highlights/plot_release_highlights_1_7_0.html\u003c/a\u003e and the long version of the change log under \u003ca href=\"https://scikit-learn.org/stable/whats_new/v1.7.html\"\u003ehttps://scikit-learn.org/stable/whats_new/v1.7.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis version supports Python versions 3.10 to 3.13 and features an experimental support of free-threaded CPython.\u003c/p\u003e\n\u003cp\u003eYou can upgrade with pip as usual:\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/scikit-learn/scikit-learn/commit/25dee604bae18205b01548348388baf7a1cdfe0e\"\u003e\u003ccode\u003e25dee60\u003c/code\u003e\u003c/a\u003e missing tag in changelog [cd build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/290b5af5e67e860945b3d226127772d639a463e4\"\u003e\u003ccode\u003e290b5af\u003c/code\u003e\u003c/a\u003e bump upper bounds [cd build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/813681d44126faf03e161c62698fe3ef03a366e4\"\u003e\u003ccode\u003e813681d\u003c/code\u003e\u003c/a\u003e CI Add Python 3.14 nightly wheels (\u003ca href=\"https://redirect.github.com/scikit-learn/scikit-learn/issues/32012\"\u003e#32012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/9cc302d15c453a8601f9fb14e56128d1e26ddb37\"\u003e\u003ccode\u003e9cc302d\u003c/code\u003e\u003c/a\u003e fix changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/65966587913acbdeb2be5650aaff7b9573af1a0d\"\u003e\u003ccode\u003e6596658\u003c/code\u003e\u003c/a\u003e fix changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/da98b43ee637417920f637e0aa6e0df152cbda3e\"\u003e\u003ccode\u003eda98b43\u003c/code\u003e\u003c/a\u003e generate changelog 1.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/f2ff9e85eae2d5c4808ab5c11bec3119b4ebc7d7\"\u003e\u003ccode\u003ef2ff9e8\u003c/code\u003e\u003c/a\u003e set version 1.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/8b41b0fefc78a40e04ea33670be52a9791a95cbd\"\u003e\u003ccode\u003e8b41b0f\u003c/code\u003e\u003c/a\u003e Fix uncomparable values in SimpleImputer tie-breaking strategy (\u003ca href=\"https://redirect.github.com/scikit-learn/scikit-learn/issues/31820\"\u003e#31820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/401f6c407752442e232624c99a63dcd675bc1b6d\"\u003e\u003ccode\u003e401f6c4\u003c/code\u003e\u003c/a\u003e DOC: Fix formatting issues with bold font and \u003ccode\u003e backquote\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/scikit-learn/scikit-learn/issues/31950\"\u003e#31950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scikit-learn/scikit-learn/commit/3d063adf47dc09fa2176871952e6abab0b7327b9\"\u003e\u003ccode\u003e3d063ad\u003c/code\u003e\u003c/a\u003e DOC Clean up \u003ccode\u003eBuilding from source\u003c/code\u003e instructions on macOS (\u003ca href=\"https://redirect.github.com/scikit-learn/scikit-learn/issues/31938\"\u003e#31938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scikit-learn/scikit-learn/compare/1.6.1...1.7.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `authlib` from 1.6.4 to 1.6.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/authlib/authlib/releases\"\u003eauthlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a \u003ccode\u003erequest\u003c/code\u003e param to RFC7591 \u003ccode\u003egenerate_client_info\u003c/code\u003e and \u003ccode\u003egenerate_client_secret\u003c/code\u003e methods by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/825\"\u003eauthlib/authlib#825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: support list params in prepare_grant_uri by \u003ca href=\"https://github.com/lisongmin\"\u003e\u003ccode\u003e@​lisongmin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/827\"\u003eauthlib/authlib#827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump SonarSource/sonarqube-scan-action from 5 to 6 in /.github/workflows by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/828\"\u003eauthlib/authlib#828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(jose): add max size for JWE zip=DEF decompression by \u003ca href=\"https://github.com/lepture\"\u003e\u003ccode\u003e@​lepture\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/830\"\u003eauthlib/authlib#830\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/lisongmin\"\u003e\u003ccode\u003e@​lisongmin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/827\"\u003eauthlib/authlib#827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/828\"\u003eauthlib/authlib#828\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.4...v1.6.5\"\u003ehttps://github.com/authlib/authlib/compare/v1.6.4...v1.6.5\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/authlib/authlib/blob/main/docs/changelog.rst\"\u003eauthlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.6.5\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eReleased on Oct 2, 2025\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRFC7591 \u003ccode\u003egenerate_client_info\u003c/code\u003e and \u003ccode\u003egenerate_client_secret\u003c/code\u003e take a \u003ccode\u003erequest\u003c/code\u003e parameter.\u003c/li\u003e\n\u003cli\u003eAdd size limitation when decode JWS/JWE to prevent DoS.\u003c/li\u003e\n\u003cli\u003eAdd size limitation for \u003ccode\u003eDEF\u003c/code\u003e JWE zip algorithm.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/9ec42561cd1a81b518598d252f8adbcf446f7419\"\u003e\u003ccode\u003e9ec4256\u003c/code\u003e\u003c/a\u003e chore: release 1.6.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/b62b5b27577db038133f7453dacc534d6a3b06a5\"\u003e\u003ccode\u003eb62b5b2\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-GHSA-pq5p-34cr-23v9'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/e0863d5129316b1790eee5f14cece32a03b8184d\"\u003e\u003ccode\u003ee0863d5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/830\"\u003e#830\u003c/a\u003e from authlib/fix-GHSA-g7f3-828f-7h7m\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/867e3f87b072347a1ae9cf6983cc8bbf88447e5e\"\u003e\u003ccode\u003e867e3f8\u003c/code\u003e\u003c/a\u003e fix(jose): add size limitation to prevent DoS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/75ad6d4d625613d9d6cbbb91f5b559e071d8493b\"\u003e\u003ccode\u003e75ad6d4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/828\"\u003e#828\u003c/a\u003e from authlib/dependabot/github_actions/dot-github/wor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/68b982352d9b20c3e859fc3af30308ca9855ef57\"\u003e\u003ccode\u003e68b9823\u003c/code\u003e\u003c/a\u003e chore(deps): bump SonarSource/sonarqube-scan-action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/5bdfc4bfff8380620ed5ec55ba7a06d96cac3365\"\u003e\u003ccode\u003e5bdfc4b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/827\"\u003e#827\u003c/a\u003e from lisongmin/support-list-params-in-prepare-grant-uri\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/30ea3c5f85a9640cd08562db2c6fd9d3e4a9bfef\"\u003e\u003ccode\u003e30ea3c5\u003c/code\u003e\u003c/a\u003e feat: support list params in prepare_grant_uri\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/4b5b5703394608124cd39e547cc7829feda05a13\"\u003e\u003ccode\u003e4b5b570\u003c/code\u003e\u003c/a\u003e fix(jose): add max size for JWE zip=DEF decompression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/6e35a02ecf3c22d27249e6ed9fa07e544314ebe9\"\u003e\u003ccode\u003e6e35a02\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/825\"\u003e#825\u003c/a\u003e from azmeuk/request-params\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.4...v1.6.5\"\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.1 to 46.0.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyca/cryptography/compare/46.0.1...46.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.118.6 to 0.119.0\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.119.0\u003c/h2\u003e\n\u003cp\u003eFastAPI now (temporarily) supports both Pydantic v2 models and \u003ccode\u003epydantic.v1\u003c/code\u003e models at the same time in the same app, to make it easier for any FastAPI apps still using Pydantic v1 to gradually but quickly \u003cstrong\u003emigrate to Pydantic v2\u003c/strong\u003e.\u003c/p\u003e\n\u003cpre lang=\"Python\"\u003e\u003ccode\u003efrom fastapi import FastAPI\nfrom pydantic import BaseModel as BaseModelV2\nfrom pydantic.v1 import BaseModel\n\u003cp\u003eclass Item(BaseModel):\u003cbr /\u003e\nname: str\u003cbr /\u003e\ndescription: str | None = None\u003c/p\u003e\n\u003cp\u003eclass ItemV2(BaseModelV2):\u003cbr /\u003e\ntitle: str\u003cbr /\u003e\nsummary: str | None = None\u003c/p\u003e\n\u003cp\u003eapp = FastAPI()\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/app\"\u003e\u003ccode\u003e@​app\u003c/code\u003e\u003c/a\u003e.post(\u0026quot;/items/\u0026quot;, response_model=ItemV2)\u003cbr /\u003e\ndef create_item(item: Item):\u003cbr /\u003e\nreturn {\u0026quot;title\u0026quot;: item.name, \u0026quot;summary\u0026quot;: item.description}\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eAdding this feature was a big effort with the main objective of making it easier for the few applications still stuck in Pydantic v1 to migrate to Pydantic v2.\u003c/p\u003e\n\u003cp\u003eAnd with this, support for \u003cstrong\u003ePydantic v1 is now deprecated\u003c/strong\u003e and will be \u003cstrong\u003eremoved\u003c/strong\u003e from FastAPI in a future version soon.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote\u003c/strong\u003e: have in mind that the Pydantic team already stopped supporting Pydantic v1 for recent versions of Python, starting with Python 3.14.\u003c/p\u003e\n\u003cp\u003eYou can read in the docs more about how to \u003ca href=\"https://fastapi.tiangolo.com/how-to/migrate-from-pydantic-v1-to-pydantic-v2/\"\u003eMigrate from Pydantic v1 to Pydantic v2\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for \u003ccode\u003efrom pydantic.v1 import BaseModel\u003c/code\u003e, mixed Pydantic v1 and v2 models in the same app. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14168\"\u003e#14168\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\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fastapi/fastapi/commits/0.119.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `starlette` from 0.40.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/starlette/releases\"\u003estarlette'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\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd official Python 3.14 support \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/3013\"\u003e#3013\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement \u003ca href=\"https://www.rfc-editor.org/rfc/rfc9110\"\u003eRFC9110\u003c/a\u003e http status names \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2939\"\u003e#2939\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yakimka\"\u003e\u003ccode\u003e@​yakimka\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2943\"\u003eKludex/starlette#2943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mbeijen\"\u003e\u003ccode\u003e@​mbeijen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2939\"\u003eKludex/starlette#2939\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/starlette/compare/0.47.3...0.48.0\"\u003ehttps://github.com/Kludex/starlette/compare/0.47.3...0.48.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.47.3\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003easyncio.iscoroutinefunction\u003c/code\u003e for Python 3.12 and older by \u003ca href=\"https://github.com/mjpieters\"\u003e\u003ccode\u003e@​mjpieters\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/starlette/pull/2984\"\u003eencode/starlette#2984\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mjpieters\"\u003e\u003ccode\u003e@​mjpieters\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/starlette/pull/2984\"\u003eencode/starlette#2984\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/encode/starlette/compare/0.47.2...0.47.3\"\u003ehttps://github.com/encode/starlette/compare/0.47.2...0.47.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.47.2\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003eUploadFile\u003c/code\u003e check for future rollover \u003ca href=\"https://redirect.github.com/encode/starlette/pull/2962\"\u003e#2962\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HonakerM\"\u003e\u003ccode\u003e@​HonakerM\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/starlette/pull/2962\"\u003eencode/starlette#2962\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/encode/starlette/compare/0.47.1...0.47.2\"\u003ehttps://github.com/encode/starlette/compare/0.47.1...0.47.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.47.1\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eSelf\u003c/code\u003e in \u003ccode\u003eTestClient.__enter__\u003c/code\u003e \u003ca href=\"https://redirect.github.com/encode/starlette/pull/2951\"\u003e#2951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow async exception handlers to type-check \u003ca href=\"https://redirect.github.com/encode/starlette/pull/2949\"\u003e#2949\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/encode/starlette/compare/0.47.0...0.47.1\"\u003ehttps://github.com/encode/starlette/compare/0.47.0...0.47.1\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/Kludex/starlette/blob/main/docs/release-notes.md\"\u003estarlette's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.48.0 (September 13, 2025)\u003c/h2\u003e\n\u003ch4\u003eAdded\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd official Python 3.14 support \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/3013\"\u003e#3013\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanged\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eImplement \u003ca href=\"https://www.rfc-editor.org/rfc/rfc9110\"\u003eRFC9110\u003c/a\u003e http status names \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2939\"\u003e#2939\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.47.3 (August 24, 2025)\u003c/h2\u003e\n\u003ch4\u003eFixed\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003easyncio.iscoroutinefunction\u003c/code\u003e for Python 3.12 and older \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2984\"\u003e#2984\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.47.2 (July 20, 2025)\u003c/h2\u003e\n\u003ch4\u003eFixed\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003eUploadFile\u003c/code\u003e check for future rollover \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2962\"\u003e#2962\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.47.1 (June 21, 2025)\u003c/h2\u003e\n\u003ch4\u003eFixed\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eSelf\u003c/code\u003e in \u003ccode\u003eTestClient.__enter__\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2951\"\u003e#2951\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAllow async exception handlers to type-check \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2949\"\u003e#2949\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.47.0 (May 29, 2025)\u003c/h2\u003e\n\u003ch4\u003eAdded\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for ASGI \u003ccode\u003epathsend\u003c/code\u003e extension \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2671\"\u003e#2671\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epartitioned\u003c/code\u003e attribute to \u003ccode\u003eResponse.set_cookie\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2501\"\u003e#2501\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanged\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eChange \u003ccode\u003emethods\u003c/code\u003e parameter type from \u003ccode\u003elist[str]\u003c/code\u003e to \u003ccode\u003eCollection[str]\u003c/code\u003e\n\u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2903\"\u003e#2903\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eimport typing\u003c/code\u003e by \u003ccode\u003efrom typing import ...\u003c/code\u003e in the whole codebase\n\u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2867\"\u003e#2867\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixed\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eMark \u003ccode\u003eExceptionMiddleware.http_exception\u003c/code\u003e as async to prevent thread creation\n\u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/2922\"\u003e#2922\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.46.2 (April 13, 2025)\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/starlette/commit/e18637c68e36d112b1983bc0c8b663681e6a4c50\"\u003e\u003ccode\u003ee18637c\u003c/code\u003e\u003c/a\u003e Version 0.48.0 (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3014\"\u003e#3014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/1bee3ef6c316956726f887adb881b860be1c4284\"\u003e\u003ccode\u003e1bee3ef\u003c/code\u003e\u003c/a\u003e Add official Python 3.14 support (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3013\"\u003e#3013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/c379051181f2d82c820e8f23801c03638beb9ca6\"\u003e\u003ccode\u003ec379051\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003epublish.yaml\u003c/code\u003e with latest PyPI recommendations (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3011\"\u003e#3011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/40a81479c7146bab21cc58ccb92b017cf177a077\"\u003e\u003ccode\u003e40a8147\u003c/code\u003e\u003c/a\u003e feat: implement rfc9110 http status names (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/2939\"\u003e#2939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/efea3b89b5a2c736608e22ccdf6c60989a804afe\"\u003e\u003ccode\u003eefea3b8\u003c/code\u003e\u003c/a\u003e chore: set minimum uv version (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3012\"\u003e#3012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/63e70d048a4fa2e361024839578bafcb54bb23df\"\u003e\u003ccode\u003e63e70d0\u003c/code\u003e\u003c/a\u003e chore: add citation file (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3010\"\u003e#3010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/da0f1ce5c91007fa24a5d1028871dff5716d817f\"\u003e\u003ccode\u003eda0f1ce\u003c/code\u003e\u003c/a\u003e ci: pin github actions' versions (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3009\"\u003e#3009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/4bd6ab166fd3e6b679c9a733790f5a5ea6e09e45\"\u003e\u003ccode\u003e4bd6ab1\u003c/code\u003e\u003c/a\u003e chore: add Marcelo Trylesinski as maintainer (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3008\"\u003e#3008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/118c7c71c9dd053291100176113338eb62071547\"\u003e\u003ccode\u003e118c7c7\u003c/code\u003e\u003c/a\u003e Rename branch \u003ccode\u003emaster\u003c/code\u003e to \u003ccode\u003emain\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3001\"\u003e#3001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/73d83e9eb87f2d1785971babcdc5674fc1401a6b\"\u003e\u003ccode\u003e73d83e9\u003c/code\u003e\u003c/a\u003e Clarify BaseHTTPMiddleware effect on contextvars propagation (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/2943\"\u003e#2943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/starlette/compare/0.40.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 `flask-limiter` from 3.5.0 to 3.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/alisaifee/flask-limiter/releases\"\u003eflask-limiter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.12\u003c/h2\u003e\n\u003ch2\u003eCompatibility\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for python 3.9\u003c/li\u003e\n\u003cli\u003eAdd install extra for valkey\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove documentation about rate limiting strategies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTyping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse builtin types (list, set, tuple)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.10.1\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange pypi release to use trusted publishing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.10.0\u003c/h2\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typing error with exempt decorator\u003c/li\u003e\n\u003cli\u003eUpdate types for window wrapper to use named tuple\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.9.2\u003c/h2\u003e\n\u003ch2\u003eCompatibility\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure wheels are uploaded to pypi as well (for real)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.9.0\u003c/h2\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate development dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCompatibility\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for python 3.8\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.13\u003c/li\u003e\n\u003cli\u003eAdd CI matrix entry for flask 3.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.8.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/alisaifee/flask-limiter/blob/master/HISTORY.rst\"\u003eflask-limiter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.12\u003c/h2\u003e\n\u003cp\u003eRelease Date: 2025-03-14\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCompatibility\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for python 3.9\u003c/li\u003e\n\u003cli\u003eAdd install extra for valkey\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.11.0\u003c/h2\u003e\n\u003cp\u003eRelease Date: 2025-03-11\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDocumentation\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove documentation about rate limiting strategies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTyping\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse builtin types (list, set, tuple)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.10.1\u003c/h2\u003e\n\u003cp\u003eRelease Date: 2025-01-16\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSecurity\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChange pypi release to use trusted publishing\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003cp\u003eRelease Date: 2025-01-05\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eChores\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix typing error with exempt decorator\u003c/li\u003e\n\u003cli\u003eUpdate types for window wrapper to use named tuple\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.9.2\u003c/h2\u003e\n\u003cp\u003eRelease Date: 2024-11-27\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCompatibility\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure wheels are uploaded to pypi as well (for real)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.9.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/8b111eb5f0298e5b095272027bf3194d2c999aa8\"\u003e\u003ccode\u003e8b111eb\u003c/code\u003e\u003c/a\u003e Update changelog for  3.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/c2114e52d2a2e31f78df3c433450725858dd5abc\"\u003e\u003ccode\u003ec2114e5\u003c/code\u003e\u003c/a\u003e Remove etcd extra\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/2fd605f8b4cd246b1bfcb0b32ec7af23bd393be5\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Update python version for readthedocs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/ff0e62608e8caaaf8acba726d9ff0f5a982440e4\"\u003e\u003ccode\u003eff0e626\u003c/code\u003e\u003c/a\u003e Remove dependency on typing_extensions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/132d59e6bc15fdb87bf699800f915a8e50b902aa\"\u003e\u003ccode\u003e132d59e\u003c/code\u003e\u003c/a\u003e Add installation extras for etcd \u0026amp; valkey\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/2e42351d334c0dc781e477634064d25fe33ca2c2\"\u003e\u003ccode\u003e2e42351\u003c/code\u003e\u003c/a\u003e Remove use of Optional/Union\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/118e6066490045e685eb106c91924e71b9269e8d\"\u003e\u003ccode\u003e118e606\u003c/code\u003e\u003c/a\u003e Apply an isort-style sorting to \u003ccode\u003e__all__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/bf7881805bd3596845bd773c77a1d51fbcaf16bb\"\u003e\u003ccode\u003ebf78818\u003c/code\u003e\u003c/a\u003e Drop support for python 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/b99478486644ee0bcab49fe8b5de372b0a2a214c\"\u003e\u003ccode\u003eb994784\u003c/code\u003e\u003c/a\u003e Update changelog for  3.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alisaifee/flask-limiter/commit/03bcaf9cd1cb9131d0ef1fda9e60a930dd66ae5b\"\u003e\u003ccode\u003e03bcaf9\u003c/code\u003e\u003c/a\u003e Use version sort in tagging script\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/alisaifee/flask-limiter/compare/3.5.0...3.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `validators` from 0.22.0 to 0.35.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/releases\"\u003evalidators's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\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/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003epython-validators/validators#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003epython-validators/validators#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003epython-validators/validators#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003epython-validators/validators#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003epython-validators/validators#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003epython-validators/validators#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003epython-validators/validators#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003epython-validators/validators#415\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.34.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eNo breaking changes were introduced in this version.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat: cache IANA TLDs for faster lookups by \u003ca href=\"https://github.com/salty-horse\"\u003e\u003ccode\u003e@​salty-horse\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/390\"\u003e#390\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore: update dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/394\"\u003e#394\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/blob/master/CHANGES.md\"\u003evalidators's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0 (2025-05-01)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPili...\n\n_Description has been truncated_","html_url":"https://github.com/AnalineS/roteirosdedispersacao/pull/268","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnalineS%2Froteirosdedispersacao/issues/268","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/268/packages"}},{"old_version":"0.34.0","new_version":"0.35.0","update_type":"minor","path":null,"pr_created_at":"2025-08-26T21:46:32.000Z","version_change":"0.34.0 → 0.35.0","issue":{"uuid":"2776517152","node_id":"PR_kwDOC9G94c6lfkog","number":276,"state":"open","title":"Bump validators from 0.34.0 to 0.35.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-26T21:46:32.000Z","updated_at":"2025-08-26T21:46:33.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"}],"path":null,"ecosystem":"pip"},"body":"Bumps [validators](https://github.com/python-validators/validators) from 0.34.0 to 0.35.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/releases\"\u003evalidators's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\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/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003epython-validators/validators#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003epython-validators/validators#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003epython-validators/validators#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003epython-validators/validators#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003epython-validators/validators#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003epython-validators/validators#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003epython-validators/validators#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003epython-validators/validators#415\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/blob/master/CHANGES.md\"\u003evalidators's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0 (2025-05-01)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/75788ed9e116fe3bf1bb9699f1696e7f7e132067\"\u003e\u003ccode\u003e75788ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/425\"\u003e#425\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/0b1799cdb431e708aff6b1b59e4430bd0828a70b\"\u003e\u003ccode\u003e0b1799c\u003c/code\u003e\u003c/a\u003e chore: updates changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/de4948f45fc4d79abec2da3b8586f6b271c5d723\"\u003e\u003ccode\u003ede4948f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/424\"\u003e#424\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/6d8a1abcdf2d92e113b1707bbf372bde4d48e3a5\"\u003e\u003ccode\u003e6d8a1ab\u003c/code\u003e\u003c/a\u003e chore: prepare for new release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/8691cead510052aae88f22776b9d6fbe1cf55351\"\u003e\u003ccode\u003e8691cea\u003c/code\u003e\u003c/a\u003e chore: formatting; sync dependencies (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/422\"\u003e#422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/bafe62e757bd99526129f8dffcfc9795817d08d8\"\u003e\u003ccode\u003ebafe62e\u003c/code\u003e\u003c/a\u003e feat: add Mir card validation support (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/7c97eca2990f6d42e27f0f211475eb0d4809de59\"\u003e\u003ccode\u003e7c97eca\u003c/code\u003e\u003c/a\u003e Fix: Allow Special DOI Cases Used in Public Administration Tests (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/415\"\u003e#415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/b2510d1c5f7ef81cdf9fa90d2548ebd826e4e734\"\u003e\u003ccode\u003eb2510d1\u003c/code\u003e\u003c/a\u003e feat: adds \u003ccode\u003edoctest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/f7742c55b680036116a7f61e140476ffd4774ccb\"\u003e\u003ccode\u003ef7742c5\u003c/code\u003e\u003c/a\u003e Refactor API: remove print from ru_inn, update description, and expose via __...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/d6241fc31f6b46bf81283c6ab3cae07c370fc1f6\"\u003e\u003ccode\u003ed6241fc\u003c/code\u003e\u003c/a\u003e fix(uri): remove \u0026quot;mailto:\u0026quot; prefix manually (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/418\"\u003e#418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=validators\u0026package-manager=pip\u0026previous-version=0.34.0\u0026new-version=0.35.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/sfneal/nginx-certbot/pull/276","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfneal%2Fnginx-certbot/issues/276","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/276/packages"}},{"old_version":"0.18.2","new_version":"0.35.0","update_type":"minor","path":null,"pr_created_at":"2025-08-25T02:48:17.000Z","version_change":"0.18.2 → 0.35.0","issue":{"uuid":"2770397174","node_id":"PR_kwDOJz679M6lIOf2","number":10,"state":"open","title":"Bump validators from 0.18.2 to 0.35.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["Robert-96"],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-25T02:48:17.000Z","updated_at":"2025-08-25T02:48:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"validators","old_version":"0.18.2","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"}],"path":null,"ecosystem":"pip"},"body":"Bumps [validators](https://github.com/python-validators/validators) from 0.18.2 to 0.35.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/releases\"\u003evalidators's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\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/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003epython-validators/validators#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003epython-validators/validators#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003epython-validators/validators#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003epython-validators/validators#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003epython-validators/validators#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003epython-validators/validators#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003epython-validators/validators#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003epython-validators/validators#415\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.34.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eNo breaking changes were introduced in this version.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat: cache IANA TLDs for faster lookups by \u003ca href=\"https://github.com/salty-horse\"\u003e\u003ccode\u003e@​salty-horse\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/390\"\u003e#390\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore: update dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/394\"\u003e#394\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/blob/master/CHANGES.md\"\u003evalidators's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0 (2025-05-01)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.34.0 (2024-09-03)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eNo breaking changes were introduced in this version.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat: cache IANA TLDs for faster lookups by \u003ca href=\"https://github.com/salty-horse\"\u003e\u003ccode\u003e@​salty-horse\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/390\"\u003e#390\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore: update dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/394\"\u003e#394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: adds configuration info by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/395\"\u003e#395\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.33.0...0.34.0\"\u003e\u003ccode\u003e0.33.0...0.34.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.33.0 (2024-07-15)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/75788ed9e116fe3bf1bb9699f1696e7f7e132067\"\u003e\u003ccode\u003e75788ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/425\"\u003e#425\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/0b1799cdb431e708aff6b1b59e4430bd0828a70b\"\u003e\u003ccode\u003e0b1799c\u003c/code\u003e\u003c/a\u003e chore: updates changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/de4948f45fc4d79abec2da3b8586f6b271c5d723\"\u003e\u003ccode\u003ede4948f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/424\"\u003e#424\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/6d8a1abcdf2d92e113b1707bbf372bde4d48e3a5\"\u003e\u003ccode\u003e6d8a1ab\u003c/code\u003e\u003c/a\u003e chore: prepare for new release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/8691cead510052aae88f22776b9d6fbe1cf55351\"\u003e\u003ccode\u003e8691cea\u003c/code\u003e\u003c/a\u003e chore: formatting; sync dependencies (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/422\"\u003e#422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/bafe62e757bd99526129f8dffcfc9795817d08d8\"\u003e\u003ccode\u003ebafe62e\u003c/code\u003e\u003c/a\u003e feat: add Mir card validation support (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/7c97eca2990f6d42e27f0f211475eb0d4809de59\"\u003e\u003ccode\u003e7c97eca\u003c/code\u003e\u003c/a\u003e Fix: Allow Special DOI Cases Used in Public Administration Tests (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/415\"\u003e#415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/b2510d1c5f7ef81cdf9fa90d2548ebd826e4e734\"\u003e\u003ccode\u003eb2510d1\u003c/code\u003e\u003c/a\u003e feat: adds \u003ccode\u003edoctest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/f7742c55b680036116a7f61e140476ffd4774ccb\"\u003e\u003ccode\u003ef7742c5\u003c/code\u003e\u003c/a\u003e Refactor API: remove print from ru_inn, update description, and expose via __...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/d6241fc31f6b46bf81283c6ab3cae07c370fc1f6\"\u003e\u003ccode\u003ed6241fc\u003c/code\u003e\u003c/a\u003e fix(uri): remove \u0026quot;mailto:\u0026quot; prefix manually (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/418\"\u003e#418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-validators/validators/compare/0.18.2...0.35.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=validators\u0026package-manager=pip\u0026previous-version=0.18.2\u0026new-version=0.35.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Robert-96/fast-api-url-shortener/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robert-96%2Ffast-api-url-shortener/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"}},{"old_version":"0.34.0","new_version":"0.35.0","update_type":"minor","path":null,"pr_created_at":"2025-08-14T19:33:34.000Z","version_change":"0.34.0 → 0.35.0","issue":{"uuid":"2747161924","node_id":"PR_kwDOC1OTS86jvl1E","number":256,"state":"closed","title":"Bump validators from 0.34.0 to 0.35.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-08-18T19:03:05.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-14T19:33:34.000Z","updated_at":"2025-08-18T19:03:05.000Z","time_to_close":343771,"merged_at":"2025-08-18T19:03:05.000Z","merged_by":"sfneal","closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"}],"path":null,"ecosystem":"pip"},"body":"Bumps [validators](https://github.com/python-validators/validators) from 0.34.0 to 0.35.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/releases\"\u003evalidators's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\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/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003epython-validators/validators#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003epython-validators/validators#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003epython-validators/validators#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003epython-validators/validators#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003epython-validators/validators#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003epython-validators/validators#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003epython-validators/validators#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003epython-validators/validators#415\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/blob/master/CHANGES.md\"\u003evalidators's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0 (2025-05-01)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/75788ed9e116fe3bf1bb9699f1696e7f7e132067\"\u003e\u003ccode\u003e75788ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/425\"\u003e#425\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/0b1799cdb431e708aff6b1b59e4430bd0828a70b\"\u003e\u003ccode\u003e0b1799c\u003c/code\u003e\u003c/a\u003e chore: updates changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/de4948f45fc4d79abec2da3b8586f6b271c5d723\"\u003e\u003ccode\u003ede4948f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/424\"\u003e#424\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/6d8a1abcdf2d92e113b1707bbf372bde4d48e3a5\"\u003e\u003ccode\u003e6d8a1ab\u003c/code\u003e\u003c/a\u003e chore: prepare for new release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/8691cead510052aae88f22776b9d6fbe1cf55351\"\u003e\u003ccode\u003e8691cea\u003c/code\u003e\u003c/a\u003e chore: formatting; sync dependencies (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/422\"\u003e#422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/bafe62e757bd99526129f8dffcfc9795817d08d8\"\u003e\u003ccode\u003ebafe62e\u003c/code\u003e\u003c/a\u003e feat: add Mir card validation support (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/7c97eca2990f6d42e27f0f211475eb0d4809de59\"\u003e\u003ccode\u003e7c97eca\u003c/code\u003e\u003c/a\u003e Fix: Allow Special DOI Cases Used in Public Administration Tests (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/415\"\u003e#415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/b2510d1c5f7ef81cdf9fa90d2548ebd826e4e734\"\u003e\u003ccode\u003eb2510d1\u003c/code\u003e\u003c/a\u003e feat: adds \u003ccode\u003edoctest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/f7742c55b680036116a7f61e140476ffd4774ccb\"\u003e\u003ccode\u003ef7742c5\u003c/code\u003e\u003c/a\u003e Refactor API: remove print from ru_inn, update description, and expose via __...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/d6241fc31f6b46bf81283c6ab3cae07c370fc1f6\"\u003e\u003ccode\u003ed6241fc\u003c/code\u003e\u003c/a\u003e fix(uri): remove \u0026quot;mailto:\u0026quot; prefix manually (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/418\"\u003e#418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=validators\u0026package-manager=pip\u0026previous-version=0.34.0\u0026new-version=0.35.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/sfneal/nginx-laravel/pull/256","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfneal%2Fnginx-laravel/issues/256","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/256/packages"}},{"old_version":"0.22.0","new_version":"0.35.0","update_type":"minor","path":null,"pr_created_at":"2025-08-11T10:44:22.000Z","version_change":"0.22.0 → 0.35.0","issue":{"uuid":"3309474815","node_id":"PR_kwDOPSVYoc6jBRRz","number":21,"state":"closed","title":"chore(deps): Bump the python-dependencies group across 1 directory with 33 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-01-16T20:11:56.000Z","author_association":null,"state_reason":null,"created_at":"2025-08-11T10:44:22.000Z","updated_at":"2026-01-16T20:12:06.000Z","time_to_close":13685254,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"python-dependencies","update_count":33,"packages":[{"name":"python-owasp-zap-v2-4","old_version":"0.0.21","new_version":"0.1.0"},{"name":"fastapi","old_version":"0.104.1","new_version":"0.116.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.24.0","new_version":"0.35.0","repository_url":"https://github.com/encode/uvicorn"},{"name":"pydantic","old_version":"2.5.0","new_version":"2.11.7","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-settings","old_version":"2.1.0","new_version":"2.10.1","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"httpx","old_version":"0.25.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"requests","old_version":"2.31.0","new_version":"2.32.4","repository_url":"https://github.com/psf/requests"},{"name":"urllib3","old_version":"2.1.0","new_version":"2.5.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"pytest","old_version":"7.4.3","new_version":"8.4.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-asyncio","old_version":"0.21.1","new_version":"1.1.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"pytest-cov","old_version":"4.1.0","new_version":"6.2.1","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"beautifulsoup4","old_version":"4.12.2","new_version":"4.13.4"},{"name":"lxml","old_version":"4.9.3","new_version":"6.0.0","repository_url":"https://github.com/lxml/lxml"},{"name":"selenium","old_version":"4.15.2","new_version":"4.34.2","repository_url":"https://github.com/SeleniumHQ/Selenium"},{"name":"webdriver-manager","old_version":"4.0.1","new_version":"4.0.2","repository_url":"https://github.com/SergeyPirogov/webdriver_manager"},{"name":"jinja2","old_version":"3.1.2","new_version":"3.1.6","repository_url":"https://github.com/pallets/jinja"},{"name":"weasyprint","old_version":"60.1","new_version":"66.0","repository_url":"https://github.com/Kozea/WeasyPrint"},{"name":"matplotlib","old_version":"3.7.5","new_version":"3.9.4","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"plotly","old_version":"5.18.0","new_version":"6.2.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"sqlalchemy","old_version":"2.0.23","new_version":"2.0.42","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"aiosqlite","old_version":"0.19.0","new_version":"0.21.0","repository_url":"https://github.com/omnilib/aiosqlite"},{"name":"pyyaml","old_version":"6.0.1","new_version":"6.0.2","repository_url":"https://github.com/yaml/pyyaml"},{"name":"python-dotenv","old_version":"1.0.0","new_version":"1.1.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"click","old_version":"8.1.7","new_version":"8.1.8","repository_url":"https://github.com/pallets/click"},{"name":"rich","old_version":"13.7.0","new_version":"14.1.0","repository_url":"https://github.com/Textualize/rich"},{"name":"tqdm","old_version":"4.66.1","new_version":"4.67.1","repository_url":"https://github.com/tqdm/tqdm"},{"name":"aiofiles","old_version":"23.2.1","new_version":"24.1.0","repository_url":"https://github.com/Tinche/aiofiles"},{"name":"asyncio","old_version":"3.4.3","new_version":"4.0.0","repository_url":"https://github.com/python/asyncio"},{"name":"psutil","old_version":"5.9.6","new_version":"7.0.0","repository_url":"https://github.com/giampaolo/psutil"},{"name":"python-dateutil","old_version":"2.8.2","new_version":"2.9.0.post0","repository_url":"https://github.com/dateutil/dateutil"},{"name":"validators","old_version":"0.22.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"},{"name":"tenacity","old_version":"8.2.3","new_version":"9.1.2","repository_url":"https://github.com/jd/tenacity"},{"name":"cachetools","old_version":"5.3.2","new_version":"6.1.0","repository_url":"https://github.com/tkem/cachetools"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 33 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [python-owasp-zap-v2-4]() | `0.0.21` | `0.1.0` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.104.1` | `0.116.1` |\n| [uvicorn](https://github.com/encode/uvicorn) | `0.24.0` | `0.35.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.5.0` | `2.11.7` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.1.0` | `2.10.1` |\n| [httpx](https://github.com/encode/httpx) | `0.25.2` | `0.28.1` |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.32.4` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.1.0` | `2.5.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `7.4.3` | `8.4.1` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `0.21.1` | `1.1.0` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `4.1.0` | `6.2.1` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.12.2` | `4.13.4` |\n| [lxml](https://github.com/lxml/lxml) | `4.9.3` | `6.0.0` |\n| [selenium](https://github.com/SeleniumHQ/Selenium) | `4.15.2` | `4.34.2` |\n| [webdriver-manager](https://github.com/SergeyPirogov/webdriver_manager) | `4.0.1` | `4.0.2` |\n| [jinja2](https://github.com/pallets/jinja) | `3.1.2` | `3.1.6` |\n| [weasyprint](https://github.com/Kozea/WeasyPrint) | `60.1` | `66.0` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.7.5` | `3.9.4` |\n| [plotly](https://github.com/plotly/plotly.py) | `5.18.0` | `6.2.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.23` | `2.0.42` |\n| [aiosqlite](https://github.com/omnilib/aiosqlite) | `0.19.0` | `0.21.0` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.1` | `6.0.2` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.0` | `1.1.1` |\n| [click](https://github.com/pallets/click) | `8.1.7` | `8.1.8` |\n| [rich](https://github.com/Textualize/rich) | `13.7.0` | `14.1.0` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.66.1` | `4.67.1` |\n| [aiofiles](https://github.com/Tinche/aiofiles) | `23.2.1` | `24.1.0` |\n| [asyncio](https://github.com/python/asyncio) | `3.4.3` | `4.0.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `5.9.6` | `7.0.0` |\n| [python-dateutil](https://github.com/dateutil/dateutil) | `2.8.2` | `2.9.0.post0` |\n| [validators](https://github.com/python-validators/validators) | `0.22.0` | `0.35.0` |\n| [tenacity](https://github.com/jd/tenacity) | `8.2.3` | `9.1.2` |\n| [cachetools](https://github.com/tkem/cachetools) | `5.3.2` | `6.1.0` |\n\n\nUpdates `python-owasp-zap-v2-4` from 0.0.21 to 0.1.0\n\nUpdates `fastapi` from 0.104.1 to 0.116.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.116.1\u003c/h2\u003e\n\u003ch3\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Upgrade Starlette supported version range to \u003ccode\u003e\u0026gt;=0.40.0,\u0026lt;0.48.0\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13884\"\u003e#13884\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📝 Add notification about impending changes in Translations to \u003ccode\u003edocs/en/docs/contributing.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13886\"\u003e#13886\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⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13871\"\u003e#13871\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.116.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for deploying to FastAPI Cloud with \u003ccode\u003efastapi deploy\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13870\"\u003e#13870\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\u003cp\u003eInstalling \u003ccode\u003efastapi[standard]\u003c/code\u003e now includes \u003ccode\u003efastapi-cloud-cli\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThis will allow you to deploy to \u003ca href=\"https://fastapicloud.com\"\u003eFastAPI Cloud\u003c/a\u003e with the \u003ccode\u003efastapi deploy\u003c/code\u003e command.\u003c/p\u003e\n\u003cp\u003eIf you want to install \u003ccode\u003efastapi\u003c/code\u003e with the standard dependencies but without \u003ccode\u003efastapi-cloud-cli\u003c/code\u003e, you can install instead \u003ccode\u003efastapi[standard-no-fastapi-cloud-cli]\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Add Russian translation for \u003ccode\u003edocs/ru/docs/advanced/response-directly.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13801\"\u003e#13801\u003c/a\u003e by \u003ca href=\"https://github.com/NavesSapnis\"\u003e\u003ccode\u003e@​NavesSapnis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Add Russian translation for \u003ccode\u003edocs/ru/docs/advanced/additional-status-codes.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13799\"\u003e#13799\u003c/a\u003e by \u003ca href=\"https://github.com/NavesSapnis\"\u003e\u003ccode\u003e@​NavesSapnis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Add Ukrainian translation for \u003ccode\u003edocs/uk/docs/tutorial/body-updates.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13804\"\u003e#13804\u003c/a\u003e by \u003ca href=\"https://github.com/valentinDruzhinin\"\u003e\u003ccode\u003e@​valentinDruzhinin\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 pillow from 11.1.0 to 11.3.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13852\"\u003e#13852\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 FastAPI People - Sponsors. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13846\"\u003e#13846\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/13848\"\u003e#13848\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 mkdocs-material from 9.6.1 to 9.6.15. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13849\"\u003e#13849\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⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13843\"\u003e#13843\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\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/13845\"\u003e#13845\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.115.14\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix support for unions when using \u003ccode\u003eForm\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13827\"\u003e#13827\u003c/a\u003e by \u003ca href=\"https://github.com/patrick91\"\u003e\u003ccode\u003e@​patrick91\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 grammar mistake in \u003ccode\u003edocs/en/docs/advanced/response-directly.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13800\"\u003e#13800\u003c/a\u003e by \u003ca href=\"https://github.com/NavesSapnis\"\u003e\u003ccode\u003e@​NavesSapnis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update Speakeasy URL to Speakeasy Sandbox. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13697\"\u003e#13697\u003c/a\u003e by \u003ca href=\"https://github.com/ndimares\"\u003e\u003ccode\u003e@​ndimares\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\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/fastapi/fastapi/commit/313723494be79d4b24ccaa60e4f6d1f96c150fed\"\u003e\u003ccode\u003e3137234\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.116.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/095dab00c7d7bb3fc5d02da159207d56ac5bc1ea\"\u003e\u003ccode\u003e095dab0\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cad6880fd97d6f25d3f05025c88230285386e7f9\"\u003e\u003ccode\u003ecad6880\u003c/code\u003e\u003c/a\u003e ⬆️ Upgrade Starlette supported version range to \u003ccode\u003e\u0026gt;=0.40.0,\u0026lt;0.48.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/13884\"\u003e#13884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/a6e79e68a438c3e1f2ff628254d433832f73df53\"\u003e\u003ccode\u003ea6e79e6\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/2c13b1ba4bce313d68f2ebd562b9b0c3267f5158\"\u003e\u003ccode\u003e2c13b1b\u003c/code\u003e\u003c/a\u003e 📝 Add notification about impending changes in Translations to `docs/en/docs/c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7179d48fd774bcbc5f5013bb8f4df61b8c36795f\"\u003e\u003ccode\u003e7179d48\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/07bcb18a5a2ddab8282f4a9d50f63f3c9f46ca8c\"\u003e\u003ccode\u003e07bcb18\u003c/code\u003e\u003c/a\u003e ⬆ [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/13871\"\u003e#13871\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/bd8f358fd93416835b06486566b9d9ab991577b6\"\u003e\u003ccode\u003ebd8f358\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.116.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/18eb7a708096ab7a19f31a59918bc010aba0ddba\"\u003e\u003ccode\u003e18eb7a7\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/dd906a998ee2aa41cba98edf13364b34fdc9b1c1\"\u003e\u003ccode\u003edd906a9\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.104.1...0.116.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.24.0 to 0.35.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/encode/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.35.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eWebSocketsSansIOProtocol\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/encode/uvicorn/pull/2540\"\u003eencode/uvicorn#2540\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefine help message for option \u003ccode\u003e--proxy-headers\u003c/code\u003e by \u003ca href=\"https://github.com/zhangyoufu\"\u003e\u003ccode\u003e@​zhangyoufu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2653\"\u003eencode/uvicorn#2653\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/zhangyoufu\"\u003e\u003ccode\u003e@​zhangyoufu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2653\"\u003eencode/uvicorn#2653\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/encode/uvicorn/compare/0.34.3...0.35.0\"\u003ehttps://github.com/encode/uvicorn/compare/0.34.3...0.35.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.34.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDon't include \u003ccode\u003ecwd()\u003c/code\u003e when non-empty \u003ccode\u003e--reload-dirs\u003c/code\u003e is passed by \u003ca href=\"https://github.com/stinovlas\"\u003e\u003ccode\u003e@​stinovlas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2598\"\u003eencode/uvicorn#2598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply \u003ccode\u003eget_client_addr\u003c/code\u003e formatting to WebSocket logging by \u003ca href=\"https://github.com/Harry-Lees\"\u003e\u003ccode\u003e@​Harry-Lees\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2636\"\u003eencode/uvicorn#2636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve type hints by \u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2638\"\u003eencode/uvicorn#2638\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/stinovlas\"\u003e\u003ccode\u003e@​stinovlas\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2598\"\u003eencode/uvicorn#2598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LifeLex\"\u003e\u003ccode\u003e@​LifeLex\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2621\"\u003eencode/uvicorn#2621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Harry-Lees\"\u003e\u003ccode\u003e@​Harry-Lees\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2636\"\u003eencode/uvicorn#2636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2638\"\u003eencode/uvicorn#2638\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/encode/uvicorn/compare/0.34.2...0.34.3\"\u003ehttps://github.com/encode/uvicorn/compare/0.34.2...0.34.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.34.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFlush the stdout buffer on Windows to trigger reload by \u003ca href=\"https://github.com/jamesh1999\"\u003e\u003ccode\u003e@​jamesh1999\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2604\"\u003eencode/uvicorn#2604\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/jamesh1999\"\u003e\u003ccode\u003e@​jamesh1999\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2604\"\u003eencode/uvicorn#2604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/encode/uvicorn/compare/0.34.1...0.34.2\"\u003ehttps://github.com/encode/uvicorn/compare/0.34.1...0.34.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.34.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eServerState\u003c/code\u003e in the main module by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2581\"\u003eencode/uvicorn#2581\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/RakhimovRamis\"\u003e\u003ccode\u003e@​RakhimovRamis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2567\"\u003eencode/uvicorn#2567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carlwgeorge\"\u003e\u003ccode\u003e@​carlwgeorge\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/encode/uvicorn/pull/2590\"\u003eencode/uvicorn#2590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/encode/uvicorn/compare/0.34.0...0.34.1\"\u003ehttps://github.com/encode/uvicorn/compare/0.34.0...0.34.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.34.0\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/encode/uvicorn/blob/master/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0 (June 28, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eWebSocketsSansIOProtocol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2540\"\u003e#2540\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefine help message for option \u003ccode\u003e--proxy-headers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2653\"\u003e#2653\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.34.3 (June 1, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't include \u003ccode\u003ecwd()\u003c/code\u003e when non-empty \u003ccode\u003e--reload-dirs\u003c/code\u003e is passed (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2598\"\u003e#2598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApply \u003ccode\u003eget_client_addr\u003c/code\u003e formatting to WebSocket logging (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2636\"\u003e#2636\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.34.2 (April 19, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlush stdout buffer on Windows to trigger reload (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2604\"\u003e#2604\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.34.1 (April 13, 2025)\u003c/h2\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eServerState\u003c/code\u003e in the main module (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2581\"\u003e#2581\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.34.0 (December 15, 2024)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003econtent-length\u003c/code\u003e to 500 response in \u003ccode\u003ewsproto\u003c/code\u003e implementation (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2542\"\u003e#2542\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2543\"\u003e#2543\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.33.0 (December 14, 2024)\u003c/h2\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eWatchGod\u003c/code\u003e support for \u003ccode\u003e--reload\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2536\"\u003e#2536\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.32.1 (November 20, 2024)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop ASGI spec version to 2.3 on HTTP scope (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2513\"\u003e#2513\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/encode/uvicorn/commit/daecb45327702efe8f702f46fb0870c2d6357837\"\u003e\u003ccode\u003edaecb45\u003c/code\u003e\u003c/a\u003e Version 0.35.0 (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2654\"\u003e#2654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/uvicorn/commit/22dfd3fa95dd035db77099c4903aad6e148a50a8\"\u003e\u003ccode\u003e22dfd3f\u003c/code\u003e\u003c/a\u003e refine help message for option --proxy-headers (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2653\"\u003e#2653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/uvicorn/commit/b9606269a7f24f2511de0015b7af7df499be569f\"\u003e\u003ccode\u003eb960626\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eWebSocketsSansIOProtocol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2540\"\u003e#2540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/uvicorn/commit/5432729137988a53bb70d2f3e0c790f9bdf33ec5\"\u003e\u003ccode\u003e5432729\u003c/code\u003e\u003c/a\u003e Add CITATION.cff (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2649\"\u003e#2649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/uvicorn/commit/5e33d430f13622c8363fe74d97963ab37f3df3c2\"\u003e\u003ccode\u003e5e33d43\u003c/code\u003e\u003c/a\u003e Add notes about 0.34.3 and Google Analytics (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2642\"\u003e#2642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/uvicorn/commit/ce129ff120c31f433edea63e697de60ab690ace6\"\u003e\u003ccode\u003ece129ff\u003c/code\u003e\u003c/a\u003e chore: improve type hints (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2638\"\u003e#2638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/uvicorn/commit/fa3d9d27dbe7ecbc68e0992309d0ba49ead5640b\"\u003e\u003ccode\u003efa3d9d2\u003c/code\u003e\u003c/a\u003e Apply \u003ccode\u003eget_client_addr\u003c/code\u003e formatting to WebSocket logging (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2636\"\u003e#2636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/uvicorn/commit/66b9b58ad90112d54e7e3c4160c837ec72de51da\"\u003e\u003ccode\u003e66b9b58\u003c/code\u003e\u003c/a\u003e Bump the python-packages group across 1 directory with 5 updates (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2631\"\u003e#2631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/uvicorn/commit/bc795051bd6761d2dc6eaf3b5fef3cad1b2009ba\"\u003e\u003ccode\u003ebc79505\u003c/code\u003e\u003c/a\u003e chore: update h11 dependecy to latest release (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2621\"\u003e#2621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/encode/uvicorn/commit/2eda7b10be2e91d84f639974b915a00378b0375d\"\u003e\u003ccode\u003e2eda7b1\u003c/code\u003e\u003c/a\u003e Bump uvloop (\u003ca href=\"https://redirect.github.com/encode/uvicorn/issues/2618\"\u003e#2618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/encode/uvicorn/compare/0.24.0...0.35.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.5.0 to 2.11.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.11.7 2025-06-14\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCopy \u003ccode\u003eFieldInfo\u003c/code\u003e instance if necessary during \u003ccode\u003eFieldInfo\u003c/code\u003e build 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/11980\"\u003epydantic/pydantic#11980\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.6...v2.11.7\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.6...v2.11.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.6 2025-06-13\u003c/h2\u003e\n\u003ch2\u003ev2.11.6 (2025-06-13)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRebuild dataclass fields before schema generation 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/11949\"\u003e#11949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways store the original field assignment on \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/11946\"\u003e#11946\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.5...v2.11.6\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.5...v2.11.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.5 2025-05-22\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCheck if \u003ccode\u003eFieldInfo\u003c/code\u003e is complete after applying type variable map 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/11855\"\u003e#11855\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not delete mock validator/serializer in \u003ccode\u003emodel_rebuild()\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/11890\"\u003e#11890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not duplicate metadata on model rebuild 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/11902\"\u003e#11902\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.4...v2.11.5\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.4...v2.11.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.4 2025-04-29\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump \u003ccode\u003emkdocs-llmstxt\u003c/code\u003e to v0.2.0 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/11725\"\u003e#11725\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow config and bases to be specified together in \u003ccode\u003ecreate_model()\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/11714\"\u003e#11714\u003c/a\u003e.\nThis change was backported as it was previously possible (although not meant to be supported)\nto provide \u003ccode\u003emodel_config\u003c/code\u003e as a field, which would make it possible to provide both configuration\nand bases.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\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\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.11.7 (2025-06-14)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.7\"\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\u003eCopy \u003ccode\u003eFieldInfo\u003c/code\u003e instance if necessary during \u003ccode\u003eFieldInfo\u003c/code\u003e build 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/11898\"\u003e#11898\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.11.6 (2025-06-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.6\"\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\u003eRebuild dataclass fields before schema generation 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/11949\"\u003e#11949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways store the original field assignment on \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/11946\"\u003e#11946\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.11.5 (2025-05-22)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.5\"\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\u003eCheck if \u003ccode\u003eFieldInfo\u003c/code\u003e is complete after applying type variable map 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/11855\"\u003e#11855\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not delete mock validator/serializer in \u003ccode\u003emodel_rebuild()\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/11890\"\u003e#11890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not duplicate metadata on model rebuild 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/11902\"\u003e#11902\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.11.4 (2025-04-29)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.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 \u003ccode\u003emkdocs-llmstxt\u003c/code\u003e to v0.2.0 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/11725\"\u003e#11725\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow config and bases to be specified together in \u003ccode\u003ecreate_model()\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/11714\"\u003e#11714\u003c/a\u003e.\nThis change was backported as it was previously possible (although not meant to be supported)\nto provide \u003ccode\u003emodel_config\u003c/code\u003e as a field, which would make it possible to provide both configuration\nand bases.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/5f033e46c54fea1b59b6894d6527daf49475e690\"\u003e\u003ccode\u003e5f033e4\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c3368b83c411f421a7322959bc29f3bea4bd252a\"\u003e\u003ccode\u003ec3368b8\u003c/code\u003e\u003c/a\u003e Copy \u003ccode\u003eFieldInfo\u003c/code\u003e instance if necessary during \u003ccode\u003eFieldInfo\u003c/code\u003e build (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/11980\"\u003e#11980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/3987b23db4b31ff35e9fa15c21c0c1d1c9808838\"\u003e\u003ccode\u003e3987b23\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/dc7a9d20bee55a3a6e7397ee46abfcd9057b627b\"\u003e\u003ccode\u003edc7a9d2\u003c/code\u003e\u003c/a\u003e Always store the original field assignment on \u003ccode\u003eFieldInfo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c284c279a5b8c95d32ab5ec31d2511b3b27bfa87\"\u003e\u003ccode\u003ec284c27\u003c/code\u003e\u003c/a\u003e Rebuild dataclass fields before schema generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e6d1dc71fe9bd832635cb2e9b4af92286fd00b8\"\u003e\u003ccode\u003e5e6d1dc\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1b63218c42b515bd1f6b0dd323190236ead14bdb\"\u003e\u003ccode\u003e1b63218\u003c/code\u003e\u003c/a\u003e Do not duplicate metadata on model rebuild (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/11902\"\u003e#11902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5aefad873b3dfd60c419bd081ffaf0ac197c7b60\"\u003e\u003ccode\u003e5aefad8\u003c/code\u003e\u003c/a\u003e Do not delete mock validator/serializer in \u003ccode\u003emodel_rebuild()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8fbe6585f4d6179e5234ab61de00059c52e57975\"\u003e\u003ccode\u003e8fbe658\u003c/code\u003e\u003c/a\u003e Check if \u003ccode\u003eFieldInfo\u003c/code\u003e is complete after applying type variable map\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/12b371a0f7f800bf65daa3eaada1b4348348d9c4\"\u003e\u003ccode\u003e12b371a\u003c/code\u003e\u003c/a\u003e Update documentation about \u003ccode\u003e@dataclass_transform\u003c/code\u003e support\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.5.0...v2.11.7\"\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.1.0 to 2.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic-settings/releases\"\u003epydantic-settings's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.10.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix UnboundLocalError error in _replace_field_names_case_insensitively 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/639\"\u003epydantic/pydantic-settings#639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unknown file reference in documentation 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-settings/pull/640\"\u003epydantic/pydantic-settings#640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.10.1 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/642\"\u003epydantic/pydantic-settings#642\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/2.10.0...2.10.1\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/2.10.0...2.10.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.10.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix running tests when azure-keyvault-secrets is not installed by \u003ca href=\"https://github.com/CyberTailor\"\u003e\u003ccode\u003e@​CyberTailor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/601\"\u003epydantic/pydantic-settings#601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix running tests when google-cloud-secret-manager is not installed by \u003ca href=\"https://github.com/CyberTailor\"\u003e\u003ccode\u003e@​CyberTailor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/602\"\u003epydantic/pydantic-settings#602\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport loading a specific nested key from YAML in YamlConfigSettingsSource by \u003ca href=\"https://github.com/Seunghan-Jung\"\u003e\u003ccode\u003e@​Seunghan-Jung\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/603\"\u003epydantic/pydantic-settings#603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CLI suppression for model group help by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/604\"\u003epydantic/pydantic-settings#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix missing DEFAULT_PATH import 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/606\"\u003epydantic/pydantic-settings#606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix case-insensitive handling of nested aliases in EnvironmentSettingsSource by \u003ca href=\"https://github.com/d15ky\"\u003e\u003ccode\u003e@​d15ky\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/608\"\u003epydantic/pydantic-settings#608\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAzure Key Vault case insensitive support and dash-underscore translation by \u003ca href=\"https://github.com/d15ky\"\u003e\u003ccode\u003e@​d15ky\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/607\"\u003epydantic/pydantic-settings#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Respect 'cli_parse_args' from model_config with settings_customise_sources by \u003ca href=\"https://github.com/karta9821\"\u003e\u003ccode\u003e@​karta9821\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/611\"\u003epydantic/pydantic-settings#611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv 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/612\"\u003epydantic/pydantic-settings#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate packages 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/613\"\u003epydantic/pydantic-settings#613\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md 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/616\"\u003epydantic/pydantic-settings#616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI badge 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/617\"\u003epydantic/pydantic-settings#617\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/618\"\u003epydantic/pydantic-settings#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix coverage report 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/619\"\u003epydantic/pydantic-settings#619\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix _consume_object_or_array on unbalanced brackets in JSON strings by \u003ca href=\"https://github.com/andryak\"\u003e\u003ccode\u003e@​andryak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/621\"\u003epydantic/pydantic-settings#621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd region as a parameter to aws secret manager by \u003ca href=\"https://github.com/barakor-vs\"\u003e\u003ccode\u003e@​barakor-vs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/622\"\u003epydantic/pydantic-settings#622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose GCP Secret Manager case sensitive option by \u003ca href=\"https://github.com/bellmatthewf\"\u003e\u003ccode\u003e@​bellmatthewf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/626\"\u003epydantic/pydantic-settings#626\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/633\"\u003epydantic/pydantic-settings#633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add \u003ccode\u003ecli_shortcuts\u003c/code\u003e to CLI settings by \u003ca href=\"https://github.com/karta9821\"\u003e\u003ccode\u003e@​karta9821\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/624\"\u003epydantic/pydantic-settings#624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose AWS Secrets Manager case sensitive option by \u003ca href=\"https://github.com/femiadebayo\"\u003e\u003ccode\u003e@​femiadebayo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/629\"\u003epydantic/pydantic-settings#629\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.10.0 by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/635\"\u003epydantic/pydantic-settings#635\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/Seunghan-Jung\"\u003e\u003ccode\u003e@​Seunghan-Jung\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/603\"\u003epydantic/pydantic-settings#603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/d15ky\"\u003e\u003ccode\u003e@​d15ky\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/608\"\u003epydantic/pydantic-settings#608\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/karta9821\"\u003e\u003ccode\u003e@​karta9821\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/611\"\u003epydantic/pydantic-settings#611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andryak\"\u003e\u003ccode\u003e@​andryak\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/621\"\u003epydantic/pydantic-settings#621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/barakor-vs\"\u003e\u003ccode\u003e@​barakor-vs\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/622\"\u003epydantic/pydantic-settings#622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bellmatthewf\"\u003e\u003ccode\u003e@​bellmatthewf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/626\"\u003epydantic/pydantic-settings#626\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/femiadebayo\"\u003e\u003ccode\u003e@​femiadebayo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/629\"\u003epydantic/pydantic-settings#629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.9.1...2.10.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.9.1...2.10.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.9.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Expose ConfigFileSourceMixing on top level sources/\u003cstrong\u003einit\u003c/strong\u003e.py by \u003ca href=\"https://github.com/jbw-vtl\"\u003e\u003ccode\u003e@​jbw-vtl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/597\"\u003epydantic/pydantic-settings#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in gcp secret manager error message by \u003ca href=\"https://github.com/christian-heusel\"\u003e\u003ccode\u003e@​christian-heusel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/598\"\u003epydantic/pydantic-settings#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.9.1 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/600\"\u003epydantic/pydantic-settings#600\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/pydantic/pydantic-settings/commit/6bae3ab4fb321434feca35d120f05509d5c4ac55\"\u003e\u003ccode\u003e6bae3ab\u003c/code\u003e\u003c/a\u003e Prepare release 2.10.1 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/642\"\u003e#642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/36b8bfed902cce5d870fe09688014902d3894cab\"\u003e\u003ccode\u003e36b8bfe\u003c/code\u003e\u003c/a\u003e Remove unknown file reference in documentation (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/640\"\u003e#640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/697aaa621eb184a51e2e2729d8146b5ef4b2b7cc\"\u003e\u003ccode\u003e697aaa6\u003c/code\u003e\u003c/a\u003e Fix UnboundLocalError error in _replace_field_names_case_insensitively (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/639\"\u003e#639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/910b1b1e0c30af39e10a3703e78b1e5943cde491\"\u003e\u003ccode\u003e910b1b1\u003c/code\u003e\u003c/a\u003e Prepare release 2.10.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/635\"\u003e#635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/1ee66248adeff298d7f37b08c2dfb07f8562f08e\"\u003e\u003ccode\u003e1ee6624\u003c/code\u003e\u003c/a\u003e Expose AWS Secrets Manager case sensitive option (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/629\"\u003e#629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/180e74e324d8418e22b5dcb196fd6390fa964537\"\u003e\u003ccode\u003e180e74e\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003ecli_shortcuts\u003c/code\u003e to CLI settings (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/624\"\u003e#624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/e1629080542ffab481030a7a100b820556f2695f\"\u003e\u003ccode\u003ee162908\u003c/code\u003e\u003c/a\u003e Update deps (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/159ef14dc1d299a29992283060d038cf6e6d3b56\"\u003e\u003ccode\u003e159ef14\u003c/code\u003e\u003c/a\u003e Expose GCP Secret Manager case sensitive option (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/626\"\u003e#626\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/e9f7994872ebcd7a284d98d0ed501cc314a6a7fa\"\u003e\u003ccode\u003ee9f7994\u003c/code\u003e\u003c/a\u003e add region as a parameter to aws secret manager (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/622\"\u003e#622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/ca4ff9f96fc22396647ab878e5b87458ae0fde2f\"\u003e\u003ccode\u003eca4ff9f\u003c/code\u003e\u003c/a\u003e Fix _consume_object_or_array on unbalanced brackets in JSON strings (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/621\"\u003e#621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.1.0...2.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `httpx` from 0.25.2 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!-- 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/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\u003ch2\u003e0.27.0 (21st February, 2024)\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/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.25.2...0.28.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.31.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.31.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 `urllib3` from 2.1.0 to 2.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/urllib3/urllib3/releases\"\u003eurllib3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.5.0\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch1\u003eSecurity issues\u003c/h1\u003e\n\u003cp\u003eurllib3 2.5.0 fixes two moderate security issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePool managers now properly control redirects when \u003ccode\u003eretries\u003c/code\u003e is passed — CVE-2025-50181 reported by \u003ca href=\"https://github.com/sandumjacob\"\u003e\u003ccode\u003e@​sandumjacob\u003c/code\u003e\u003c/a\u003e (5.3 Medium, GHSA-pq67-6m6q-mj2v)\u003c/li\u003e\n\u003cli\u003eRedirects are now controlled by urllib3 in the Node.js runtime — CVE-2025-50182 (5.3 Medium, GHSA-48p4-8xcf-vxj5)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFeatures\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003ecompression.zstd\u003c/code\u003e module that is new in Python 3.14. See \u003ca href=\"https://peps.python.org/pep-0784/\"\u003ePEP 784\u003c/a\u003e for more information. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3610\"\u003e#3610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for version 0.5 of \u003ccode\u003ehatch-vcs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3612\"\u003e#3612\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBugfixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRaised exception for \u003ccode\u003eHTTPResponse.shutdown\u003c/code\u003e on a connection already released to the pool. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3581\"\u003e#3581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed incorrect \u003ccode\u003eCONNECT\u003c/code\u003e statement when using an IPv6 proxy with \u003ccode\u003econnection_from_host\u003c/code\u003e. Previously would not be wrapped in \u003ccode\u003e[]\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3615\"\u003e#3615\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch1\u003eFeatures\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApplied PEP 639 by specifying the license fields in pyproject.toml. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3522\"\u003e#3522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated exceptions to save and restore more properties during the pickle/serialization process. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3567\"\u003e#3567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003everify_flags\u003c/code\u003e option to \u003ccode\u003ecreate_urllib3_context\u003c/code\u003e with a default of \u003ccode\u003eVERIFY_X509_PARTIAL_CHAIN\u003c/code\u003e and \u003ccode\u003eVERIFY_X509_STRICT\u003c/code\u003e for Python 3.13+. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3571\"\u003e#3571\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBugfixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug with partial reads of streaming data in Emscripten. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eMisc\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSwitched to uv for installing development dependecies. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved the \u003ccode\u003emultiple.intoto.jsonl\u003c/code\u003e asset from GitHub releases. Attestation of release files since v2.3.0 can be found on PyPI. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3566\"\u003e#3566\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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/urllib3/urllib3/blob/main/CHANGES.rst\"\u003eurllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.5.0 (2025-06-18)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003ecompression.zstd\u003c/code\u003e module that is new in Python 3.14.\nSee \u003ccode\u003ePEP 784 \u0026lt;https://peps.python.org/pep-0784/\u0026gt;\u003c/code\u003e_ for more information. (\u003ccode\u003e[#3610](https://github.com/urllib3/urllib3/issues/3610) \u0026lt;https://github.com/urllib3/urllib3/issues/3610\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eAdded support for version 0.5 of \u003ccode\u003ehatch-vcs\u003c/code\u003e (\u003ccode\u003e[#3612](https://github.com/urllib3/urllib3/issues/3612) \u0026lt;https://github.com/urllib3/urllib3/issues/3612\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a security issue where restricting the maximum number of followed\nredirects at the \u003ccode\u003eurllib3.PoolManager\u003c/code\u003e level via the \u003ccode\u003eretries\u003c/code\u003e parameter\ndid not work.\u003c/li\u003e\n\u003cli\u003eMade the Node.js runtime respect redirect parameters such as \u003ccode\u003eretries\u003c/code\u003e\nand \u003ccode\u003eredirects\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised exception for \u003ccode\u003eHTTPResponse.shutdown\u003c/code\u003e on a connection already released to the pool. (\u003ccode\u003e[#3581](https://github.com/urllib3/urllib3/issues/3581) \u0026lt;https://github.com/urllib3/urllib3/issues/3581\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eFixed incorrect \u003ccode\u003eCONNECT\u003c/code\u003e statement when using an IPv6 proxy with \u003ccode\u003econnection_from_host\u003c/code\u003e. Previously would not be wrapped in \u003ccode\u003e[]\u003c/code\u003e. (\u003ccode\u003e[#3615](https://github.com/urllib3/urllib3/issues/3615) \u0026lt;https://github.com/urllib3/urllib3/issues/3615\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.4.0 (2025-04-10)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eApplied PEP 639 by specifying the license fields in pyproject.toml. (\u003ccode\u003e[#3522](https://github.com/urllib3/urllib3/issues/3522) \u0026lt;https://github.com/urllib3/urllib3/issues/3522\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eUpdated exceptions to save and restore more properties during the pickle/serialization process. (\u003ccode\u003e[#3567](https://github.com/urllib3/urllib3/issues/3567) \u0026lt;https://github.com/urllib3/urllib3/issues/3567\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003everify_flags\u003c/code\u003e option to \u003ccode\u003ecreate_urllib3_context\u003c/code\u003e with a default of \u003ccode\u003eVERIFY_X509_PARTIAL_CHAIN\u003c/code\u003e and \u003ccode\u003eVERIFY_X509_STRICT\u003c/code\u003e for Python 3.13+. (\u003ccode\u003e[#3571](https://github.com/urllib3/urllib3/issues/3571) \u0026lt;https://github.com/urllib3/urllib3/issues/3571\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug with partial reads of streaming data in Emscripten. (\u003ccode\u003e[#3555](https://github.com/urllib3/urllib3/issues/3555) \u0026lt;https://github.com/urllib3/urllib3/issues/3555\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSwitched to uv for installing development dependecies. (\u003ccode\u003e[#3550](https://github.com/urllib3/urllib3/issues/3550) \u0026lt;https://github.com/urllib3/urllib3/issues/3550\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eRemoved the \u003ccode\u003emultiple.intoto.jsonl\u003c/code\u003e asset from GitHub releases. Attestation of release files since v2.3.0 can be found on PyPI. (\u003ccode\u003e[#3566](https://github.com/urllib3/urllib3/issues/3566) \u0026lt;https://github.com/urllib3/urllib3/issues/3566\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.3.0 (2024-12-22)\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/urllib3/urllib3/commit/aaab4eccc10c965897540b21e15f11859d0b62e7\"\u003e\u003ccode\u003eaaab4ec\u003c/code\u003e\u003c/a\u003e Release 2.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/7eb4a2aafe49a279c29b6d1f0ed0f42e9736194f\"\u003e\u003ccode\u003e7eb4a2a\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/f05b1329126d5be6de501f9d1e3e36738bc08857\"\u003e\u003ccode\u003ef05b132\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/d03fe327a71d09728512217149f269763671f296\"\u003e\u003ccode\u003ed03fe32\u003c/code\u003e\u003c/a\u003e Fix HTTP tunneling with IPv6 in older Python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/11661e9bb4278e43d081f47a516e287a928c2206\"\u003e\u003ccode\u003e11661e9\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.0 to 3.29.0 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3624\"\u003e#3624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/6a0ecc6b16fe30f721021b44a81d19615098c71e\"\u003e\u003ccode\u003e6a0ecc6\u003c/code\u003e\u003c/a\u003e Update v2 migration guide to 2.4.0 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/8e32e60d9024c05bc6f7adda08bdf6c539d0b0d4\"\u003e\u003ccode\u003e8e32e60\u003c/code\u003e\u003c/a\u003e Raise exception for shutdown on a connection already released to the pool (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/9996e0fbf90b77083ad3c73737a6c6395703faa9\"\u003e\u003ccode\u003e9996e0f\u003c/code\u003e\u003c/a\u003e Fix emscripten CI for Chrome 137+ (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3599\"\u003e#3599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/4fd1a99a59725faf0efc946ce3b6bc9a194420af\"\u003e\u003ccode\u003e4fd1a99\u003c/code\u003e\u003c/a\u003e Bump RECENT_DATE (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3617\"\u003e#3617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/c4b5917e911a90c8bf279448df8952a682294135\"\u003e\u003ccode\u003ec4b5917\u003c/code\u003e\u003c/a\u003e Add support for the new \u003ccode\u003ecompression.zstd\u003c/code\u003e module in Python 3.14 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3611\"\u003e#3611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/urllib3/urllib3/compare/2.1.0...2.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 7.4.3 to 8.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.4.1\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.1 (2025-06-17)\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/13461\"\u003e#13461\u003c/a\u003e: Corrected \u003ccode\u003e_pytest.terminal.TerminalReporter.isatty\u003c/code\u003e to support\nbeing called as a method. Before it was just a boolean which could\nbreak correct code when using \u003ccode\u003e-o log_cli=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/1347...\n\n_Description has been truncated_","html_url":"https://github.com/murr2k/linknode-security-tester/pull/21","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/murr2k%2Flinknode-security-tester/issues/21","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/21/packages"}},{"old_version":"0.34.0","new_version":"0.35.0","update_type":"minor","path":null,"pr_created_at":"2025-08-08T12:12:55.000Z","version_change":"0.34.0 → 0.35.0","issue":{"uuid":"2730577973","node_id":"PR_kwDONVUiI86iwVA1","number":143,"state":"open","title":"Bump validators from 0.34.0 to 0.35.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-08-08T12:12:55.000Z","updated_at":"2025-08-08T12:12:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"validators","old_version":"0.34.0","new_version":"0.35.0","repository_url":"https://github.com/python-validators/validators"}],"path":null,"ecosystem":"pip"},"body":"Bumps [validators](https://github.com/python-validators/validators) from 0.34.0 to 0.35.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/releases\"\u003evalidators's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\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/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003epython-validators/validators#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003epython-validators/validators#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003epython-validators/validators#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003epython-validators/validators#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003epython-validators/validators#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003epython-validators/validators#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003epython-validators/validators#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003epython-validators/validators#415\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-validators/validators/blob/master/CHANGES.md\"\u003evalidators's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.35.0 (2025-05-01)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eBreaking\u003c/strong\u003e\u003c/em\u003e ⚠️\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrops support for Python \u003ccode\u003ev3.8\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidator russian individual tax number by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: allow custom URL scheme validation by \u003ca href=\"https://github.com/e3krisztian\"\u003e\u003ccode\u003e@​e3krisztian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/409\"\u003e#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor API: remove print from \u003ccode\u003eru_inn\u003c/code\u003e, update description, and expose via \u003ccode\u003e__init__\u003c/code\u003e by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/419\"\u003e#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Mir card validation support by \u003ca href=\"https://github.com/TheDrunkenBear\"\u003e\u003ccode\u003e@​TheDrunkenBear\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/420\"\u003e#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e\u003cstrong\u003eMaintenance\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/mattseymour\"\u003e\u003ccode\u003e@​mattseymour\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(domain): accept .onion as a valid TLD by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/402\"\u003e#402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(url): add hashtag to allowed fragment characters by \u003ca href=\"https://github.com/davidt99\"\u003e\u003ccode\u003e@​davidt99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/405\"\u003e#405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump jinja2 from 3.1.4 to 3.1.6 in /package by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/414\"\u003e#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix email regex issue 140 by \u003ca href=\"https://github.com/cwisdo\"\u003e\u003ccode\u003e@​cwisdo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/411\"\u003e#411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(uri): replace \u003ccode\u003elstrip(\u0026quot;mailto:\u0026quot;)\u003c/code\u003e with manual prefix removal by \u003ca href=\"https://github.com/max-moser\"\u003e\u003ccode\u003e@​max-moser\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/418\"\u003e#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erunning \u003ccode\u003edoctest\u003c/code\u003e failes by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/417\"\u003e#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow Special DOI Cases Used in Public Administration Tests by \u003ca href=\"https://github.com/MaurizioPilia\"\u003e\u003ccode\u003e@​MaurizioPilia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/415\"\u003e#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: formatting; sync dependencies by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/422\"\u003e#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for new release by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/424\"\u003e#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updates changelog by \u003ca href=\"https://github.com/yozachar\"\u003e\u003ccode\u003e@​yozachar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-validators/validators/pull/425\"\u003e#425\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003e\u003ccode\u003e0.34.0...0.35.0\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/75788ed9e116fe3bf1bb9699f1696e7f7e132067\"\u003e\u003ccode\u003e75788ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/425\"\u003e#425\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/0b1799cdb431e708aff6b1b59e4430bd0828a70b\"\u003e\u003ccode\u003e0b1799c\u003c/code\u003e\u003c/a\u003e chore: updates changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/de4948f45fc4d79abec2da3b8586f6b271c5d723\"\u003e\u003ccode\u003ede4948f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-validators/validators/issues/424\"\u003e#424\u003c/a\u003e from yozachar/workshop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/6d8a1abcdf2d92e113b1707bbf372bde4d48e3a5\"\u003e\u003ccode\u003e6d8a1ab\u003c/code\u003e\u003c/a\u003e chore: prepare for new release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/8691cead510052aae88f22776b9d6fbe1cf55351\"\u003e\u003ccode\u003e8691cea\u003c/code\u003e\u003c/a\u003e chore: formatting; sync dependencies (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/422\"\u003e#422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/bafe62e757bd99526129f8dffcfc9795817d08d8\"\u003e\u003ccode\u003ebafe62e\u003c/code\u003e\u003c/a\u003e feat: add Mir card validation support (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/7c97eca2990f6d42e27f0f211475eb0d4809de59\"\u003e\u003ccode\u003e7c97eca\u003c/code\u003e\u003c/a\u003e Fix: Allow Special DOI Cases Used in Public Administration Tests (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/415\"\u003e#415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/b2510d1c5f7ef81cdf9fa90d2548ebd826e4e734\"\u003e\u003ccode\u003eb2510d1\u003c/code\u003e\u003c/a\u003e feat: adds \u003ccode\u003edoctest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/f7742c55b680036116a7f61e140476ffd4774ccb\"\u003e\u003ccode\u003ef7742c5\u003c/code\u003e\u003c/a\u003e Refactor API: remove print from ru_inn, update description, and expose via __...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-validators/validators/commit/d6241fc31f6b46bf81283c6ab3cae07c370fc1f6\"\u003e\u003ccode\u003ed6241fc\u003c/code\u003e\u003c/a\u003e fix(uri): remove \u0026quot;mailto:\u0026quot; prefix manually (\u003ca href=\"https://redirect.github.com/python-validators/validators/issues/418\"\u003e#418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-validators/validators/compare/0.34.0...0.35.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=validators\u0026package-manager=pip\u0026previous-version=0.34.0\u0026new-version=0.35.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/swiss-ai/mmore/pull/143","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/swiss-ai%2Fmmore/issues/143","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/143/packages"}}]}