{"id":3001,"name":"pyarrow","ecosystem":"pip","repository_url":"https://github.com/apache/arrow","issues_count":455,"created_at":"2025-06-06T15:55:56.578Z","updated_at":"2025-06-06T15:55:56.578Z","purl":"pkg:pypi/pyarrow","metadata":{"id":2865193,"name":"pyarrow","ecosystem":"pypi","description":"Python library for Apache Arrow","homepage":"https://arrow.apache.org/","licenses":"Apache Software License","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/apache/arrow","keywords_array":[],"namespace":null,"versions_count":58,"first_release_published_at":"2018-04-06T14:29:42.000Z","latest_release_published_at":"2025-04-27T12:27:27.000Z","latest_release_number":"20.0.0","last_synced_at":"2025-06-06T08:05:04.062Z","created_at":"2022-04-10T12:09:39.318Z","updated_at":"2025-06-06T08:05:04.063Z","registry_url":"https://pypi.org/project/pyarrow/","install_command":"pip install pyarrow --index-url https://pypi.org/simple","documentation_url":"https://arrow.apache.org/docs/python","metadata":{"funding":null,"documentation":"https://arrow.apache.org/docs/python","classifiers":["License :: OSI Approved :: Apache Software License","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"],"normalized_name":"pyarrow"},"repo_metadata":{"id":37274349,"uuid":"51905353","full_name":"apache/arrow","owner":"apache","description":"Apache Arrow is a multi-language toolbox for accelerated data interchange and in-memory processing","archived":false,"fork":false,"pushed_at":"2024-08-26T07:20:27.000Z","size":196842,"stargazers_count":14135,"open_issues_count":4765,"forks_count":3445,"subscribers_count":351,"default_branch":"main","last_synced_at":"2024-08-26T10:05:05.619Z","etag":null,"topics":["arrow"],"latest_commit_sha":null,"homepage":"https://arrow.apache.org/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-02-17T08:00:23.000Z","updated_at":"2024-08-26T07:20:29.000Z","dependencies_parsed_at":"2023-09-21T19:00:16.372Z","dependency_job_id":"eb82d521-fda2-4e8c-86a3-b41d5c67b1f9","html_url":"https://github.com/apache/arrow","commit_stats":{"total_commits":15356,"total_committers":1223,"mean_commits":"12.556009811937857","dds":0.9070721542068247,"last_synced_commit":"a0dec7f39394e619c8bdfe0eacb6ecde73a9ec12"},"previous_names":[],"tags_count":112,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/arrow/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":216994255,"owners_count":16108570,"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":"apache","name":"The Apache Software Foundation","uuid":"47359","kind":"organization","description":"","email":null,"website":"https://www.apache.org/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/47359?v=4","repositories_count":2601,"last_synced_at":"2024-05-21T07:19:49.405Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/apache","funding_links":[],"total_stars":1087452,"followers":12811,"following":0,"created_at":"2022-11-02T16:23:23.532Z","updated_at":"2024-05-21T07:20:03.071Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache/repositories"},"tags":[{"name":"apache-arrow-18.0.0.dev","sha":"55ce352be026c77dd6fd993c735fa58c3b8f4a12","kind":"commit","published_at":"2024-07-16T14:08:30.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-18.0.0.dev","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-18.0.0.dev","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-18.0.0.dev","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-18.0.0.dev/manifests"},{"name":"apache-arrow-17.0.0","sha":"2e30ec4272044d3609dfe8afa032d2ec0a4ad795","kind":"tag","published_at":"2024-07-16T07:17:06.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-17.0.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-17.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-17.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-17.0.0/manifests"},{"name":"go/v17.0.0","sha":"2e30ec4272044d3609dfe8afa032d2ec0a4ad795","kind":"tag","published_at":"2024-07-16T07:17:06.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v17.0.0","html_url":"https://github.com/apache/arrow/releases/tag/go/v17.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv17.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv17.0.0/manifests"},{"name":"apache-arrow-17.0.0-rc2","sha":"6a2e19a852b367c72d7b12da4d104456491ed8b7","kind":"tag","published_at":"2024-07-11T08:57:21.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-17.0.0-rc2","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-17.0.0-rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-17.0.0-rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-17.0.0-rc2/manifests"},{"name":"apache-arrow-17.0.0-rc1","sha":"d6bedcc31610e378194175799ce7fd6185f85aa6","kind":"tag","published_at":"2024-07-09T15:28:21.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-17.0.0-rc1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-17.0.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-17.0.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-17.0.0-rc1/manifests"},{"name":"apache-arrow-17.0.0-rc0","sha":"741356c06dacfc3e6070443703f6bb1f2e9ffee1","kind":"tag","published_at":"2024-07-08T18:55:35.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-17.0.0-rc0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-17.0.0-rc0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-17.0.0-rc0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-17.0.0-rc0/manifests"},{"name":"go/v16.1.0","sha":"7dd1d34074af176d9e861a360e135ae57b21cf96","kind":"tag","published_at":"2024-05-09T07:21:29.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v16.1.0","html_url":"https://github.com/apache/arrow/releases/tag/go/v16.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv16.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv16.1.0/manifests"},{"name":"r-16.1.0","sha":"7dd1d34074af176d9e861a360e135ae57b21cf96","kind":"commit","published_at":"2024-05-09T07:21:29.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/r-16.1.0","html_url":"https://github.com/apache/arrow/releases/tag/r-16.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/r-16.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/r-16.1.0/manifests"},{"name":"apache-arrow-16.1.0","sha":"7dd1d34074af176d9e861a360e135ae57b21cf96","kind":"tag","published_at":"2024-05-09T07:21:29.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-16.1.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-16.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-16.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-16.1.0/manifests"},{"name":"apache-arrow-17.0.0.dev","sha":"16e20b712ab8dafa9d1ec6154415fe5748fe6135","kind":"commit","published_at":"2024-04-20T21:53:05.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-17.0.0.dev","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-17.0.0.dev","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-17.0.0.dev","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-17.0.0.dev/manifests"},{"name":"go/v16.0.0","sha":"6a28035c2b49b432dc63f5ee7524d76b4ed2d762","kind":"tag","published_at":"2024-04-16T14:48:07.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v16.0.0","html_url":"https://github.com/apache/arrow/releases/tag/go/v16.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv16.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv16.0.0/manifests"},{"name":"apache-arrow-16.0.0","sha":"6a28035c2b49b432dc63f5ee7524d76b4ed2d762","kind":"tag","published_at":"2024-04-16T14:48:07.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-16.0.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-16.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-16.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-16.0.0/manifests"},{"name":"go/v15.0.2","sha":"e03105efc38edca4ca429bf967a17b4d0fbebe40","kind":"tag","published_at":"2024-03-13T13:37:23.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v15.0.2","html_url":"https://github.com/apache/arrow/releases/tag/go/v15.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv15.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv15.0.2/manifests"},{"name":"apache-arrow-15.0.2","sha":"e03105efc38edca4ca429bf967a17b4d0fbebe40","kind":"tag","published_at":"2024-03-13T13:37:23.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-15.0.2","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-15.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-15.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-15.0.2/manifests"},{"name":"r-15.0.1","sha":"ac9707663c160599fc46925a9d15d2cf030d110b","kind":"commit","published_at":"2024-03-08T03:08:22.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/r-15.0.1","html_url":"https://github.com/apache/arrow/releases/tag/r-15.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/r-15.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/r-15.0.1/manifests"},{"name":"go/v15.0.1","sha":"5ce6ff434c1e7daaa2d7f134349f3ce4c22683da","kind":"tag","published_at":"2024-02-23T13:06:19.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v15.0.1","html_url":"https://github.com/apache/arrow/releases/tag/go/v15.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv15.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv15.0.1/manifests"},{"name":"apache-arrow-15.0.1","sha":"5ce6ff434c1e7daaa2d7f134349f3ce4c22683da","kind":"tag","published_at":"2024-02-23T13:06:19.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-15.0.1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-15.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-15.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-15.0.1/manifests"},{"name":"r-universe-release","sha":"b6fb8d9727939e1a67eb6f445acd40cbe4d9cec9","kind":"tag","published_at":"2024-02-10T20:06:41.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/r-universe-release","html_url":"https://github.com/apache/arrow/releases/tag/r-universe-release","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/r-universe-release","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/r-universe-release/manifests"},{"name":"apache-arrow-16.0.0.dev","sha":"bb7f584bf7a0b67e90337e1abc5f0ae74d88b1fa","kind":"commit","published_at":"2024-01-21T15:06:40.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-16.0.0.dev","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-16.0.0.dev","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-16.0.0.dev","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-16.0.0.dev/manifests"},{"name":"go/v15.0.0","sha":"a61f4af724cd06c3a9b4abd20491345997e532c0","kind":"tag","published_at":"2024-01-16T14:38:51.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v15.0.0","html_url":"https://github.com/apache/arrow/releases/tag/go/v15.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv15.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv15.0.0/manifests"},{"name":"apache-arrow-15.0.0","sha":"3c655df6d459f50cc9734b4f4da31c84ece6c030","kind":"tag","published_at":"2024-01-14T14:45:32.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-15.0.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-15.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-15.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-15.0.0/manifests"},{"name":"go/v14.0.2","sha":"740889f413af9b1ae1d81eb1e5a4a9fb4ce9cf97","kind":"tag","published_at":"2023-12-12T09:31:43.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v14.0.2","html_url":"https://github.com/apache/arrow/releases/tag/go/v14.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv14.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv14.0.2/manifests"},{"name":"apache-arrow-14.0.2","sha":"740889f413af9b1ae1d81eb1e5a4a9fb4ce9cf97","kind":"tag","published_at":"2023-12-12T09:31:43.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-14.0.2","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-14.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-14.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-14.0.2/manifests"},{"name":"r-14.0.0.1-cran","sha":"e9dfa457975c7165bbb8e8c0ac8bf49716e1115e","kind":"tag","published_at":"2023-11-23T14:18:01.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/r-14.0.0.1-cran","html_url":"https://github.com/apache/arrow/releases/tag/r-14.0.0.1-cran","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/r-14.0.0.1-cran","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/r-14.0.0.1-cran/manifests"},{"name":"r-14.0.0-cran","sha":"c19ad3aae33f861a1c5c491abdb6aa049a5797b3","kind":"tag","published_at":"2023-11-23T12:58:16.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/r-14.0.0-cran","html_url":"https://github.com/apache/arrow/releases/tag/r-14.0.0-cran","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/r-14.0.0-cran","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/r-14.0.0-cran/manifests"},{"name":"apache-arrow-14.0.1.dev","sha":"452c420244ea45ee1376fc8f5707d0fc52c903c5","kind":"commit","published_at":"2023-11-10T15:21:57.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-14.0.1.dev","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-14.0.1.dev","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-14.0.1.dev","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-14.0.1.dev/manifests"},{"name":"apache-arrow-14.0.1","sha":"ba537483618196f50c67a90a473039e4d5dc35e0","kind":"tag","published_at":"2023-11-06T22:23:27.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-14.0.1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-14.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-14.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-14.0.1/manifests"},{"name":"go/v14.0.1","sha":"ba537483618196f50c67a90a473039e4d5dc35e0","kind":"tag","published_at":"2023-11-06T22:23:27.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v14.0.1","html_url":"https://github.com/apache/arrow/releases/tag/go/v14.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv14.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv14.0.1/manifests"},{"name":"apache-arrow-15.0.0.dev","sha":"5d6192c7db5e13d72d79bc9ca470c544344ec52b","kind":"commit","published_at":"2023-11-01T15:41:50.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-15.0.0.dev","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-15.0.0.dev","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-15.0.0.dev","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-15.0.0.dev/manifests"},{"name":"go/v14.0.0","sha":"2dcee3f82c6cf54b53a64729fd81840efa583244","kind":"tag","published_at":"2023-10-19T09:12:19.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v14.0.0","html_url":"https://github.com/apache/arrow/releases/tag/go/v14.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv14.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv14.0.0/manifests"},{"name":"apache-arrow-14.0.0","sha":"2dcee3f82c6cf54b53a64729fd81840efa583244","kind":"tag","published_at":"2023-10-19T09:12:19.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-14.0.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-14.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-14.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-14.0.0/manifests"},{"name":"r-13.0.0.1","sha":"7c1b96e26910dd553ee0ccf0792e1854af6b0021","kind":"tag","published_at":"2023-09-28T09:53:15.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/r-13.0.0.1","html_url":"https://github.com/apache/arrow/releases/tag/r-13.0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/r-13.0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/r-13.0.0.1/manifests"},{"name":"r-13.0.0","sha":"5a4c86ec98c5afa1c6e43c1b0dff11a9853db801","kind":"commit","published_at":"2023-08-30T12:40:09.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/r-13.0.0","html_url":"https://github.com/apache/arrow/releases/tag/r-13.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/r-13.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/r-13.0.0/manifests"},{"name":"apache-arrow-14.0.0.dev","sha":"e38e1c9357e9d52d6457fd8ce2ce9d3cafe578da","kind":"commit","published_at":"2023-08-23T14:00:04.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-14.0.0.dev","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-14.0.0.dev","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-14.0.0.dev","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-14.0.0.dev/manifests"},{"name":"go/v13.0.0","sha":"b7d2f7ffca66c868bd2fce5b3749c6caa002a7f0","kind":"tag","published_at":"2023-08-17T08:01:24.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v13.0.0","html_url":"https://github.com/apache/arrow/releases/tag/go/v13.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv13.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv13.0.0/manifests"},{"name":"apache-arrow-13.0.0","sha":"b7d2f7ffca66c868bd2fce5b3749c6caa002a7f0","kind":"tag","published_at":"2023-08-17T08:01:24.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-13.0.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-13.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-13.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-13.0.0/manifests"},{"name":"r-12.0.1.1","sha":"259bbc513d46ddd0a9107ed682646a0b677982ed","kind":"commit","published_at":"2023-07-18T12:11:44.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/r-12.0.1.1","html_url":"https://github.com/apache/arrow/releases/tag/r-12.0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/r-12.0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/r-12.0.1.1/manifests"},{"name":"r-12.0.1","sha":"caf1b9808c5633de2c7798929fa7dc8bbe42c635","kind":"commit","published_at":"2023-06-13T21:16:00.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/r-12.0.1","html_url":"https://github.com/apache/arrow/releases/tag/r-12.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/r-12.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/r-12.0.1/manifests"},{"name":"go/v12.0.1","sha":"6af660f48472b8b45a5e01b7136b9b040b185eb1","kind":"tag","published_at":"2023-06-07T14:45:55.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v12.0.1","html_url":"https://github.com/apache/arrow/releases/tag/go/v12.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv12.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv12.0.1/manifests"},{"name":"apache-arrow-12.0.1","sha":"6af660f48472b8b45a5e01b7136b9b040b185eb1","kind":"tag","published_at":"2023-06-07T14:45:55.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-12.0.1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-12.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-12.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-12.0.1/manifests"},{"name":"cran-12.0.0","sha":"70dc03ea827017594b7def6f3e937c1a4cdc2c2f","kind":"tag","published_at":"2023-05-09T15:59:15.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/cran-12.0.0","html_url":"https://github.com/apache/arrow/releases/tag/cran-12.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/cran-12.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/cran-12.0.0/manifests"},{"name":"apache-arrow-13.0.0.dev","sha":"a3a01726b1ca195c3d26fec084c0ff19453e6866","kind":"commit","published_at":"2023-05-02T10:02:52.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-13.0.0.dev","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-13.0.0.dev","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-13.0.0.dev","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-13.0.0.dev/manifests"},{"name":"apache-arrow-12.0.0","sha":"9736dde84bb2e6996d1d12f6a044c33398e3c3a3","kind":"tag","published_at":"2023-04-21T08:37:41.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-12.0.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-12.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-12.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-12.0.0/manifests"},{"name":"go/v12.0.0","sha":"9736dde84bb2e6996d1d12f6a044c33398e3c3a3","kind":"tag","published_at":"2023-04-21T08:37:41.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v12.0.0","html_url":"https://github.com/apache/arrow/releases/tag/go/v12.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv12.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv12.0.0/manifests"},{"name":"cran-11.0.0.3","sha":"346481e9d639a6dcda20df66d26271ad5bc1ccd3","kind":"commit","published_at":"2023-03-07T08:12:04.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/cran-11.0.0.3","html_url":"https://github.com/apache/arrow/releases/tag/cran-11.0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/cran-11.0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/cran-11.0.0.3/manifests"},{"name":"cran-11.0.0.2","sha":"be93ef07c136cf927f8c1c3948df4cc5f79c6576","kind":"commit","published_at":"2023-02-10T07:28:31.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/cran-11.0.0.2","html_url":"https://github.com/apache/arrow/releases/tag/cran-11.0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/cran-11.0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/cran-11.0.0.2/manifests"},{"name":"apache-arrow-12.0.0.dev","sha":"d422137d8a4d7578bdf9d5b0fb51b286a8bc92c2","kind":"commit","published_at":"2023-01-30T14:32:06.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-12.0.0.dev","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-12.0.0.dev","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-12.0.0.dev","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-12.0.0.dev/manifests"},{"name":"apache-arrow-11.0.0","sha":"f10f5cfd1376fb0e602334588b3f3624d41dee7d","kind":"tag","published_at":"2023-01-18T08:38:47.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-11.0.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-11.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-11.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-11.0.0/manifests"},{"name":"go/v11.0.0","sha":"f10f5cfd1376fb0e602334588b3f3624d41dee7d","kind":"tag","published_at":"2023-01-18T08:38:47.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v11.0.0","html_url":"https://github.com/apache/arrow/releases/tag/go/v11.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv11.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv11.0.0/manifests"},{"name":"apache-arrow-10.0.1","sha":"a6eabc2b890030578131aecc5e85900597d694a4","kind":"tag","published_at":"2022-11-15T23:56:46.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-10.0.1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-10.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-10.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-10.0.1/manifests"},{"name":"go/v10.0.1","sha":"a6eabc2b890030578131aecc5e85900597d694a4","kind":"tag","published_at":"2022-11-15T23:56:46.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v10.0.1","html_url":"https://github.com/apache/arrow/releases/tag/go/v10.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv10.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv10.0.1/manifests"},{"name":"apache-arrow-11.0.0.dev","sha":"7f6c5aeb5388936709642e48aed6419d1e2144a6","kind":"commit","published_at":"2022-10-26T08:26:35.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-11.0.0.dev","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-11.0.0.dev","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-11.0.0.dev","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-11.0.0.dev/manifests"},{"name":"go/v10.0.0","sha":"89f9a0948961f6e94f1ef5e4f310b707d22a3c11","kind":"tag","published_at":"2022-10-20T21:45:17.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v10.0.0","html_url":"https://github.com/apache/arrow/releases/tag/go/v10.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv10.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv10.0.0/manifests"},{"name":"apache-arrow-10.0.0","sha":"89f9a0948961f6e94f1ef5e4f310b707d22a3c11","kind":"tag","published_at":"2022-10-20T21:45:17.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-10.0.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-10.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-10.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-10.0.0/manifests"},{"name":"apache-arrow-10.0.0.dev","sha":"fc06daed1d399959cb0fcab458e58f7d7cabc7c1","kind":"commit","published_at":"2022-08-03T11:09:42.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-10.0.0.dev","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-10.0.0.dev","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-10.0.0.dev","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-10.0.0.dev/manifests"},{"name":"apache-arrow-9.0.0","sha":"ea6875fd2a3ac66547a9a33c5506da94f3ff07f2","kind":"tag","published_at":"2022-07-29T16:41:29.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-9.0.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-9.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-9.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-9.0.0/manifests"},{"name":"go/v9.0.0","sha":"ea6875fd2a3ac66547a9a33c5506da94f3ff07f2","kind":"tag","published_at":"2022-07-29T16:41:29.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v9.0.0","html_url":"https://github.com/apache/arrow/releases/tag/go/v9.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv9.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv9.0.0/manifests"},{"name":"go/v7.0.1","sha":"072ae55dc8172bb1a898fda5d5a83ec063b05a6d","kind":"tag","published_at":"2022-07-14T07:36:34.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v7.0.1","html_url":"https://github.com/apache/arrow/releases/tag/go/v7.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv7.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv7.0.1/manifests"},{"name":"apache-arrow-7.0.1","sha":"072ae55dc8172bb1a898fda5d5a83ec063b05a6d","kind":"tag","published_at":"2022-07-14T07:36:34.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-7.0.1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-7.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-7.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-7.0.1/manifests"},{"name":"apache-arrow-8.0.1","sha":"9966c39583f1e203bac9200753e9db32478d43a6","kind":"tag","published_at":"2022-07-14T02:51:19.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-8.0.1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-8.0.1/manifests"},{"name":"go/v8.0.1","sha":"9966c39583f1e203bac9200753e9db32478d43a6","kind":"tag","published_at":"2022-07-14T02:51:19.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v8.0.1","html_url":"https://github.com/apache/arrow/releases/tag/go/v8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv8.0.1/manifests"},{"name":"apache-arrow-6.0.2","sha":"3ea5af64865f9910d3c98162c7949af8d63ec68e","kind":"tag","published_at":"2022-07-14T02:08:44.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-6.0.2","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-6.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-6.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-6.0.2/manifests"},{"name":"go/v6.0.2","sha":"3ea5af64865f9910d3c98162c7949af8d63ec68e","kind":"tag","published_at":"2022-07-14T02:08:44.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v6.0.2","html_url":"https://github.com/apache/arrow/releases/tag/go/v6.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv6.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv6.0.2/manifests"},{"name":"apache-arrow-9.0.0.dev","sha":"d9d78946607f36e25e9d812a5cc956bd00ab2bc9","kind":"commit","published_at":"2022-05-06T21:05:25.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-9.0.0.dev","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-9.0.0.dev","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-9.0.0.dev","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-9.0.0.dev/manifests"},{"name":"apache-arrow-8.0.0","sha":"c3d031250a7fdcfee5e576833bf6f39097602c30","kind":"tag","published_at":"2022-05-03T16:56:56.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-8.0.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-8.0.0/manifests"},{"name":"go/v8.0.0","sha":"c3d031250a7fdcfee5e576833bf6f39097602c30","kind":"tag","published_at":"2022-05-03T16:56:56.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v8.0.0","html_url":"https://github.com/apache/arrow/releases/tag/go/v8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv8.0.0/manifests"},{"name":"apache-arrow-8.0.0.dev","sha":"bcf3d3e5a2ae5e70034b104ce69f774b78bbb4de","kind":"commit","published_at":"2022-02-03T19:45:28.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-8.0.0.dev","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-8.0.0.dev","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-8.0.0.dev","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-8.0.0.dev/manifests"},{"name":"apache-arrow-7.0.0","sha":"e90472e35b40f58b17d408438bb8de1641bfe6ef","kind":"tag","published_at":"2022-01-29T00:08:29.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-7.0.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-7.0.0/manifests"},{"name":"go/v7.0.0","sha":"e90472e35b40f58b17d408438bb8de1641bfe6ef","kind":"tag","published_at":"2022-01-29T00:08:29.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v7.0.0","html_url":"https://github.com/apache/arrow/releases/tag/go/v7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv7.0.0/manifests"},{"name":"apache-arrow-6.0.1","sha":"347a88ff9d20e2a4061eec0b455b8ea1aa8335dc","kind":"tag","published_at":"2021-11-10T02:04:48.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-6.0.1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-6.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-6.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-6.0.1/manifests"},{"name":"go/v6.0.1","sha":"347a88ff9d20e2a4061eec0b455b8ea1aa8335dc","kind":"tag","published_at":"2021-11-10T02:04:48.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/v6.0.1","html_url":"https://github.com/apache/arrow/releases/tag/go/v6.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv6.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fv6.0.1/manifests"},{"name":"apache-arrow-7.0.0.dev","sha":"9e42a09baf2c53086d26351153a6d1638b001616","kind":"commit","published_at":"2021-10-27T11:25:45.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-7.0.0.dev","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-7.0.0.dev","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-7.0.0.dev","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-7.0.0.dev/manifests"},{"name":"go/parquet/v6.0.0","sha":"5a5f4ce326194750422ef6f053469ed1912ce69f","kind":"tag","published_at":"2021-10-21T19:02:01.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/parquet/v6.0.0","html_url":"https://github.com/apache/arrow/releases/tag/go/parquet/v6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fparquet%2Fv6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Fparquet%2Fv6.0.0/manifests"},{"name":"go/arrow/v6.0.0","sha":"5a5f4ce326194750422ef6f053469ed1912ce69f","kind":"tag","published_at":"2021-10-21T19:02:01.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/go/arrow/v6.0.0","html_url":"https://github.com/apache/arrow/releases/tag/go/arrow/v6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Farrow%2Fv6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/go%2Farrow%2Fv6.0.0/manifests"},{"name":"apache-arrow-6.0.0","sha":"5a5f4ce326194750422ef6f053469ed1912ce69f","kind":"tag","published_at":"2021-10-21T19:02:01.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-6.0.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-6.0.0/manifests"},{"name":"apache-arrow-6.0.0.dev","sha":"1f481d91fc24151476ba5bec3c9d3594ae27defa","kind":"commit","published_at":"2021-07-28T17:07:50.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-6.0.0.dev","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-6.0.0.dev","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-6.0.0.dev","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-6.0.0.dev/manifests"},{"name":"apache-arrow-5.0.0","sha":"4591d76fce2846a29dac33bf01e9ba0337b118e9","kind":"tag","published_at":"2021-07-22T12:38:02.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-5.0.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-5.0.0/manifests"},{"name":"apache-arrow-4.0.1","sha":"81ff679c47754692224f655dab32cc0936bb5f55","kind":"tag","published_at":"2021-05-19T03:51:46.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-4.0.1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-4.0.1/manifests"},{"name":"apache-arrow-5.0.0.dev","sha":"aa28470ca2a901a80e88874b4341905a3188186f","kind":"commit","published_at":"2021-04-27T15:35:40.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-5.0.0.dev","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-5.0.0.dev","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-5.0.0.dev","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-5.0.0.dev/manifests"},{"name":"apache-arrow-4.0.0","sha":"f959141ece4d660bce5f7fa545befc0116a7db79","kind":"tag","published_at":"2021-04-21T16:11:40.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-4.0.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-4.0.0/manifests"},{"name":"apache-arrow-3.0.0","sha":"d613aa68789288d3503dfbd8376a41f2d28b6c9d","kind":"tag","published_at":"2021-01-18T21:43:06.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-3.0.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-3.0.0/manifests"},{"name":"apache-arrow-2.0.0","sha":"478286658055bb91737394c2065b92a7e92fb0c1","kind":"tag","published_at":"2020-10-12T23:47:18.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-2.0.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-2.0.0/manifests"},{"name":"apache-arrow-1.0.1","sha":"886d87bdea78ce80e39a4b5b6fd6ca6042474c5f","kind":"tag","published_at":"2020-08-17T17:45:21.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-1.0.1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-1.0.1/manifests"},{"name":"apache-arrow-1.0.0","sha":"b0d623957db820de4f1ff0a5ebd3e888194a48f0","kind":"tag","published_at":"2020-07-20T20:49:26.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-1.0.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-1.0.0/manifests"},{"name":"apache-arrow-0.17.1","sha":"ff7ee06020949daf66ac05090753e1a17736d9fa","kind":"tag","published_at":"2020-05-14T11:08:08.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.17.1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.17.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.17.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.17.1/manifests"},{"name":"apache-arrow-0.17.0","sha":"3cbcb7b62c2f2d02851bff837758637eb592a64b","kind":"tag","published_at":"2020-04-16T13:42:45.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.17.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.17.0/manifests"},{"name":"apache-arrow-0.16.0","sha":"729a7689fd87572e6a14ad36f19cd579a8b8d9c5","kind":"tag","published_at":"2020-01-30T20:30:24.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.16.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.16.0/manifests"},{"name":"apache-arrow-0.15.1","sha":"b789226ccb2124285792107c758bb3b40b3d082a","kind":"tag","published_at":"2019-10-25T12:19:21.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.15.1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.15.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.15.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.15.1/manifests"},{"name":"apache-arrow-0.15.0","sha":"40d468e162e88e1761b1e80b3ead060f0be927ee","kind":"tag","published_at":"2019-09-30T17:29:21.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.15.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.15.0/manifests"},{"name":"apache-arrow-0.14.1","sha":"5f564424c71cef12619522cdde59be5f69b31b68","kind":"tag","published_at":"2019-07-16T21:06:08.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.14.1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.14.1/manifests"},{"name":"apache-arrow-0.14.0","sha":"a591d76ad9a657110368aa422bb00f4010cb6b6e","kind":"tag","published_at":"2019-06-28T22:26:47.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.14.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.14.0/manifests"},{"name":"apache-arrow-0.13.0","sha":"dfb9e7af3cd92722893a3819b6676dfdef08f896","kind":"tag","published_at":"2019-03-28T02:28:32.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.13.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.13.0/manifests"},{"name":"apache-arrow-js-0.4.1","sha":"e9cf83c48b9740d42b5d18158e61c0962fda59c1","kind":"tag","published_at":"2019-03-21T19:36:59.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-js-0.4.1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-js-0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-js-0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-js-0.4.1/manifests"},{"name":"apache-arrow-0.12.1","sha":"ba09a9e93dc28da629f63e101e231c8b8df942d3","kind":"tag","published_at":"2019-02-21T13:17:46.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.12.1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.12.1/manifests"},{"name":"apache-arrow-js-0.4.0","sha":"6009eaa49ae29826764eb6e626bf0d12b83f3481","kind":"tag","published_at":"2019-01-31T15:06:44.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-js-0.4.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-js-0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-js-0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-js-0.4.0/manifests"},{"name":"apache-arrow-0.12.0","sha":"8ca41384b5324bfd0ef3d3ed3f728e1d10ed73f0","kind":"tag","published_at":"2019-01-16T03:36:10.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.12.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.12.0/manifests"},{"name":"apache-arrow-0.11.1","sha":"b65beb625fb14a6b627be667a32c136a79cb5c6f","kind":"tag","published_at":"2018-10-19T16:32:44.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.11.1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.11.1/manifests"},{"name":"apache-arrow-0.11.0","sha":"98db7054ecf6c21d552ab4ac7a729f6c0c8f8c5f","kind":"tag","published_at":"2018-10-04T00:38:08.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.11.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.11.0/manifests"},{"name":"apache-arrow-0.10.0","sha":"07f142df646c9070fc9c627004dfdc96914fe487","kind":"tag","published_at":"2018-08-03T00:02:30.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.10.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.10.0/manifests"},{"name":"apache-arrow-0.10.0-rc1","sha":"8fef43c50eb4217bd9a4d37da5536087e8f17e3c","kind":"commit","published_at":"2018-07-30T19:38:54.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.10.0-rc1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.10.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.10.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.10.0-rc1/manifests"},{"name":"apache-arrow-0.9.0","sha":"c695a5ddc8d26c977b5ecd0c55212e900726953e","kind":"tag","published_at":"2018-03-16T16:56:41.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.9.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.9.0/manifests"},{"name":"apache-arrow-js-0.3.1","sha":"077bd53df590cafe26fc784b3c6d03bf1ac24f67","kind":"tag","published_at":"2018-03-15T00:09:24.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-js-0.3.1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-js-0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-js-0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-js-0.3.1/manifests"},{"name":"apache-arrow-js-0.3.0","sha":"7d992de1de7dd276eb9aeda349376e79b62da11c","kind":"tag","published_at":"2018-02-19T20:36:56.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-js-0.3.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-js-0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-js-0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-js-0.3.0/manifests"},{"name":"apache-arrow-0.8.0","sha":"1d689e5a3e417d3a4b3de16fea7a6fe195c8f8df","kind":"tag","published_at":"2017-12-12T22:22:39.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.8.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.8.0/manifests"},{"name":"apache-arrow-js-0.2.0","sha":"61763504e53fb5531f1d642c399b8ec7b094b337","kind":"tag","published_at":"2017-11-27T15:36:33.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-js-0.2.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-js-0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-js-0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-js-0.2.0/manifests"},{"name":"apache-arrow-0.7.1","sha":"0e21f84c2fc26dba949a03ee7d7ebfade0a65b81","kind":"tag","published_at":"2017-09-27T13:19:15.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.7.1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.7.1/manifests"},{"name":"apache-arrow-0.7.0","sha":"97f9029ce835dfc2655ca91b9820a2e6aed89107","kind":"tag","published_at":"2017-09-12T22:01:24.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.7.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.7.0/manifests"},{"name":"apache-arrow-0.6.0","sha":"b17333482ea1da3728538bc912b1053ba70ed2e7","kind":"tag","published_at":"2017-08-11T21:28:01.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.6.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.6.0/manifests"},{"name":"apache-arrow-0.5.0","sha":"e9f76e125b836d0fdc0a533e2fee3fca8bf4c1a1","kind":"tag","published_at":"2017-07-20T17:02:51.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.5.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.5.0/manifests"},{"name":"apache-arrow-0.4.1","sha":"46315431aeda3b6968b3ac4c1087f6d41052b99d","kind":"tag","published_at":"2017-06-07T02:13:36.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.4.1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.4.1/manifests"},{"name":"apache-arrow-0.4.0","sha":"a8f8ba0cbcf5f596f042e90b7a208e7a0c3925b7","kind":"tag","published_at":"2017-05-19T15:16:38.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.4.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.4.0/manifests"},{"name":"apache-arrow-0.3.0","sha":"d8db8f8a11abbbb6c45645b2d7370610311731bd","kind":"tag","published_at":"2017-05-02T20:07:00.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.3.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.3.0/manifests"},{"name":"apache-arrow-0.3.0-rc1","sha":"d12fba2d6125477bb569387926c719fc786e6ae6","kind":"tag","published_at":"2017-05-02T18:14:56.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.3.0-rc1","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.3.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.3.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.3.0-rc1/manifests"},{"name":"apache-arrow-0.2.0","sha":"f6924ad83bc95741f003830892ad4815ca3b70fd","kind":"tag","published_at":"2017-02-15T14:59:46.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.2.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.2.0/manifests"},{"name":"apache-arrow-0.1.0","sha":"e7080ef9f1bd91505996edd4e4b7643cc54f6b5f","kind":"tag","published_at":"2016-10-08T00:15:08.000Z","download_url":"https://codeload.github.com/apache/arrow/tar.gz/apache-arrow-0.1.0","html_url":"https://github.com/apache/arrow/releases/tag/apache-arrow-0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Farrow/tags/apache-arrow-0.1.0/manifests"}]},"repo_metadata_updated_at":"2024-09-08T06:30:23.366Z","dependent_packages_count":2480,"downloads":185883836,"downloads_period":"last-month","dependent_repos_count":23710,"rankings":{"downloads":0.010821577859418533,"dependent_repos_count":0.04988930809765832,"dependent_packages_count":0.012288910450526129,"stargazers_count":0.39287830126905926,"forks_count":0.3406045777108511,"docker_downloads_count":0.2980519325687308,"average":0.1840891013260407},"purl":"pkg:pypi/pyarrow","advisories":[{"uuid":"GSA_kwCzR0hTQS01d3ZwLTdmM2gtNndtbc4AA3Am","url":"https://github.com/advisories/GHSA-5wvp-7f3h-6wmm","title":"PyArrow: Arbitrary code execution when loading a malicious data file","description":"Deserialization of untrusted data in IPC and Parquet readers in PyArrow versions 0.14.0 to 14.0.0 allows arbitrary code execution. An application is vulnerable if it reads Arrow IPC, Feather or Parquet data from untrusted sources (for example user-supplied input files).\n\nThis vulnerability only affects PyArrow, not other Apache Arrow implementations or bindings.\n\nIt is recommended that users of PyArrow upgrade to 14.0.1. Similarly, it is recommended that downstream libraries upgrade their dependency requirements to PyArrow 14.0.1 or later. PyPI packages are already available, and we hope that conda-forge packages will be available soon.\n\nIf it is not possible to upgrade, maintainers provide a separate package `pyarrow-hotfix` that disables the vulnerability on older PyArrow versions. See https://pypi.org/project/pyarrow-hotfix/  for instructions.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2023-11-09T09:30:26.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.8,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-47248","https://lists.apache.org/thread/yhy7tdfjf9hrl9vfrtzo8p2cyjq87v7n","https://github.com/apache/arrow/commit/f14170976372436ec1d03a724d8d3f3925484ecf","https://github.com/advisories/GHSA-5wvp-7f3h-6wmm","https://github.com/pypa/advisory-database/tree/main/vulns/pyarrow/PYSEC-2023-238.yaml","https://www.cve.org/CVERecord?id=CVE-2023-47248","https://www.openwall.com/lists/oss-security/2023/11/08/7","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/FR34AIPXVTMB3XPRU5ULV5HHWPMRE33X","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/MAGWEAJDWO2ACYATUQCPXLSYY5C3L3XU","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/MWFYXLVBTBHNKYRXI572RFX7IJDDQGBL","https://pypi.org/project/pyarrow-hotfix"],"source_kind":"github","identifiers":["GHSA-5wvp-7f3h-6wmm","CVE-2023-47248"],"repository_url":"https://github.com/apache/arrow","blast_radius":42.87432922898624,"packages":[{"versions":[{"first_patched_version":"14.0.1","vulnerable_version_range":"\u003e= 0.14.0, \u003c 14.0.1"}],"ecosystem":"pypi","package_name":"pyarrow"}],"created_at":"2023-11-09T23:05:44.786Z","updated_at":"2024-10-21T20:52:57.000Z","epss_percentage":0.01596,"epss_percentile":0.87013},{"uuid":"GSA_kwCzR0hTQS1janc0LTJ3OXItcjhtds4AAinR","url":"https://github.com/advisories/GHSA-cjw4-2w9r-r8mv","title":"Missing Initialization of Resource in Apache Arrow","description":"While investigating UBSAN errors in https://github.com/apache/arrow/pull/5365 it was discovered Apache Arrow versions 0.12.0 to 0.14.1, left memory Array data uninitialized when reading RLE null data from parquet. This affected the C++, Python, Ruby and R implementations. The uninitialized memory could potentially be shared if are transmitted over the wire (for instance with Flight) or persisted in the streaming IPC and file formats.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-05-24T17:00:40.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-12410","https://lists.apache.org/thread.html/49f067b1c5fb7493d952580f0d2d032819ba351f7a78743c21126269@%3Cdev.arrow.apache.org%3E","https://lists.apache.org/thread.html/efd8bbf57427d3c303b5316d208a335f8d0c0dbe0dc4c87cfa995073@%3Cannounce.apache.org%3E","http://www.openwall.com/lists/oss-security/2019/11/08/1","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/red-arrow/CVE-2019-12410.yml","https://github.com/advisories/GHSA-cjw4-2w9r-r8mv","https://github.com/pypa/advisory-database/tree/main/vulns/pyarrow/PYSEC-2019-196.yaml"],"source_kind":"github","identifiers":["GHSA-cjw4-2w9r-r8mv","CVE-2019-12410"],"repository_url":null,"blast_radius":48.97700693582438,"packages":[{"versions":[{"first_patched_version":"0.15.1","vulnerable_version_range":"\u003e= 0.12.0, \u003c 0.15.1"}],"ecosystem":"pypi","package_name":"pyarrow"},{"versions":[{"first_patched_version":"0.15.1","vulnerable_version_range":"\u003e= 0.12.0, \u003c 0.15.1"}],"ecosystem":"rubygems","package_name":"red-arrow"}],"created_at":"2022-12-21T16:12:09.133Z","updated_at":"2024-10-21T20:14:48.000Z","epss_percentage":0.00868,"epss_percentile":0.82144},{"uuid":"GSA_kwCzR0hTQS04Y3cyLWp2NWMtYzgyNc4AAina","url":"https://github.com/advisories/GHSA-8cw2-jv5c-c825","title":"Missing Initialization of Resource in Apache Arrow","description":"It was discovered that the C++ implementation (which underlies the R, Python and Ruby implementations) of Apache Arrow 0.14.0 to 0.14.1 had a uninitialized memory bug when building arrays with null values in some cases. This can lead to uninitialized memory being unintentionally shared if Arrow Arrays are transmitted over the wire (for instance with Flight) or persisted in the streaming IPC and file formats.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-05-24T17:00:40.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-12408","https://lists.apache.org/thread.html/49f067b1c5fb7493d952580f0d2d032819ba351f7a78743c21126269@%3Cdev.arrow.apache.org%3E","https://lists.apache.org/thread.html/efd8bbf57427d3c303b5316d208a335f8d0c0dbe0dc4c87cfa995073@%3Cannounce.apache.org%3E","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/red-arrow/CVE-2019-12408.yml","https://github.com/pypa/advisory-database/tree/main/vulns/pyarrow/PYSEC-2019-195.yaml","https://github.com/advisories/GHSA-8cw2-jv5c-c825"],"source_kind":"github","identifiers":["GHSA-8cw2-jv5c-c825","CVE-2019-12408"],"repository_url":null,"blast_radius":48.97700693582438,"packages":[{"versions":[{"first_patched_version":"0.15.1","vulnerable_version_range":"\u003e= 0.14.0, \u003c 0.15.1"}],"ecosystem":"pypi","package_name":"pyarrow"},{"versions":[{"first_patched_version":"0.15.1","vulnerable_version_range":"\u003e= 0.14.0, \u003c 0.15.1"}],"ecosystem":"rubygems","package_name":"red-arrow"}],"created_at":"2022-12-21T16:11:51.772Z","updated_at":"2025-01-18T01:13:03.766Z","epss_percentage":0.00161,"epss_percentile":0.53531}],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/pyarrow","docker_dependents_count":2814,"docker_downloads_count":426654031,"usage_url":"https://repos.ecosyste.ms/usage/pypi/pyarrow","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/pyarrow/dependencies","status":null,"funding_links":[],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyarrow/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyarrow/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyarrow/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyarrow/related_packages","maintainers":[{"uuid":"Charles.Cloud","login":"Charles.Cloud","name":null,"email":null,"url":null,"packages_count":18,"html_url":"https://pypi.org/user/Charles.Cloud/","role":null,"created_at":"2023-01-17T04:29:30.106Z","updated_at":"2023-01-17T04:29:30.106Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/Charles.Cloud/packages"},{"uuid":"jorisvandenbossche","login":"jorisvandenbossche","name":null,"email":null,"url":null,"packages_count":12,"html_url":"https://pypi.org/user/jorisvandenbossche/","role":null,"created_at":"2023-01-17T04:29:30.117Z","updated_at":"2023-01-17T04:29:30.117Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/jorisvandenbossche/packages"},{"uuid":"kszucs","login":"kszucs","name":null,"email":null,"url":null,"packages_count":36,"html_url":"https://pypi.org/user/kszucs/","role":null,"created_at":"2023-01-17T04:29:30.125Z","updated_at":"2023-01-17T04:29:30.125Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/kszucs/packages"},{"uuid":"jorgecarleitao","login":"jorgecarleitao","name":null,"email":null,"url":null,"packages_count":11,"html_url":"https://pypi.org/user/jorgecarleitao/","role":null,"created_at":"2023-01-17T04:29:30.112Z","updated_at":"2023-01-17T04:29:30.112Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/jorgecarleitao/packages"},{"uuid":"cutlerb","login":"cutlerb","name":null,"email":null,"url":null,"packages_count":8,"html_url":"https://pypi.org/user/cutlerb/","role":null,"created_at":"2023-01-17T04:29:30.138Z","updated_at":"2023-01-17T04:29:30.138Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/cutlerb/packages"},{"uuid":"wesm","login":"wesm","name":null,"email":null,"url":null,"packages_count":12,"html_url":"https://pypi.org/user/wesm/","role":null,"created_at":"2023-01-17T04:29:30.130Z","updated_at":"2023-01-17T04:29:30.130Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/wesm/packages"},{"uuid":"xhochy","login":"xhochy","name":null,"email":null,"url":null,"packages_count":12,"html_url":"https://pypi.org/user/xhochy/","role":null,"created_at":"2023-01-17T04:29:30.134Z","updated_at":"2023-01-17T04:29:30.134Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/xhochy/packages"},{"uuid":"kou","login":"kou","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://pypi.org/user/kou/","role":null,"created_at":"2023-01-17T04:29:30.121Z","updated_at":"2023-01-17T04:29:30.121Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/kou/packages"},{"uuid":"raulcd","login":"raulcd","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/raulcd/","role":null,"created_at":"2023-01-26T21:46:44.538Z","updated_at":"2023-01-26T21:46:44.538Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/raulcd/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":690329,"maintainers_count":292761,"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":266,"unique_repositories_count_past_30_days":8,"recent_issues":[{"uuid":"4199301709","node_id":"PR_kwDORQKSoM7PwkV3","number":16,"state":"closed","title":"Bump the python group across 1 directory with 18 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-06T08:50:39.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-03T08:48:37.000Z","updated_at":"2026-04-06T08:50:41.000Z","time_to_close":259322,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python","update_count":18,"packages":[{"name":"django-allauth","old_version":"65.14.2","new_version":"65.15.1"},{"name":"django-crispy-forms","old_version":"2.5","new_version":"2.6","repository_url":"https://github.com/django-crispy-forms/django-crispy-forms"},{"name":"django-environ","old_version":"0.12.0","new_version":"0.13.0","repository_url":"https://github.com/joke2k/django-environ"},{"name":"django-hijack","old_version":"3.7.6","new_version":"3.7.7","repository_url":"https://github.com/django-hijack/django-hijack"},{"name":"gunicorn","old_version":"25.1.0","new_version":"25.3.0","repository_url":"https://github.com/benoitc/gunicorn"},{"name":"pillow","old_version":"12.1.1","new_version":"12.2.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"psycopg","old_version":"3.3.2","new_version":"3.3.3"},{"name":"pyarrow","old_version":"23.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"python-json-logger","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"redis","old_version":"7.1.1","new_version":"7.4.0","repository_url":"https://github.com/redis/redis-py"},{"name":"whitenoise","old_version":"6.11.0","new_version":"6.12.0","repository_url":"https://github.com/evansd/whitenoise"},{"name":"anthropic","old_version":"0.86.0","new_version":"0.88.0","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"name":"coverage","old_version":"7.13.4","new_version":"7.13.5","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"django-debug-toolbar","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/django-commons/django-debug-toolbar"},{"name":"factory-boy","old_version":"3.3.2","new_version":"3.3.3","repository_url":"https://github.com/FactoryBoy/factory_boy"},{"name":"pytest-django","old_version":"4.11.1","new_version":"4.12.0","repository_url":"https://github.com/pytest-dev/pytest-django"},{"name":"ruff","old_version":"0.15.1","new_version":"0.15.9","repository_url":"https://github.com/astral-sh/ruff"},{"name":"werkzeug","old_version":"3.1.5","new_version":"3.1.8"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python group with 18 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [django-allauth[mfa]](https://github.com/sponsors/pennersr) | `65.14.2` | `65.15.1` |\n| [django-crispy-forms](https://github.com/django-crispy-forms/django-crispy-forms) | `2.5` | `2.6` |\n| [django-environ](https://github.com/joke2k/django-environ) | `0.12.0` | `0.13.0` |\n| [django-hijack](https://github.com/django-hijack/django-hijack) | `3.7.6` | `3.7.7` |\n| [gunicorn](https://github.com/benoitc/gunicorn) | `25.1.0` | `25.3.0` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.1.1` | `12.2.0` |\n| [psycopg[binary]](https://github.com/psycopg/psycopg) | `3.3.2` | `3.3.3` |\n| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `23.0.1` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [redis](https://github.com/redis/redis-py) | `7.1.1` | `7.4.0` |\n| [whitenoise](https://github.com/evansd/whitenoise) | `6.11.0` | `6.12.0` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.86.0` | `0.88.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.4` | `7.13.5` |\n| [django-debug-toolbar](https://github.com/django-commons/django-debug-toolbar) | `6.2.0` | `6.3.0` |\n| [factory-boy](https://github.com/FactoryBoy/factory_boy) | `3.3.2` | `3.3.3` |\n| [pytest-django](https://github.com/pytest-dev/pytest-django) | `4.11.1` | `4.12.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.1` | `0.15.9` |\n| [werkzeug[watchdog]](https://github.com/pallets/werkzeug) | `3.1.5` | `3.1.8` |\n\n\nUpdates `django-allauth[mfa]` from 65.14.2 to 65.15.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sponsors/pennersr/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-crispy-forms` from 2.5 to 2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/releases\"\u003edjango-crispy-forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.6 (2026-03-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Django 4.2, 5.0 and 5.1.\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/django-crispy-forms/django-crispy-forms/blob/main/CHANGELOG.md\"\u003edjango-crispy-forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.6 (2026-03-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Django 4.2, 5.0 and 5.1.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/dc8007e35f3387cca3e799a6fc93226a5a808bdc\"\u003e\u003ccode\u003edc8007e\u003c/code\u003e\u003c/a\u003e Release 2.6. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/792c6717388aef8fa4b8482f6858048afaa6803f\"\u003e\u003ccode\u003e792c671\u003c/code\u003e\u003c/a\u003e Updated versions in pyproject.toml. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1431\"\u003e#1431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/af31d24c681a90b5217df66d47a6da292baff89c\"\u003e\u003ccode\u003eaf31d24\u003c/code\u003e\u003c/a\u003e Fix incorrect reverse in crispy tag docs (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1410\"\u003e#1410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/fb7acdcbb861a5194e26739cf5e2f0ac16d4b30c\"\u003e\u003ccode\u003efb7acdc\u003c/code\u003e\u003c/a\u003e Don't crash when using the crispy template tag and missing variables (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1418\"\u003e#1418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/d30a0ab6e3f180c9ca63636a45e261b0815ce0ac\"\u003e\u003ccode\u003ed30a0ab\u003c/code\u003e\u003c/a\u003e Dropped unsupported Django versions. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1430\"\u003e#1430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/3f5b88da2a305f79a8cae5f6bd54475c22535652\"\u003e\u003ccode\u003e3f5b88d\u003c/code\u003e\u003c/a\u003e Improved |as_crispy_field error message. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1427\"\u003e#1427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/6a97c68d7465a75db57108d50959f98aabd2ec1b\"\u003e\u003ccode\u003e6a97c68\u003c/code\u003e\u003c/a\u003e Fix typos in some files (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1425\"\u003e#1425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/compare/2.5...2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-environ` from 0.12.0 to 0.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/joke2k/django-environ/releases\"\u003edjango-environ's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.0\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ev0.13.0\u003c/code\u003e_ - 18-February-2026\u003c/h2\u003e\n\u003cp\u003eAdded\n+++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded optional warnings when defaults are used\n\u003ccode\u003e[#582](https://github.com/joke2k/django-environ/issues/582) \u0026lt;https://github.com/joke2k/django-environ/pull/582\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echoices\u003c/code\u003e argument support for value validation in \u003ccode\u003eEnv.str(...)\u003c/code\u003e\n\u003ccode\u003e[#555](https://github.com/joke2k/django-environ/issues/555) \u0026lt;https://github.com/joke2k/django-environ/pull/555\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eAdded Valkey support via \u003ccode\u003evalkey://\u003c/code\u003e and \u003ccode\u003evalkeys://\u003c/code\u003e cache URL schemes\n\u003ccode\u003e[#554](https://github.com/joke2k/django-environ/issues/554) \u0026lt;https://github.com/joke2k/django-environ/pull/554\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003erediss://\u003c/code\u003e scheme in channels URL parsing\n\u003ccode\u003e[#573](https://github.com/joke2k/django-environ/issues/573) \u0026lt;https://github.com/joke2k/django-environ/pull/573\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eAdded django-prometheus database backend aliases to DB URL parsing schemes\n\u003ccode\u003e[#559](https://github.com/joke2k/django-environ/issues/559) \u0026lt;https://github.com/joke2k/django-environ/pull/559\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanged\n+++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeclared support for Python 3.14\n\u003ccode\u003e[#580](https://github.com/joke2k/django-environ/issues/580) \u0026lt;https://github.com/joke2k/django-environ/pull/580\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eDeclared support for Django 5.2 and Django 6.0\n\u003ccode\u003e[#578](https://github.com/joke2k/django-environ/issues/578) \u0026lt;https://github.com/joke2k/django-environ/pull/578\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixed\n+++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved type hint coverage and related lint issues\n\u003ccode\u003e[#546](https://github.com/joke2k/django-environ/issues/546) \u0026lt;https://github.com/joke2k/django-environ/pull/546\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eFixed typos in the FAQ page\n\u003ccode\u003e[#445](https://github.com/joke2k/django-environ/issues/445) \u0026lt;https://github.com/joke2k/django-environ/pull/445\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.12.1\u003c/h2\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eFixed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed PostgreSQL cluster URL parsing with bracketed IPv6 hosts in recent\nPython versions, preventing failures in runtime URL parsing and related\nregression tests\n\u003ccode\u003e[#574](https://github.com/joke2k/django-environ/issues/574) \u0026lt;https://github.com/joke2k/django-environ/issues/574\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eFixed debug logging in \u003ccode\u003eEnv.get_value()\u003c/code\u003e to avoid evaluating lazy default\nobjects when DEBUG logging is enabled\n\u003ccode\u003e[#571](https://github.com/joke2k/django-environ/issues/571) \u0026lt;https://github.com/joke2k/django-environ/issues/571\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/joke2k/django-environ/blob/develop/CHANGELOG.rst\"\u003edjango-environ's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003ev0.13.0\u003c/code\u003e_ - 18-February-2026\u003c/h2\u003e\n\u003cp\u003eAdded\n+++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded optional warnings when defaults are used\n\u003ccode\u003e[#582](https://github.com/joke2k/django-environ/issues/582) \u0026lt;https://github.com/joke2k/django-environ/pull/582\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echoices\u003c/code\u003e argument support for value validation in \u003ccode\u003eEnv.str(...)\u003c/code\u003e\n\u003ccode\u003e[#555](https://github.com/joke2k/django-environ/issues/555) \u0026lt;https://github.com/joke2k/django-environ/pull/555\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eAdded Valkey support via \u003ccode\u003evalkey://\u003c/code\u003e and \u003ccode\u003evalkeys://\u003c/code\u003e cache URL schemes\n\u003ccode\u003e[#554](https://github.com/joke2k/django-environ/issues/554) \u0026lt;https://github.com/joke2k/django-environ/pull/554\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003erediss://\u003c/code\u003e scheme in channels URL parsing\n\u003ccode\u003e[#573](https://github.com/joke2k/django-environ/issues/573) \u0026lt;https://github.com/joke2k/django-environ/pull/573\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eAdded django-prometheus database backend aliases to DB URL parsing schemes\n\u003ccode\u003e[#559](https://github.com/joke2k/django-environ/issues/559) \u0026lt;https://github.com/joke2k/django-environ/pull/559\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanged\n+++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeclared support for Python 3.14\n\u003ccode\u003e[#580](https://github.com/joke2k/django-environ/issues/580) \u0026lt;https://github.com/joke2k/django-environ/pull/581\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eDeclared support for Django 5.2 and Django 6.0\n\u003ccode\u003e[#578](https://github.com/joke2k/django-environ/issues/578) \u0026lt;https://github.com/joke2k/django-environ/pull/578\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixed\n+++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved type hint coverage and related lint issues\n\u003ccode\u003e[#546](https://github.com/joke2k/django-environ/issues/546) \u0026lt;https://github.com/joke2k/django-environ/pull/546\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eFixed typos in the FAQ page\n\u003ccode\u003e[#445](https://github.com/joke2k/django-environ/issues/445) \u0026lt;https://github.com/joke2k/django-environ/pull/445\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003ev0.12.1\u003c/code\u003e_ - 13-February-2026\u003c/h2\u003e\n\u003cp\u003eFixed\n+++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed PostgreSQL cluster URL parsing with bracketed IPv6 hosts in recent\nPython versions, preventing failures in runtime URL parsing and related\nregression tests\n\u003ccode\u003e[#574](https://github.com/joke2k/django-environ/issues/574) \u0026lt;https://github.com/joke2k/django-environ/issues/574\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eFixed debug logging in \u003ccode\u003eEnv.get_value()\u003c/code\u003e to avoid evaluating lazy default\nobjects when DEBUG logging is enabled\n\u003ccode\u003e[#571](https://github.com/joke2k/django-environ/issues/571) \u0026lt;https://github.com/joke2k/django-environ/issues/571\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/00746d0f63d37dcafad527ea7a820a46f8fb81e0\"\u003e\u003ccode\u003e00746d0\u003c/code\u003e\u003c/a\u003e docs: add Django 5.2 and 6.0 support to README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/d1f115932aed9d21c38c898c3ae4b4b678cd210d\"\u003e\u003ccode\u003ed1f1159\u003c/code\u003e\u003c/a\u003e Release 0.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/d82e361ddb7ffdad01451623d806d402c3a657fd\"\u003e\u003ccode\u003ed82e361\u003c/code\u003e\u003c/a\u003e Add optional warnings when defaults are used (\u003ca href=\"https://redirect.github.com/joke2k/django-environ/issues/582\"\u003e#582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/a78f7c888d840c1b1903371f2424ee641906c923\"\u003e\u003ccode\u003ea78f7c8\u003c/code\u003e\u003c/a\u003e Fixed some typos in the FAQ page (\u003ca href=\"https://redirect.github.com/joke2k/django-environ/issues/445\"\u003e#445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/24b299e002f3bcc14983eef4be770edb143338dc\"\u003e\u003ccode\u003e24b299e\u003c/code\u003e\u003c/a\u003e Feature/add choice parameter and raise an exception if fetched value is not w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/c4414130f4cf11704e9f1ea446c68074f69c0b54\"\u003e\u003ccode\u003ec441413\u003c/code\u003e\u003c/a\u003e Add django-prometheus database backends to DB_SCHEMES (\u003ca href=\"https://redirect.github.com/joke2k/django-environ/issues/559\"\u003e#559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/98a0aad4c10e789d84e572a3f97a5a9cf9080973\"\u003e\u003ccode\u003e98a0aad\u003c/code\u003e\u003c/a\u003e Fix lint issues in environ type hints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/f4e77e41e629ae8631da9582241f7db527085699\"\u003e\u003ccode\u003ef4e77e4\u003c/code\u003e\u003c/a\u003e feat(cache): add valkey and valkeys as allowed schemes (\u003ca href=\"https://redirect.github.com/joke2k/django-environ/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/dd4d308baea427b5e820a8ac326b0d63e557c956\"\u003e\u003ccode\u003edd4d308\u003c/code\u003e\u003c/a\u003e Add type hints (\u003ca href=\"https://redirect.github.com/joke2k/django-environ/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/3137c4f733f90a14a12da9fc252d446357190537\"\u003e\u003ccode\u003e3137c4f\u003c/code\u003e\u003c/a\u003e Support lower case options for Django Redis cache backend (\u003ca href=\"https://redirect.github.com/joke2k/django-environ/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/joke2k/django-environ/compare/v0.12.0...v0.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-hijack` from 3.7.6 to 3.7.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-hijack/django-hijack/releases\"\u003edjango-hijack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.7.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove project link by \u003ca href=\"https://github.com/adamchainz\"\u003e\u003ccode\u003e@​adamchainz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-hijack/django-hijack/pull/892\"\u003edjango-hijack/django-hijack#892\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/adamchainz\"\u003e\u003ccode\u003e@​adamchainz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-hijack/django-hijack/pull/892\"\u003edjango-hijack/django-hijack#892\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/django-hijack/django-hijack/compare/3.7.6...3.7.7\"\u003ehttps://github.com/django-hijack/django-hijack/compare/3.7.6...3.7.7\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/django-hijack/django-hijack/commit/b8b01cf2b4ac04d250e6a1a7998f4b01a8fa14c4\"\u003e\u003ccode\u003eb8b01cf\u003c/code\u003e\u003c/a\u003e Fix existing and all relevant project links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-hijack/django-hijack/commit/6cbc23a4757a02c14f972bad6c1001b1aba0f556\"\u003e\u003ccode\u003e6cbc23a\u003c/code\u003e\u003c/a\u003e Bump ruff from 0.15.6 to 0.15.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-hijack/django-hijack/commit/e608967fa2168cc5ecbd6ce6b7b41cde46a28802\"\u003e\u003ccode\u003ee608967\u003c/code\u003e\u003c/a\u003e Bump undici from 7.22.0 to 7.24.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-hijack/django-hijack/commit/3298fea67302266b2feaaa00ff7bac3b9d9cede6\"\u003e\u003ccode\u003e3298fea\u003c/code\u003e\u003c/a\u003e Bump ruff from 0.15.5 to 0.15.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-hijack/django-hijack/commit/fe17e7dd20da9b22b091c740d378ba65d1f9f17b\"\u003e\u003ccode\u003efe17e7d\u003c/code\u003e\u003c/a\u003e Bump ruff from 0.15.4 to 0.15.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-hijack/django-hijack/commit/856e68149b592e98a6274b30b455203a14c69c4f\"\u003e\u003ccode\u003e856e681\u003c/code\u003e\u003c/a\u003e Bump global-jsdom from 27.0.0 to 28.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-hijack/django-hijack/commit/cd8725688cbd2ce8160067fc4f9464d0f80a123e\"\u003e\u003ccode\u003ecd87256\u003c/code\u003e\u003c/a\u003e Bump ruff from 0.15.3 to 0.15.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-hijack/django-hijack/commit/c6d3953b21ef9b025667287d1d0392c315753cc9\"\u003e\u003ccode\u003ec6d3953\u003c/code\u003e\u003c/a\u003e Bump ruff from 0.15.2 to 0.15.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-hijack/django-hijack/commit/cf134c036b08d8824c374e79d5881a8f309cd5eb\"\u003e\u003ccode\u003ecf134c0\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 7 to 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-hijack/django-hijack/commit/85b0cb77dae404396102e98ef546cc4c21049a65\"\u003e\u003ccode\u003e85b0cb7\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 6 to 7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django-hijack/django-hijack/compare/3.7.6...3.7.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gunicorn` from 25.1.0 to 25.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/benoitc/gunicorn/releases\"\u003egunicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGunicorn 25.3.0\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eHTTP/2 ASGI Body Duplication\u003c/strong\u003e: Fix request body being received twice in HTTP/2\nASGI requests, causing JSON parsing errors with \u0026quot;Extra data\u0026quot; messages\n(\u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3558\"\u003e#3558\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eASGI Chunked EOF Handling\u003c/strong\u003e: Add \u003ccode\u003efinish()\u003c/code\u003e method to callback parser to handle\nchunked encoding edge case where connection closes before final CRLF after zero-chunk\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eHTTP/2 Documentation\u003c/strong\u003e: Fix \u003ccode\u003ehttp_protocols\u003c/code\u003e examples to use comma-separated string\ninstead of list syntax (\u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3561\"\u003e#3561\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eChunked Encoding\u003c/strong\u003e: Reject chunk extensions containing bare CR bytes per RFC 9112\n(\u003ca href=\"https://github.com/benoitc/gunicorn/discussions/3556\"\u003e#3556\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eRequest Line Limit\u003c/strong\u003e: Fix \u003ccode\u003e--limit-request-line 0\u003c/code\u003e to mean unlimited as documented,\ninstead of using default maximum. Works with both Python and fast C parser.\n(\u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3563\"\u003e#3563\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eASGI Parser Header Validation\u003c/strong\u003e: Add security checks per RFC 9110/9112:\n\u003cul\u003e\n\u003cli\u003eReject duplicate Content-Length headers\u003c/li\u003e\n\u003cli\u003eReject requests with both Content-Length and Transfer-Encoding\u003c/li\u003e\n\u003cli\u003eReject chunked transfer encoding in HTTP/1.0\u003c/li\u003e\n\u003cli\u003eReject stacked chunked encoding\u003c/li\u003e\n\u003cli\u003eValidate Transfer-Encoding values\u003c/li\u003e\n\u003cli\u003eStrict chunk size validation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFast HTTP Parser\u003c/strong\u003e: Update to gunicorn_h1c \u0026gt;= 0.6.3 for \u003ccode\u003easgi_headers\u003c/code\u003e property\nand \u003ccode\u003eInvalidChunkExtension\u003c/code\u003e validation for bare CR rejection\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eASGI PROXY Protocol\u003c/strong\u003e: Add PROXY protocol v1/v2 support to callback parser\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eDocker Images\u003c/strong\u003e: Update to Python 3.14\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGunicorn 25.2.0\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFast HTTP Parser (gunicorn_h1c 0.4.1)\u003c/strong\u003e: Integrate new exception types and limit parameters from gunicorn_h1c 0.4.1 for both WSGI and ASGI workers\n\u003cul\u003e\n\u003cli\u003eRequires gunicorn_h1c \u0026gt;= 0.4.1 for \u003ccode\u003ehttp_parser='fast'\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFalls back to Python parser in \u003ccode\u003eauto\u003c/code\u003e mode if version not met\u003c/li\u003e\n\u003cli\u003eProper HTTP status codes for limit errors (414, 431)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003euWSGI Async Workers\u003c/strong\u003e: Fix \u003ccode\u003eInvalidUWSGIHeader: incomplete header\u003c/code\u003e error when using gevent or gthread workers with uwsgi protocol behind nginx. (\u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3552\"\u003e#3552\u003c/a\u003e, [PR \u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3554\"\u003e#3554\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/benoitc/gunicorn/pull/3554\"\u003ebenoitc/gunicorn#3554\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/benoitc/gunicorn/commit/9bce72cfc3985aba7e0c47bf3c00fa681b2847e4\"\u003e\u003ccode\u003e9bce72c\u003c/code\u003e\u003c/a\u003e Update changelog with missing 25.3.0 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/2a15fdb93ab136e5776692d620852f481c89d610\"\u003e\u003ccode\u003e2a15fdb\u003c/code\u003e\u003c/a\u003e Fix pylint isinstance-second-argument-not-valid-type warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/8d08aaa2cbd38fdfa2ca6fb94094c47b9c16730a\"\u003e\u003ccode\u003e8d08aaa\u003c/code\u003e\u003c/a\u003e Fix --limit-request-line 0 to mean unlimited\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/d40a37454736e40916eb51e35895f1c22c0cd34a\"\u003e\u003ccode\u003ed40a374\u003c/code\u003e\u003c/a\u003e Fix pytest-asyncio configuration and treq_asgi hex escapes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/da8bd4850ac0f2d0df215390dad88392eb538d74\"\u003e\u003ccode\u003eda8bd48\u003c/code\u003e\u003c/a\u003e Remove unused AsyncRequest class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/b00f125755ec3f509a3e82dc5568d9f2d8bddba7\"\u003e\u003ccode\u003eb00f125\u003c/code\u003e\u003c/a\u003e Integrate gunicorn_h1c 0.6.3 with InvalidChunkExtension support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/bdb2ebd5a4913fff1e92800f3763e4a879526d3e\"\u003e\u003ccode\u003ebdb2ebd\u003c/code\u003e\u003c/a\u003e Reject chunk extensions with bare CR bytes (RFC 9112)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/7057fc9f89f0ce4d9ac01a12ea2f39768fb32be6\"\u003e\u003ccode\u003e7057fc9\u003c/code\u003e\u003c/a\u003e Fix http_protocols documentation to use string syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/d43acb8fe0910b6669c163e2f4a439e464eab012\"\u003e\u003ccode\u003ed43acb8\u003c/code\u003e\u003c/a\u003e Update to gunicorn_h1c \u0026gt;= 0.6.2 for asgi_headers support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/cbd27e82a238cb1326336c6aa4b8ae058e2c9ff9\"\u003e\u003ccode\u003ecbd27e8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3559\"\u003e#3559\u003c/a\u003e from benleembruggen/fix/http2-asgi-body-duplication\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/benoitc/gunicorn/compare/25.1.0...25.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pillow` from 12.1.1 to 12.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-pillow/Pillow/releases\"\u003epillow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.2.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pillow.readthedocs.io/en/stable/releasenotes/12.2.0.html\"\u003ehttps://pillow.readthedocs.io/en/stable/releasenotes/12.2.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate 12.2.0 release notes \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9522\"\u003e#9522\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd loader plugins: AMOS abk, Atari Degas, 40+ more obscure formats via Netpbm \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9482\"\u003e#9482\u003c/a\u003e [\u003ca href=\"https://github.com/bitplane\"\u003e\u003ccode\u003e@​bitplane\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate Python versions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9515\"\u003e#9515\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eJeffrey A. Clark -\u0026gt; Jeffrey 'Alex' Clark \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9513\"\u003e#9513\u003c/a\u003e [\u003ca href=\"https://github.com/aclark4life\"\u003e\u003ccode\u003e@​aclark4life\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd release notes for \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9394\"\u003e#9394\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9419\"\u003e#9419\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9456\"\u003e#9456\u003c/a\u003e \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9467\"\u003e#9467\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd Amiga Workbench .info loader to 3rd party plugins list \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9459\"\u003e#9459\u003c/a\u003e [\u003ca href=\"https://github.com/bitplane\"\u003e\u003ccode\u003e@​bitplane\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eMerge PFM documentation into PPM \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9434\"\u003e#9434\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate macOS tested Pillow versions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9431\"\u003e#9431\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix CVE number \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9430\"\u003e#9430\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate xz to 5.8.3 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9523\"\u003e#9523\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate libjpeg-turbo to 3.1.4.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9507\"\u003e#9507\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate libpng to 1.6.56 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9499\"\u003e#9499\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate freetype to 2.14.3 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9485\"\u003e#9485\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated libavif to 1.4.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9479\"\u003e#9479\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated harfbuzz to 13.2.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9461\"\u003e#9461\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate Ghostscript to 10.7.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9469\"\u003e#9469\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate harfbuzz to 13.0.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9453\"\u003e#9453\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate libavif to 1.4.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9460\"\u003e#9460\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate freetype to 2.14.2 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9449\"\u003e#9449\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate actions/download-artifact action to v8 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9451\"\u003e#9451\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated libpng to 1.6.55 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9425\"\u003e#9425\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTesting\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCleanup .spider extension in the same test where it is added \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9517\"\u003e#9517\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eRun tests in parallel via tox for 3.5x speedup \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9516\"\u003e#9516\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eEnable colour in CI logs \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9486\"\u003e#9486\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate Ghostscript to 10.7.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9469\"\u003e#9469\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eSimplify TGA test code \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9477\"\u003e#9477\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate tests to check for ValueError when encoding an empty image \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9464\"\u003e#9464\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpgrade CI from \u003ccode\u003emacos-15-intel\u003c/code\u003e to \u003ccode\u003emacos-26-intel\u003c/code\u003e \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9454\"\u003e#9454\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd check-case-conflict hook \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9446\"\u003e#9446\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eSpecify platform when pulling docker image \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9440\"\u003e#9440\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eGHA: Cache libavif and webp builds for Ubuntu \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9437\"\u003e#9437\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate macOS tested Pillow versions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9431\"\u003e#9431\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCheck calloc return value \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9527\"\u003e#9527\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eCheck all allocs in the Arrow tree \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9488\"\u003e#9488\u003c/a\u003e [\u003ca href=\"https://github.com/wiredfool\"\u003e\u003ccode\u003e@​wiredfool\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eReject non-numeric elements inside list coords \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9526\"\u003e#9526\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eMove variable declaration inside define \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9525\"\u003e#9525\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/3c41c095064200a02672d89cc5ff629eaf4b0d4f\"\u003e\u003ccode\u003e3c41c09\u003c/code\u003e\u003c/a\u003e 12.2.0 version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/cdaa29eb520291c4f1fb50fb71ae46502d41e460\"\u003e\u003ccode\u003ecdaa29e\u003c/code\u003e\u003c/a\u003e Check calloc return value (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9527\"\u003e#9527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/585b2f5a780722c8a5bfffb3a40f7f42e8a205be\"\u003e\u003ccode\u003e585b2f5\u003c/code\u003e\u003c/a\u003e Check calloc return value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/ecf011ea15991d4cebacd946e58270cc30b0f2c1\"\u003e\u003ccode\u003eecf011e\u003c/code\u003e\u003c/a\u003e Check all allocs in the Arrow tree (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9488\"\u003e#9488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/cf6de8ca9b23e714aa5310e1c791eda66fc0b670\"\u003e\u003ccode\u003ecf6de8c\u003c/code\u003e\u003c/a\u003e Reject non-numeric elements inside list coords (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9526\"\u003e#9526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/ffdcede6516b28d9667c92929854023d17048b64\"\u003e\u003ccode\u003effdcede\u003c/code\u003e\u003c/a\u003e Update 12.2.0 release notes (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9522\"\u003e#9522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/7929d7760fe5a307ba5ae6eabdf70ae4486b147c\"\u003e\u003ccode\u003e7929d77\u003c/code\u003e\u003c/a\u003e Added security release notes (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/149\"\u003e#149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/c4f7aa5dfb4dbd1242978ac235e01b9934ec6d3c\"\u003e\u003ccode\u003ec4f7aa5\u003c/code\u003e\u003c/a\u003e Added security release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/22cdb5f2e4b15250c06563b1124ac1667342712f\"\u003e\u003ccode\u003e22cdb5f\u003c/code\u003e\u003c/a\u003e Move variable declaration inside define (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9525\"\u003e#9525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/fc15b3b01899408ec989d7804c5283e13802d057\"\u003e\u003ccode\u003efc15b3b\u003c/code\u003e\u003c/a\u003e Resize tall images vertically first (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9524\"\u003e#9524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-pillow/Pillow/compare/12.1.1...12.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg[binary]` from 3.3.2 to 3.3.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg/blob/master/docs/news.rst\"\u003epsycopg[binary]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e.. currentmodule:: psycopg\u003c/p\u003e\n\u003cp\u003e.. index::\nsingle: Release notes\nsingle: News\u003c/p\u003e\n\u003ch1\u003e\u003ccode\u003epsycopg\u003c/code\u003e release notes\u003c/h1\u003e\n\u003ch2\u003eFuture releases\u003c/h2\u003e\n\u003cp\u003ePsycopg 3.3.4 (unreleased)\n^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix possible spurious connection timeout in systems with very long uptimes\nin C extension (:ticket:\u003ccode\u003e[#1280](https://github.com/psycopg/psycopg/issues/1280)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003ePsycopg 3.3.3\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRetain \u003ccode\u003eError.pgconn\u003c/code\u003e when raising a single exception for multiple connection\nattempt errors (:ticket:\u003ccode\u003e[#1246](https://github.com/psycopg/psycopg/issues/1246)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eReturn a proper error when server sends \u003ccode\u003eErrorResponse\u003c/code\u003e for a \u003ccode\u003eSync\u003c/code\u003e after\na \u003ccode\u003eParse\u003c/code\u003e (:ticket:\u003ccode\u003e[#1260](https://github.com/psycopg/psycopg/issues/1260)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePsycopg 3.3.2\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003eFix race condition in adapters at startup (:ticket:\u003ccode\u003e[#1230](https://github.com/psycopg/psycopg/issues/1230)\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003ePsycopg 3.3.1\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003eFix iteration on server-side cursors (:ticket:\u003ccode\u003e[#1226](https://github.com/psycopg/psycopg/issues/1226)\u003c/code\u003e).\u003c/p\u003e\n\u003ch2\u003ePsycopg 3.3.0\u003c/h2\u003e\n\u003cp\u003e.. rubric:: New top-level features\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd :ref:\u003ccode\u003etemplate strings queries \\\u0026lt;template-strings\u0026gt;\u003c/code\u003e (:ticket:\u003ccode\u003e[#1054](https://github.com/psycopg/psycopg/issues/1054)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eMore flexible :ref:\u003ccode\u003ecomposite adaptation\u0026lt;adapt-composite\u0026gt;\u003c/code\u003e: it is now possible\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/psycopg/commit/1a8f65a371da3c691111cd4a81141f2cb698eafa\"\u003e\u003ccode\u003e1a8f65a\u003c/code\u003e\u003c/a\u003e chore: bump psycopg package version to 3.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg/commit/db3c43584320ab5d97e49378e5c9dc09a560b031\"\u003e\u003ccode\u003edb3c435\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg/issues/1260\"\u003e#1260\u003c/a\u003e from ggevay/sync-error-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg/commit/0237586c415ece15102742f5941874c29fb1221c\"\u003e\u003ccode\u003e0237586\u003c/code\u003e\u003c/a\u003e Fix ValueError when server sends ErrorResponse during Sync after Parse\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg/commit/cb97ef7063520cb8a0cb5236bb9791f8dc4cc454\"\u003e\u003ccode\u003ecb97ef7\u003c/code\u003e\u003c/a\u003e docs: fix typos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg/commit/09c89180f94606dc70475ed863e135f021a11038\"\u003e\u003ccode\u003e09c8918\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg/issues/1256\"\u003e#1256\u003c/a\u003e from veeceey/fix/tstrings-error-msg-and-docs-improve...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg/commit/9e74d9646cc3fcbb9d8940182dcdb41119c3fda7\"\u003e\u003ccode\u003e9e74d96\u003c/code\u003e\u003c/a\u003e fix: fix error message incorrectly generated by Claude AI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg/commit/0db9d8bb76c48e70dffd48776406fd3ffdc89b5a\"\u003e\u003ccode\u003e0db9d8b\u003c/code\u003e\u003c/a\u003e fix: correct typo in tstrings error message and fix sql.rst docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg/commit/86a0e1b2bbf30c564c59bf3497d499e2f220ce0f\"\u003e\u003ccode\u003e86a0e1b\u003c/code\u003e\u003c/a\u003e chore(deps): bump pypa/cibuildwheel in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg/commit/f5d90fa2a7836c1268c1d43d0d77c431434ad191\"\u003e\u003ccode\u003ef5d90fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg/issues/1233\"\u003e#1233\u003c/a\u003e from lysnikolaou/pgconn-critical-section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg/commit/d7dc6c7cacc2832fffa0d7e607b5fc171424571d\"\u003e\u003ccode\u003ed7dc6c7\u003c/code\u003e\u003c/a\u003e Merge critical section and nogil blocks into one context manager\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg/compare/3.3.2...3.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 23.0.0 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-23.0.0...apache-arrow-23.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-json-logger` from 4.0.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/releases\"\u003epython-json-logger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\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/nhairs/python-json-logger/blob/main/docs/changelog.md\"\u003epython-json-logger's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/d80c68da770154d9662975b789cabcc9a3e99408\"\u003e\u003ccode\u003ed80c68d\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/b589b2a576ac058dc55be934159b67060a288756\"\u003e\u003ccode\u003eb589b2a\u003c/code\u003e\u003c/a\u003e [pyproject] Update license table to PEP 639 format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/2bb784a92250c60035a7e4536d1ef48cd02e50d5\"\u003e\u003ccode\u003e2bb784a\u003c/code\u003e\u003c/a\u003e Update code unlocked by Python 3.10 minimum version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/79599b5a6ad5e38c18c468fd0e4ac790961d6b5f\"\u003e\u003ccode\u003e79599b5\u003c/code\u003e\u003c/a\u003e Drop python 3.8, 3.9 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/622650c1f543e7909e8711e4a30c96cc2aa6e332\"\u003e\u003ccode\u003e622650c\u003c/code\u003e\u003c/a\u003e [docs.contributing] Update unsupported JSON encoders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/06165bb03f9892fc24762acabf6b1b0b35c6b56b\"\u003e\u003ccode\u003e06165bb\u003c/code\u003e\u003c/a\u003e [tests.test_formatters] Add non-printable bytes to test_common_types_encoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/61f88a9fe7cee3409db9c589b03b15c2ffdc3ffa\"\u003e\u003ccode\u003e61f88a9\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify which packages have been considered and rejected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/0add524a24c6210807a66e0f9149200b32cc98a9\"\u003e\u003ccode\u003e0add524\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify when we will add support for new third-party pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/eee9505610a64276341a03f2a0b0dee5f500916b\"\u003e\u003ccode\u003eeee9505\u003c/code\u003e\u003c/a\u003e [pylint] Remove old command\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/804592648f8d0e56f7f41112d2945cf52d1d2a6b\"\u003e\u003ccode\u003e8045926\u003c/code\u003e\u003c/a\u003e [mypy] Don't ignore orjson\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `redis` from 7.1.1 to 7.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/redis-py/releases\"\u003eredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.4.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix AttributeError in cluster metrics recording when connection is None or ClusterNode object instance is used to extract the connection info (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3999\"\u003e#3999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing security concern in \u003cstrong\u003erepr\u003c/strong\u003e methods for ConnectionPools - passwords might leak in plain text logs (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3998\"\u003e#3998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactored connection count and SCH metric collection (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/4001\"\u003e#4001\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Experimental Features\u003c/h2\u003e\n\u003cp\u003e-Refactored health check logic for MultiDBClient (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3994\"\u003e#3994\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpose basic Otel classes and functions to be importable through redis.observability to match the examples in the readthedocs (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWe'd like to thank all the contributors who worked on this release!\n\u003ca href=\"https://github.com/vladvildanov\"\u003e\u003ccode\u003e@​vladvildanov\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/petyaslavova\"\u003e\u003ccode\u003e@​petyaslavova\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e7.3.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eOpenTelemetry Native Metrics Support for asynchronous clients\u003c/strong\u003e\nAdded comprehensive OpenTelemetry metrics support for asynchronous clients following the \u003ca href=\"https://opentelemetry.io/docs/specs/semconv/database/database-metrics/\"\u003eOpenTelemetry Database Client Semantic Conventions\u003c/a\u003e.\nMetric groups include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCommand metrics: Operation duration with retry tracking\u003c/li\u003e\n\u003cli\u003eConnection basic: Connection count and creation time\u003c/li\u003e\n\u003cli\u003eResiliency: Errors, handoffs, timeout relaxation\u003c/li\u003e\n\u003cli\u003eConnection advanced: Wait time and use time\u003c/li\u003e\n\u003cli\u003ePubsub metrics: Published and received messages\u003c/li\u003e\n\u003cli\u003eStream metrics: Processing duration and maintenance notifications\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded OTel instrumentation and metrics export for async client (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3977\"\u003e#3977\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[async] Adding access to cluster client's nodes_manager and set_response_callback in ClusterPipeline objects (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3989\"\u003e#3989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(connection): Ensure we have an initialized protocol in connection (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3981\"\u003e#3981\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: use KeysT for blpop and brpop keys parameter type annotation (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3987\"\u003e#3987\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3990\"\u003e#3990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3985\"\u003e#3985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: replace 3 bare except clauses with except Exception (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3980\"\u003e#3980\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWe'd like to thank all the contributors who worked on this release!\n\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/turanalmammadov\"\u003e\u003ccode\u003e@​turanalmammadov\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/haosenwang1018\"\u003e\u003ccode\u003e@​haosenwang1018\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/Medno\"\u003e\u003ccode\u003e@​Medno\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vladvildanov\"\u003e\u003ccode\u003e@​vladvildanov\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/petyaslavova\"\u003e\u003ccode\u003e@​petyaslavova\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e7.2.1\u003c/h2\u003e\n\u003ch1\u003eChanges\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/redis/redis-py/commit/b72f24ad6a2226d46aed770e18094a86117d2217\"\u003e\u003ccode\u003eb72f24a\u003c/code\u003e\u003c/a\u003e Updating lib version to 7.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/0a4e0afe36504c3fb6df1e38683ea946febac9d3\"\u003e\u003ccode\u003e0a4e0af\u003c/code\u003e\u003c/a\u003e Refactored health check logic for MultiDBClient (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3994\"\u003e#3994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/15492c9156d3ab8dce05360977480510cf24fbf9\"\u003e\u003ccode\u003e15492c9\u003c/code\u003e\u003c/a\u003e Refactored connection count and SCH metric collection (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/4001\"\u003e#4001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/cd964ac96649df872a051835e9a52e05a5090607\"\u003e\u003ccode\u003ecd964ac\u003c/code\u003e\u003c/a\u003e Expose basic Otel classes and funtions to be importable through redis.observa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/46ab74d02ed9b15176f67edb817de83524f8145a\"\u003e\u003ccode\u003e46ab74d\u003c/code\u003e\u003c/a\u003e Fixing security concern in \u003cstrong\u003erepr\u003c/strong\u003e methods for ConnectionPools - passwords m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/26482dbaae38abdb1966d9b1c803331e2dab2053\"\u003e\u003ccode\u003e26482db\u003c/code\u003e\u003c/a\u003e Fix AttributeError in cluster metrics recording when connection is None or Cl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/8ecbc7a728792ab9c71078cb330a64c225cb3351\"\u003e\u003ccode\u003e8ecbc7a\u003c/code\u003e\u003c/a\u003e Updating lib version to 7.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/11043df86ed5f892cde1f34f08f3450f13bb6339\"\u003e\u003ccode\u003e11043df\u003c/code\u003e\u003c/a\u003e typing: accept single-key input for blpop and brpop (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3990\"\u003e#3990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/d9581250202123ebf68d299e8f2ea79fa9bd7210\"\u003e\u003ccode\u003ed958125\u003c/code\u003e\u003c/a\u003e fix: use KeysT for blpop and brpop keys parameter type annotation (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3987\"\u003e#3987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/75bf91b8a28bfc3f8417e58d1b78bd112ffcf6de\"\u003e\u003ccode\u003e75bf91b\u003c/code\u003e\u003c/a\u003e [async] Adding access to cluster client's nodes_manager and set_response_call...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/redis/redis-py/compare/v7.1.1...v7.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `whitenoise` from 6.11.0 to 6.12.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/evansd/whitenoise/blob/main/docs/changelog.rst\"\u003ewhitenoise's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.12.0 (2026-02-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop Python 3.9 support.\u003c/li\u003e\n\u003cli\u003eFix potential unauthorised file access vulnerability in \u0026quot;autorefesh\u0026quot; mode. See \u003ccode\u003ePR [#684](https://github.com/evansd/whitenoise/issues/684) \u0026lt;https://github.com/evansd/whitenoise/pull/684\u0026gt;\u003c/code\u003e__ for details, and a reminder that autorefresh mode has always been documented as unsuitable for production use. Thanks Seth Larson for reporting.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/1e3a30bc9e6b82c79a03d35532a7ba72715918df\"\u003e\u003ccode\u003e1e3a30b\u003c/code\u003e\u003c/a\u003e Version 6.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/bc4c738d768f3f91a67b9e297490645b33adc3d4\"\u003e\u003ccode\u003ebc4c738\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/evansd/whitenoise/issues/684\"\u003e#684\u003c/a\u003e from evansd/use-commonpath\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/505ed8d28d34307606ba6ed9ac7740c7c0701955\"\u003e\u003ccode\u003e505ed8d\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003eos.path.commonpath()\u003c/code\u003e to identify child paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/b6d8ed40206aea61d1265ca84d88e786366d891b\"\u003e\u003ccode\u003eb6d8ed4\u003c/code\u003e\u003c/a\u003e Upgrade dependencies (\u003ca href=\"https://redirect.github.com/evansd/whitenoise/issues/683\"\u003e#683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/edc79de2d063ae04980a251b67d73acf7ef06d3d\"\u003e\u003ccode\u003eedc79de\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/evansd/whitenoise/issues/682\"\u003e#682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/79fb2f136fe34debe427d4d031b11ec10b7ca2cc\"\u003e\u003ccode\u003e79fb2f1\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/evansd/whitenoise/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/2b245df895acb3aad86aadd02a794bfbf9374d3a\"\u003e\u003ccode\u003e2b245df\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/evansd/whitenoise/issues/681\"\u003e#681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/dcb50f36d437dddfab06ce8fc36e6ec1f34f5af5\"\u003e\u003ccode\u003edcb50f3\u003c/code\u003e\u003c/a\u003e Upgrade dependencies (\u003ca href=\"https://redirect.github.com/evansd/whitenoise/issues/678\"\u003e#678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/1c4a746afe1fdeaa458aa0fe2951cebe1fe0f026\"\u003e\u003ccode\u003e1c4a746\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/evansd/whitenoise/issues/677\"\u003e#677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/e7f970aac293079c3fabe44b5072a70670ec3268\"\u003e\u003ccode\u003ee7f970a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/evansd/whitenoise/issues/676\"\u003e#676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/evansd/whitenoise/compare/6.11.0...6.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anthropic` from 0.86.0 to 0.88.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/releases\"\u003eanthropic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.88.0\u003c/h2\u003e\n\u003ch2\u003e0.88.0 (2026-04-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.87.0...v0.88.0\"\u003ev0.87.0...v0.88.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add structured stop_details to message responses (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/fd82d6b87ef0db5b2970d8f27ccc6d5981745572\"\u003efd82d6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebedrock api key auth (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1623\"\u003e#1623\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/a95a3fc586b8de63e3c2b386cee5e312d96bf5d8\"\u003ea95a3fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eprepare aws package (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1615\"\u003e#1615\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6875fab38ac27ab3a09b97088a49925abe011bdc\"\u003e6875fab\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.20.2 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1bc4e9ffc160eb1ded6294652936caafd6dfc64a\"\u003e1bc4e9f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.87.0\u003c/h2\u003e\n\u003ch2\u003e0.87.0 (2026-03-31)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.86.0...v0.87.0\"\u003ev0.86.0...v0.87.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add error type field to APIStatusError (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1587\"\u003e#1587\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/dd563c031c2a0be75ccb6175246685abd5806d7d\"\u003edd563c0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e implement indices array format for query and form serialization (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/11a624467bd44175bc602f0135ff354895bdebdd\"\u003e11a6244\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehonor \u003cstrong\u003eapi_exclude\u003c/strong\u003e in async transform path (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1612\"\u003e#1612\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/8172232a8bb19e0d0bf10df1c3c21ed492784585\"\u003e8172232\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1610\"\u003e#1610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ememory:\u003c/strong\u003e return resolved path from async _validate_path (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7b0add32bd5fc59ad0fa277ef6982ee1df1eed7a\"\u003e7b0add3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ememory:\u003c/strong\u003e use restrictive file mode for memory files (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/47ba5b8f5f74beb1e1babef249754e1312b9dddf\"\u003e47ba5b8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esanitize endpoint path params (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/98f60e42039392a133d83c8673d659f514c15a35\"\u003e98f60e4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etransform schema:\u003c/strong\u003e support enums (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1275\"\u003e#1275\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/5c088ab1d162b1c1a18f566688b31bfbd7610825\"\u003e5c088ab\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eci:\u003c/strong\u003e run builds on CI even if only spec metadata changed (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/194c05029403cef820897c3c6b2c26d4df0736f7\"\u003e194c050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eci:\u003c/strong\u003e skip lint on metadata-only changes (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/03e2ab9e95ec452d7d519e0b419c8881f3ae3a08\"\u003e03e2ab9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update gitignore (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/94ede14b443c78b51931c185d1cd44f4ef201eae\"\u003e94ede14\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.19.4 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/2d6d58fa0101930c8f5cd9e9a94e7e988055f371\"\u003e2d6d58f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.19.5 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/8fb439afeadaf608cbf7d4630d01735f97227e3e\"\u003e8fb439a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.19.6 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/76da5fdd03b7ffc65a8b58b9f2a0df3e03c587c9\"\u003e76da5fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.19.7 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/bfa40e5c5bed65da0f3f664082e58e85c26b9c66\"\u003ebfa40e5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.20.1 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4fd9446332ae114072dac968134e6451c62138bb\"\u003e4fd9446\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/anthropics/anthropic-sdk-python/blob/main/CHANGELOG.md\"\u003eanthropic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.88.0 (2026-04-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.87.0...v0.88.0\"\u003ev0.87.0...v0.88.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add structured stop_details to message responses (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/fd82d6b87ef0db5b2970d8f27ccc6d5981745572\"\u003efd82d6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebedrock api key auth (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1623\"\u003e#1623\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/a95a3fc586b8de63e3c2b386cee5e312d96bf5d8\"\u003ea95a3fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eprepare aws package (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1615\"\u003e#1615\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6875fab38ac27ab3a09b97088a49925abe011bdc\"\u003e6875fab\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.20.2 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1bc4e9ffc160eb1ded6294652936caafd6dfc64a\"\u003e1bc4e9f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.87.0 (2026-03-31)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.86.0...v0.87.0\"\u003ev0.86.0...v0.87.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add error type field to APIStatusError (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1587\"\u003e#1587\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/dd563c031c2a0be75ccb6175246685abd5806d7d\"\u003edd563c0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e implement indices array format for query and form serialization (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/11a624467bd44175bc602f0135ff354895bdebdd\"\u003e11a6244\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehonor \u003cstrong\u003eapi_exclude\u003c/strong\u003e in async transform path (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1612\"\u003e#1612\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/8172232a8bb19e0d0bf10df1c3c21ed492784585\"\u003e8172232\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1610\"\u003e#1610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ememory:\u003c/strong\u003e return resolved path from async _validate_path (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7b0add32bd5fc59ad0fa277ef6982ee1df1eed7a\"\u003e7b0add3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ememory:\u003c/strong\u003e use restrictive file mode for memory files (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/47ba5b8f5f74beb1e1babef249754e1312b9dddf\"\u003e47ba5b8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esanitize endpoint path params (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/98f60e42039392a133d83c8673d659f514c15a35\"\u003e98f60e4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etransform schema:\u003c/strong\u003e support enums (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1275\"\u003e#1275\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/5c088ab1d162b1c1a18f566688b31bfbd7610825\"\u003e5c088ab\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eci:\u003c/strong\u003e run builds on CI even if only spec metadata changed (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/194c05029403cef820897c3c6b2c26d4df0736f7\"\u003e194c050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eci:\u003c/strong\u003e skip lint on metadata-only changes (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/03e2ab9e95ec452d7d519e0b419c8881f3ae3a08\"\u003e03e2ab9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update gitignore (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/94ede14b443c78b51931c185d1cd44f4ef201eae\"\u003e94ede14\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.19.4 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/2d6d58fa0101930c8f5cd9e9a94e7e988055f371\"\u003e2d6d58f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.19.5 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/8fb439afeadaf608cbf7d4630d01735f97227e3e\"\u003e8fb439a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.19.6 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/76da5fdd03b7ffc65a8b58b9f2a0df3e03c587c9\"\u003e76da5fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.19.7 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/bfa40e5c5bed65da0f3f664082e58e85c26b9c66\"\u003ebfa40e5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.20.1 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4fd9446332ae114072dac968134e6451c62138bb\"\u003e4fd9446\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/anthropics/anthropic-sdk-python/commit/8496c50655999cbb2c871e71331996f87025e240\"\u003e\u003ccode\u003e8496c50\u003c/code\u003e\u003c/a\u003e release: 0.88.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/13e3f4bf16df9680caee48316b9a9e535fe9d4b5\"\u003e\u003ccode\u003e13e3f4b\u003c/code\u003e\u003c/a\u003e feat: prepare aws package (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1615\"\u003e#1615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/a304cccff0396642405311aa01914eb8b04416c8\"\u003e\u003ccode\u003ea304ccc\u003c/code\u003e\u003c/a\u003e feat(api): add structured stop_details to message responses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/37aac2dbac1e5243045ed3d5c01c97a58acc5f17\"\u003e\u003ccode\u003e37aac2d\u003c/code\u003e\u003c/a\u003e feat: bedrock api key auth (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1623\"\u003e#1623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/bbaacbb4609f4401490849f1f1468e8e37d26861\"\u003e\u003ccode\u003ebbaacbb\u003c/code\u003e\u003c/a\u003e chore(tests): bump steady to v0.20.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ab0c4460a170183ff036e2a3dad320ac4ac2c76d\"\u003e\u003ccode\u003eab0c446\u003c/code\u003e\u003c/a\u003e release: 0.87.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6599043eee6e86dce16953fcd1fd828052052be6\"\u003e\u003ccode\u003e6599043\u003c/code\u003e\u003c/a\u003e fix(memory): return resolved path from async _validate_path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/715030ceb4d6dd8d3546e999c680e29532bf1255\"\u003e\u003ccode\u003e715030c\u003c/code\u003e\u003c/a\u003e fix(memory): use restrictive file mode for memory files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6cdbc5f37105e464704d911ef590b88c7e5ae427\"\u003e\u003ccode\u003e6cdbc5f\u003c/code\u003e\u003c/a\u003e chore(tests): bump steady to v0.20.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4beda3cc966b49166387aa9275cec8f88b004154\"\u003e\u003ccode\u003e4beda3c\u003c/code\u003e\u003c/a\u003e Add output-300k-2026-03-24 beta header\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.86.0...v0.88.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.13.4 to 7.13.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.13.5 — 2026-03-17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003eissue 2138\u003c/code\u003e_ describes a memory leak that happened when repeatedly\nusing the Coverage API with in-memory data. This is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the markdown-formatted coverage report didn't fully escape special\ncharacters in file paths (\u003ccode\u003eissue 2141\u003c/code\u003e\u003cem\u003e). This would be very unlikely to\ncause a problem, but now it's done properly, thanks to \u003ccode\u003eEllie Ayla \u0026lt;pull 2142_\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the C extension wouldn't build on VS2019, but now it does (\u003ccode\u003eissue 2145\u003c/code\u003e_).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2138: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2138\"\u003ecoveragepy/coveragepy#2138\u003c/a\u003e\n.. _issue 2141: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2141\"\u003ecoveragepy/coveragepy#2141\u003c/a\u003e\n.. _pull 2142: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2142\"\u003ecoveragepy/coveragepy#2142\u003c/a\u003e\n.. _issue 2145: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2145\"\u003ecoveragepy/coveragepy#2145\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-4:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c88da144eef8cf78424331e5cbbde3e002eef43f\"\u003e\u003ccode\u003ec88da14\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.13.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/e2ac3e1ef644370101ff365acad3431d16076512\"\u003e\u003ccode\u003ee2ac3e1\u003c/code\u003e\u003c/a\u003e build: sample HTML shouldn't include the status.json file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/910f8f336541c2dcb4e9ec468144c7eb4a7779ac\"\u003e\u003ccode\u003e910f8f3\u003c/code\u003e\u003c/a\u003e docs: prep for 7.13.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/3a4819c24d3d20cb2670b99141517812ffa3fab0\"\u003e\u003ccode\u003e3a4819c\u003c/code\u003e\u003c/a\u003e style: make workflows more uniform\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/2a53705...\n\n_Description has been truncated_","html_url":"https://github.com/andytwoods/can-I-still-code/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/andytwoods%2Fcan-I-still-code/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"},{"uuid":"4180525436","node_id":"PR_kwDOGsm7qs7PAD7-","number":251,"state":"closed","title":"build(deps): bump the simple group across 1 directory with 12 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-04-05T22:04:26.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-31T16:17:12.000Z","updated_at":"2026-04-05T22:04:28.000Z","time_to_close":452834,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"simple","update_count":12,"packages":[{"name":"boto3-stubs","old_version":"1.41.5","new_version":"1.42.78","repository_url":"https://github.com/youtype/mypy_boto3_builder"},{"name":"boto3","old_version":"1.41.5","new_version":"1.42.78","repository_url":"https://github.com/boto/boto3"},{"name":"click","old_version":"8.1.3","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"colored","old_version":"2.3.1","new_version":"2.3.2"},{"name":"matplotlib-stubs","old_version":"0.3.4","new_version":"0.3.11","repository_url":"https://github.com/hoel-bagard/matplotlib-stubs"},{"name":"networkx","old_version":"3.4.2","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"numpy","old_version":"2.4.2","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"ruamel-yaml","old_version":"0.18.17","new_version":"0.19.1"},{"name":"ruff","old_version":"0.0.292","new_version":"0.15.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"scipy-stubs","old_version":"1.15.3.0","new_version":"1.17.1.3","repository_url":"https://github.com/scipy/scipy-stubs"},{"name":"pyarrow","old_version":"23.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"minio","old_version":"7.2.15","new_version":"7.2.20","repository_url":"https://github.com/minio/minio-py"}],"path":null,"ecosystem":"pip"},"body":"Bumps the simple group with 12 updates in the /ci/builder directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [boto3-stubs](https://github.com/youtype/mypy_boto3_builder) | `1.41.5` | `1.42.78` |\n| [boto3](https://github.com/boto/boto3) | `1.41.5` | `1.42.78` |\n| [click](https://github.com/pallets/click) | `8.1.3` | `8.3.1` |\n| [colored](https://gitlab.com/dslackw/colored) | `2.3.1` | `2.3.2` |\n| [matplotlib-stubs](https://github.com/hoel-bagard/matplotlib-stubs) | `0.3.4` | `0.3.11` |\n| [networkx](https://github.com/networkx/networkx) | `3.4.2` | `3.6.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.4.2` | `2.4.3` |\n| ruamel-yaml | `0.18.17` | `0.19.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.0.292` | `0.15.8` |\n| [scipy-stubs](https://github.com/scipy/scipy-stubs) | `1.15.3.0` | `1.17.1.3` |\n| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `23.0.1` |\n| [minio](https://github.com/minio/minio-py) | `7.2.15` | `7.2.20` |\n\n\nUpdates `boto3-stubs` from 1.41.5 to 1.42.78\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/youtype/mypy_boto3_builder/releases\"\u003eboto3-stubs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.8.0 - Python 3.8 runtime is back\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e \u003ccode\u003einstall_requires\u003c/code\u003e section is calculated based on dependencies in use, so \u003ccode\u003etyping-extensions\u003c/code\u003e version is set properly\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Replaced \u003ccode\u003etyping\u003c/code\u003e imports with \u003ccode\u003ecollections.abc\u003c/code\u003e with a fallback to \u003ccode\u003etyping\u003c/code\u003e for Python \u0026lt;3.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Added aliases for \u003ccode\u003ebuiltins.list\u003c/code\u003e, \u003ccode\u003ebuiltins.set\u003c/code\u003e, \u003ccode\u003ebuiltins.dict\u003c/code\u003e, and \u003ccode\u003ebuiltins.type\u003c/code\u003e, so Python 3.8 runtime should work as expected again (reported by \u003ca href=\"https://github.com/YHallouard\"\u003e\u003ccode\u003e@​YHallouard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/340\"\u003e#340\u003c/a\u003e and \u003ca href=\"https://github.com/Omri-Ben-Yair\"\u003e\u003ccode\u003e@​Omri-Ben-Yair\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/336\"\u003e#336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Unions use the same type annotations as the rest of the structures due to proper fallbacks\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Universal input/output shapes were not replaced properly in service subresources\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[docs]\u003c/code\u003e Simplified doc links rendering for services\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Cleaned up unnecessary imports in \u003ccode\u003eclient.pyi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[builder]\u003c/code\u003e Import records with fallback are always rendered\u003c/li\u003e\n\u003c/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/youtype/mypy_boto3_builder/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.41.5 to 1.42.78\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b5acf8b4da83625fe3a4bbc37f44d3563a90bedb\"\u003e\u003ccode\u003eb5acf8b\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.78'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1da17a5f5f168ca19917cb3b5c1389b1918c1a6e\"\u003e\u003ccode\u003e1da17a5\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.78\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/e298b6480047c39f047a9805ce5a69654eda2c2b\"\u003e\u003ccode\u003ee298b64\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/48369eaf9203ac46d0621f2a6506cbfa369c3cff\"\u003e\u003ccode\u003e48369ea\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.77'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/8c30411a442a21b8bccc9eb2fde60ab76751ef35\"\u003e\u003ccode\u003e8c30411\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.77' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/4398c8e0aee88fe1c5aacb415683e75ccde1b3a3\"\u003e\u003ccode\u003e4398c8e\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.77\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7c449e2e3bfea638a8cf9892ba8096ec1ff4d565\"\u003e\u003ccode\u003e7c449e2\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ee6c3e4e4ccc20774293d6b4022a17abe495a28f\"\u003e\u003ccode\u003eee6c3e4\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.76'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/a5ad9c3e75cf3ace6b3368c60c9b325d33ca2975\"\u003e\u003ccode\u003ea5ad9c3\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.76' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1abf6403e3a0a63520ca4b3db62428061ef17cf2\"\u003e\u003ccode\u003e1abf640\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.76\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.41.5...1.42.78\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.3 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in \u003ccode\u003eCliRunner\u003c/code\u003e. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5a085468\"\u003e\u003ccode\u003ebd131e1\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0b5c6b75f617e6ee2f9f6dcd071b8a4bf183d1ed\"\u003e\u003ccode\u003e0b5c6b7\u003c/code\u003e\u003c/a\u003e Add Best practices section  (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3127\"\u003e#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.3...8.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `colored` from 2.3.1 to 2.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://gitlab.com/dslackw/colored/blob/master/CHANGES.md\"\u003ecolored's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.3.2] - 2026-03-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etests_pytest/\u003c/code\u003e suite with pytest-based tests for foreground, background, styles, exceptions, hex color matching, and convert functionality.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed mypy type error in \u003ccode\u003ehexadecimal.py\u003c/code\u003e: changed \u003ccode\u003ecolor\u003c/code\u003e parameter type from \u003ccode\u003estr | int\u003c/code\u003e to \u003ccode\u003estr\u003c/code\u003e in \u003ccode\u003eHex.find()\u003c/code\u003e, as the method requires string input for \u003ccode\u003elen()\u003c/code\u003e and indexing operations.\u003c/li\u003e\n\u003cli\u003eFixed mypy type errors in \u003ccode\u003eattributes.py\u003c/code\u003e: added missing return type annotation (\u003ccode\u003e-\u0026gt; None\u003c/code\u003e) to \u003ccode\u003eMetaStyle.__getattr__()\u003c/code\u003e and replaced bare \u003ccode\u003edict\u003c/code\u003e with \u003ccode\u003edict[str, str]\u003c/code\u003e for \u003ccode\u003e_STYLES\u003c/code\u003e and \u003ccode\u003e_COLORS\u003c/code\u003e class attributes.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eValueError\u003c/code\u003e in \u003ccode\u003eColored.enabled()\u003c/code\u003e when \u003ccode\u003eFORCE_COLOR\u003c/code\u003e environment variable contains a non-integer value (e.g. \u003ccode\u003eFORCE_COLOR=yes\u003c/code\u003e): invalid values are now treated as enabled.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eControls.nav()\u003c/code\u003e ignoring \u003ccode\u003ecolumn=0\u003c/code\u003e due to falsy check: changed \u003ccode\u003eif column:\u003c/code\u003e to \u003ccode\u003eif column is not None:\u003c/code\u003e so cursor position at column 0 (start of line) works correctly.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eValueError\u003c/code\u003e crash in \u003ccode\u003eHex.find()\u003c/code\u003e when passing an invalid hex string (e.g. \u003ccode\u003e#FF\u003c/code\u003e, \u003ccode\u003e#AABBCCDD\u003c/code\u003e): added format validation that raises \u003ccode\u003eInvalidHexColor\u003c/code\u003e for strings that are not 4 or 7 characters long starting with \u003ccode\u003e#\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed RGB values out of range in \u003ccode\u003eUtilities.is_percentage()\u003c/code\u003e: values are now clamped to [0, 255] to always produce valid ANSI escape sequences without breaking existing code.\u003c/li\u003e\n\u003cli\u003eFixed incorrect return type annotation \u003ccode\u003e-\u0026gt; None\u003c/code\u003e on \u003ccode\u003e__getattr__\u003c/code\u003e in \u003ccode\u003eMetaStyle\u003c/code\u003e, \u003ccode\u003eMetaFore\u003c/code\u003e, and \u003ccode\u003eMetaBack\u003c/code\u003e metaclasses: changed to \u003ccode\u003e-\u0026gt; NoReturn\u003c/code\u003e since these methods always raise an exception and never return.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eUtilities.set_colorterm()\u003c/code\u003e losing the default \u003ccode\u003etruecolor\u003c/code\u003e value when \u003ccode\u003e$COLORTERM\u003c/code\u003e is not set in the environment: changed fallback from \u003ccode\u003e''\u003c/code\u003e to \u003ccode\u003eself.colorterm\u003c/code\u003e to preserve the initialized default.\u003c/li\u003e\n\u003cli\u003eRenamed misleading \u003ccode\u003eHex.cube()\u003c/code\u003e method to \u003ccode\u003eHex.square()\u003c/code\u003e to correctly reflect its calculation (\u003ccode\u003ex*x\u003c/code\u003e), which is the intended least squares fit operation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/18c6356aa813b9705a0a21aabb6ef671cc0dd999\"\u003e\u003ccode\u003e18c6356\u003c/code\u003e\u003c/a\u003e Improve CHANGES.md entries for all previous versions with detailed descriptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/d2f347d972c23c701ae073d4dcf4e540cda9a0cc\"\u003e\u003ccode\u003ed2f347d\u003c/code\u003e\u003c/a\u003e Fix raise-missing-from warning in Hex.find()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/d04103fe399203a22fbdc058ab9be909eab364e4\"\u003e\u003ccode\u003ed04103f\u003c/code\u003e\u003c/a\u003e Improve test coverage from 75% to 89%\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/30f2fd89fdb103fc42f47685622d259d0117fce0\"\u003e\u003ccode\u003e30f2fd8\u003c/code\u003e\u003c/a\u003e Update Python badge to 3.9+ and fix trailing whitespace in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/878bb9719cf11f69229b4b108dff34508eadaace\"\u003e\u003ccode\u003e878bb97\u003c/code\u003e\u003c/a\u003e Bump version to 2.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/04ed4b3f5ec8cd0d9770c7cbde9263ed34a258d4\"\u003e\u003ccode\u003e04ed4b3\u003c/code\u003e\u003c/a\u003e Rename Hex.cube() to Hex.square() to reflect actual calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/43a26094b7718d91be6e74d89974539b89a4a301\"\u003e\u003ccode\u003e43a2609\u003c/code\u003e\u003c/a\u003e Fix set_colorterm() losing default colorterm when $COLORTERM is unset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/f19f1a524b081cc814d870e6561a2cb7315abb9d\"\u003e\u003ccode\u003ef19f1a5\u003c/code\u003e\u003c/a\u003e Fix convert_percentages() docstring to match actual signature and behavior\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/475c55deb0ce2fbaacf9b3aea786baaa39f709a9\"\u003e\u003ccode\u003e475c55d\u003c/code\u003e\u003c/a\u003e Fix incorrect type in ansi_to_hex() docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/f5eb31f98ef34c139d10f0c58095822a2ddbef27\"\u003e\u003ccode\u003ef5eb31f\u003c/code\u003e\u003c/a\u003e Fix \u003cstrong\u003egetattr\u003c/strong\u003e return type annotation to NoReturn in metaclasses\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://gitlab.com/dslackw/colored/compare/2.3.1...2.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib-stubs` from 0.3.4 to 0.3.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/releases\"\u003ematplotlib-stubs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.11\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.10\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix broken import in \u003ccode\u003ematplotlib.pyplot.plot_date\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.xlim\u003c/code\u003e and \u003ccode\u003ematplotlib.pyplot.ylim\u003c/code\u003e overloads, including datetime support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.axes.Axes.set_xticks\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.axes.Axes.bar\u003c/code\u003e to support datetime sequences\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.5\u003c/h2\u003e\n\u003cp\u003eFix \u003ccode\u003ematplotlib.pyplot.plot\u003c/code\u003e to allow using datetime sequences.\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/hoel-bagard/matplotlib-stubs/blob/master/CHANGELOG.md\"\u003ematplotlib-stubs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.11 - 2025-10-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd type hints for \u003ccode\u003ematplotlib.pyplot\u003c/code\u003e's \u003ccode\u003eshow\u003c/code\u003e, \u003ccode\u003etight_layout\u003c/code\u003e, \u003ccode\u003ebar\u003c/code\u003e, \u003ccode\u003exticks\u003c/code\u003e and \u003ccode\u003eyticks\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.10 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.loglog\u003c/code\u003e type hints\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.9 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix broken import in \u003ccode\u003ematplotlib.pyplot.plot_date\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.8 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.xlim\u003c/code\u003e and \u003ccode\u003ematplotlib.pyplot.ylim\u003c/code\u003e overloads, including datetime support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.7 - 2025-10-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.axhline\u003c/code\u003e's kwargs type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 - 2025-10-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.axes.Axes.set_xticks\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.axes.Axes.bar\u003c/code\u003e to support datetime sequences\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 - 2025-10-14\u003c/h2\u003e\n\u003cp\u003eFix \u003ccode\u003ematplotlib.pyplot.plot\u003c/code\u003e to allow using datetime sequences.\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/hoel-bagard/matplotlib-stubs/commit/59fdaf216331aa54996e5f1149e6ee096ca63557\"\u003e\u003ccode\u003e59fdaf2\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/b85c0f74cd4587d8f9ccdb0a65639981ca29bfaa\"\u003e\u003ccode\u003eb85c0f7\u003c/code\u003e\u003c/a\u003e feat: add type hints for show, tight_layout, bar, xticks and yticks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/8afc8f4122949daaa447febe9b715feaaa13da59\"\u003e\u003ccode\u003e8afc8f4\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/f9de850ed9f5662672ec663e2b88619b42d34e5a\"\u003e\u003ccode\u003ef9de850\u003c/code\u003e\u003c/a\u003e feat: add type hints to plt.loglog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/4ffefa652da3881b576823b003e695d8c4ad0dbe\"\u003e\u003ccode\u003e4ffefa6\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/e6a54149513cf96fab1c8e35ae1589a5106a46c2\"\u003e\u003ccode\u003ee6a5414\u003c/code\u003e\u003c/a\u003e fix: broken import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/90b7235400fd1467a85ccf3ff06a5c068cd4e410\"\u003e\u003ccode\u003e90b7235\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/af0f45827cda237040c46dd126530a0971e41758\"\u003e\u003ccode\u003eaf0f458\u003c/code\u003e\u003c/a\u003e feat: add xlim and ylim overloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/5d5ab771404092929deacaef66cc8efe625a4752\"\u003e\u003ccode\u003e5d5ab77\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/5f5a9e46f14de1072f07eb865af4d552a553672c\"\u003e\u003ccode\u003e5f5a9e4\u003c/code\u003e\u003c/a\u003e fix: add axhline kwargs type\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/compare/v0.3.4...v0.3.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `networkx` from 3.4.2 to 3.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networkx/networkx/releases\"\u003enetworkx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNetworkX 3.6.1\u003c/h2\u003e\n\u003ch1\u003enetworkx 3.6.1\u003c/h1\u003e\n\u003cp\u003eWe're happy to announce the release of networkx 3.6.1!\u003c/p\u003e\n\u003ch2\u003eAPI Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNodelists for \u003ccode\u003efrom_biadjacency_matrix\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7993\"\u003e#7993\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix draw_networkx_nodes with list node_shape and add regression test (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8363\"\u003e#8363\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8369\"\u003e#8369\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDOC: Improve benchmarking readme (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8358\"\u003e#8358\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: More details re: RC releases in the release process devdocs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8346\"\u003e#8346\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tutorial (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8300\"\u003e#8300\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Add blurb to contributor guide about drawing tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8370\"\u003e#8370\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Fix underline lens in docstrings (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8371\"\u003e#8371\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8373\"\u003e#8373\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMaintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMAINT: Replace string literal with comment (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8359\"\u003e#8359\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the actions group (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8360\"\u003e#8360\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003epin python 3.14 to be version 3.14.0 until dataclasses are fixed (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8365\"\u003e#8365\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBlocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8372\"\u003e#8372\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTST: add tests for unsupported graph types in MST algorithms (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8353\"\u003e#8353\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eTST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8364\"\u003e#8364\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e10 authors added to this release (alphabetically):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Aka2210\"\u003e\u003ccode\u003e@​Aka2210\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jfinkels\"\u003e\u003ccode\u003e@​jfinkels\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaorTIRAM\"\u003e\u003ccode\u003e@​NaorTIRAM\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAditi Juneja (\u003ca href=\"https://github.com/Schefflera-Arboricola\"\u003e\u003ccode\u003e@​Schefflera-Arboricola\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlejandro Candioti (\u003ca href=\"https://github.com/amcandio\"\u003e\u003ccode\u003e@​amcandio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColman Bouton (\u003ca href=\"https://github.com/LorentzFactor\"\u003e\u003ccode\u003e@​LorentzFactor\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/networkx/networkx/commit/7530809bfa1ea7ed6fdf918a4d1431488953cb1f\"\u003e\u003ccode\u003e7530809\u003c/code\u003e\u003c/a\u003e Designate 3.6.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/4788eb08f2492dd6bf6f97ce8ee07cd52aa6cf89\"\u003e\u003ccode\u003e4788eb0\u003c/code\u003e\u003c/a\u003e Rolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8373\"\u003e#8373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/696edb6efbbbb622959e96f1276fc0db68dc0954\"\u003e\u003ccode\u003e696edb6\u003c/code\u003e\u003c/a\u003e Fix draw_networkx_nodes with list node_shape and add regression test  (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8363\"\u003e#8363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/c38830c61a6fee3ee10f216071bb63cb9b92bfb9\"\u003e\u003ccode\u003ec38830c\u003c/code\u003e\u003c/a\u003e Blocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8372\"\u003e#8372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/81d231141b08600ebfd1c781e28ecbf791e94016\"\u003e\u003ccode\u003e81d2311\u003c/code\u003e\u003c/a\u003e DOC: Fix underline lens in docstrings. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8371\"\u003e#8371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/a6e2bfadef51dda47df6466b32642e0d428c5801\"\u003e\u003ccode\u003ea6e2bfa\u003c/code\u003e\u003c/a\u003e DOC: Add blurb to contributor guide about drawing tests. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8370\"\u003e#8370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/96b628295eff29d266e1c75355556fc9fe58cc16\"\u003e\u003ccode\u003e96b6282\u003c/code\u003e\u003c/a\u003e DOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/75bdd737ca8382d06eb76ff9018a81870c9f3443\"\u003e\u003ccode\u003e75bdd73\u003c/code\u003e\u003c/a\u003e Fix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8369\"\u003e#8369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/7663fa5e5fd73d6921410a18c7ac4116ffa04f4d\"\u003e\u003ccode\u003e7663fa5\u003c/code\u003e\u003c/a\u003e TST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8364\"\u003e#8364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/3dacd1bdcbd976b9e148a60ddebafd868c0a52f3\"\u003e\u003ccode\u003e3dacd1b\u003c/code\u003e\u003c/a\u003e Add spectral bipartition community finding and greedy bipartition using node ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/networkx/networkx/compare/networkx-3.4.2...networkx-3.6.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.4.2 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\u003c/blockquote\u003e\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.4.2...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruamel-yaml` from 0.18.17 to 0.19.1\n\nUpdates `ruff` from 0.0.292 to 0.15.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c2a8815842f9dc5d24ec19385eae0f1a7188b0d9\"\u003e\u003ccode\u003ec2a8815\u003c/code\u003e\u003c/a\u003e Release 0.15.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24217\"\u003e#24217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d444d52e2b9cc8bc9a078c2bd4ff6ff993290209\"\u003e\u003ccode\u003ed444d52\u003c/code\u003e\u003c/a\u003e [ty] Infer lambda expressions with \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22633\"\u003e#22633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9622285ed0081fc688149f6efca87f127d9b18dd\"\u003e\u003ccode\u003e9622285\u003c/code\u003e\u003c/a\u003e [ty] Autocomplete arguments if in arguments node (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24167\"\u003e#24167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d81266252aaf0820346d55edbed79c4f25ba13d2\"\u003e\u003ccode\u003ed812662\u003c/code\u003e\u003c/a\u003e Use the \u003ccode\u003erelease\u003c/code\u003e environment in \u003ccode\u003epublish-docs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24214\"\u003e#24214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/eda2355832f7a9c58aef6febd3e061dc9c87509a\"\u003e\u003ccode\u003eeda2355\u003c/code\u003e\u003c/a\u003e [ty] Show \u003ccode\u003eFinal\u003c/code\u003e source in final assignment diagnostic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24194\"\u003e#24194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/929eb5238c82bfadad4549ff526f02efc0163dd0\"\u003e\u003ccode\u003e929eb52\u003c/code\u003e\u003c/a\u003e [ty] Enforce Final attribute assignment rules for annotated and augmented wri...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/34998be22ec3a77d398bbd55234ef8740f768329\"\u003e\u003ccode\u003e34998be\u003c/code\u003e\u003c/a\u003e [ty] Fix typo in comment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24211\"\u003e#24211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/560aca0b2828ee2ff1b4bcc5c5ef1ef4ced229d2\"\u003e\u003ccode\u003e560aca0\u003c/code\u003e\u003c/a\u003e [ty] Minor simplifications to some benchmark code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24209\"\u003e#24209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/683bae512d03d3727a7bcdbc5a0170dafa049583\"\u003e\u003ccode\u003e683bae5\u003c/code\u003e\u003c/a\u003e [ty] Track non-terminal-call constraints in global scope (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23245\"\u003e#23245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4704c2a4ff3dde2fd29324346720e9516b4fe387\"\u003e\u003ccode\u003e4704c2a\u003c/code\u003e\u003c/a\u003e [ty] Remove unnecessary intermediate collection in `StaticClassLiteral::field...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/v0.0.292...0.15.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy-stubs` from 1.15.3.0 to 1.17.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy-stubs/releases\"\u003escipy-stubs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.17.1.3\u003c/h2\u003e\n\u003cp\u003eThis release targets \u003ca href=\"https://github.com/scipy/scipy/releases/tag/v1.17.1\"\u003eSciPy 1.17.1\u003c/a\u003e and supports Python 3.11-3.14, \u003ca href=\"https://github.com/numpy/numpy\"\u003eNumPy\u003c/a\u003e 1.26-2.4, and \u003ca href=\"https://github.com/jorenham/optype\"\u003eoptype\u003c/a\u003e 0.14-0.18.\u003c/p\u003e\n\u003ch1\u003e:trophy: Release Highlights\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fixed several issues with \u003ccode\u003escipy.sparse\u003c/code\u003e arrays and matrices for certain slicing and multi-indexing operations (see \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1454\"\u003escipy/scipy-stubs#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e✨ Many improved function signatures (shape-typing, input-dependent return dtypes) in \u003ccode\u003escipy.io\u003c/code\u003e, \u003ccode\u003escipy.linalg\u003c/code\u003e, \u003ccode\u003escipy.ndimage\u003c/code\u003e, \u003ccode\u003escipy.signal\u003c/code\u003e, and \u003ccode\u003escipy.stats\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e✅ Increased the type-testing coverage from 84.0% to 87.7%. The goal is to reach 100% coverage in the near future. For the current progress and per-module coverage, see \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1099\"\u003escipy/scipy-stubs#1099\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e✨ Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003endimage\u003c/code\u003e: improved morphology functions by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1458\"\u003escipy/scipy-stubs#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elinalg.interpolative\u003c/code\u003e: improved shape-typing and dtypes by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1459\"\u003escipy/scipy-stubs#1459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elinalg\u003c/code\u003e: improved \u003ccode\u003esvdvals\u003c/code\u003e and \u003ccode\u003esubspace_angles\u003c/code\u003e shape-types and dtypes by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1460\"\u003escipy/scipy-stubs#1460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003endimage\u003c/code\u003e: improved interpolation functions by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1461\"\u003escipy/scipy-stubs#1461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: improve \u003ccode\u003e{g,h,p}mean\u003c/code\u003e by adding 3*26 overloads by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1463\"\u003escipy/scipy-stubs#1463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: improved \u003ccode\u003eiqr\u003c/code\u003e dtypes by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1464\"\u003escipy/scipy-stubs#1464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: improved \u003ccode\u003ezmap\u003c/code\u003e dtypes and shape-typing by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1465\"\u003escipy/scipy-stubs#1465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eio\u003c/code\u003e: improved \u003ccode\u003eMMFile.{read,write}\u003c/code\u003e signatures by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1467\"\u003escipy/scipy-stubs#1467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: minor improvements to some filter design functions by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1475\"\u003escipy/scipy-stubs#1475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: improved LTI conversion functions dtypes (\u003ccode\u003e_lti_conversion\u003c/code\u003e) by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1477\"\u003escipy/scipy-stubs#1477\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esparse\u003c/code\u003e: fix sparse array/matrix sliced index assignment by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1456\"\u003escipy/scipy-stubs#1456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esparse\u003c/code\u003e: fix sparse array/matrix mixed multi-index assignment by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1457\"\u003escipy/scipy-stubs#1457\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📝 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd movement to the list of downstream projects by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1462\"\u003escipy/scipy-stubs#1462\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✅ Testing\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003eCovariance\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1468\"\u003escipy/scipy-stubs#1468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003echatterjeexi\u003c/code\u003e and \u003ccode\u003espearmanrho\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1469\"\u003escipy/scipy-stubs#1469\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test remaining resampling functions and classes by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1470\"\u003escipy/scipy-stubs#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003edirichlet_multinomial\u003c/code\u003e  and \u003ccode\u003ematrix_t\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1471\"\u003escipy/scipy-stubs#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003erv_histogram\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1472\"\u003escipy/scipy-stubs#1472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003enew_distributions\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1473\"\u003escipy/scipy-stubs#1473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003eabs\u003c/code\u003e and \u003ccode\u003eMixture\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1474\"\u003escipy/scipy-stubs#1474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: test the remaining filter design functions (\u003ccode\u003e_filter_design\u003c/code\u003e) by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1476\"\u003escipy/scipy-stubs#1476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: test \u003ccode\u003edetrend\u003c/code\u003e, \u003ccode\u003eresidue[z]\u003c/code\u003e, and \u003ccode\u003einvres[z]\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1478\"\u003escipy/scipy-stubs#1478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: test remaining waveform functions by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1479\"\u003escipy/scipy-stubs#1479\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/scipy/scipy-stubs/commit/6bb5184d6869edd3957399c3ef72f0db9fc53690\"\u003e\u003ccode\u003e6bb5184\u003c/code\u003e\u003c/a\u003e 🔖 scipy-stubs 1.17.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/38d5286101eba47843041ca813c59e604feb9a6b\"\u003e\u003ccode\u003e38d5286\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1479\"\u003e#1479\u003c/a\u003e from scipy:signal._waveforms/tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/84ddb4e3eb28d50d04a58abd69aa5c02e1f160a3\"\u003e\u003ccode\u003e84ddb4e\u003c/code\u003e\u003c/a\u003e ✅ \u003ccode\u003esignal\u003c/code\u003e: test remaainiang waveform functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/8d2113f2ee63660f87f6006efbc2594de2176300\"\u003e\u003ccode\u003e8d2113f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1478\"\u003e#1478\u003c/a\u003e from scipy:signal._signaltools/tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/eb410588331ca61fc43e0ca207c1caf2940ab6dc\"\u003e\u003ccode\u003eeb41058\u003c/code\u003e\u003c/a\u003e ✅ \u003ccode\u003esignal\u003c/code\u003e: test \u003ccode\u003edetrend\u003c/code\u003e, \u003ccode\u003eresidue[z]\u003c/code\u003e, and \u003ccode\u003einvres[z]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/40fa398f70c00288f9e6285ba978c2039610f5b2\"\u003e\u003ccode\u003e40fa398\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1477\"\u003e#1477\u003c/a\u003e from scipy:signal._lti_conversion/improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/e8dfe75ed11e51ea006ad1968b819d0b1f41fc7d\"\u003e\u003ccode\u003ee8dfe75\u003c/code\u003e\u003c/a\u003e ✨ \u003ccode\u003esignal\u003c/code\u003e: improved \u003ccode\u003ess2zpk\u003c/code\u003e dtypes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/eb07f678745c17e9751bf007a11bcd067614890c\"\u003e\u003ccode\u003eeb07f67\u003c/code\u003e\u003c/a\u003e ✨ \u003ccode\u003esignal\u003c/code\u003e: improved \u003ccode\u003ezpk2ss\u003c/code\u003e dtypes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/b4cc11bf7611843dfa89fe9b1fa36a1674d01415\"\u003e\u003ccode\u003eb4cc11b\u003c/code\u003e\u003c/a\u003e ✨ \u003ccode\u003esignal\u003c/code\u003e: improved \u003ccode\u003eabcd_normalize\u003c/code\u003e dtypes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/6c90b7bf4a412b84bb447f13c86bdf35f9947c4b\"\u003e\u003ccode\u003e6c90b7b\u003c/code\u003e\u003c/a\u003e ✨ \u003ccode\u003esignal\u003c/code\u003e: improved \u003ccode\u003ess2tf\u003c/code\u003e dtypes and shape-typing\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy-stubs/compare/v1.15.3.0...v1.17.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 23.0.0 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-23.0.0...apache-arrow-23.0.1\"\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.15 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 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\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 hr...\n\n_Description has been truncated_","html_url":"https://github.com/pH14/materialize/pull/251","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pH14%2Fmaterialize/issues/251","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/251/packages"},{"uuid":"4174316638","node_id":"PR_kwDORckIoM7OxICs","number":375,"state":"open","title":"security(deps): bump the training-dependencies group across 1 directory with 67 updates","user":"dependabot[bot]","labels":["dependencies","python","training"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-30T21:56:32.000Z","updated_at":"2026-03-30T21:58:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"security(deps): bump","group_name":"training-dependencies","update_count":67,"packages":[{"name":"numpy","old_version":"2.4.3","new_version":"2.4.4","repository_url":"https://github.com/numpy/numpy"},{"name":"azure-core","old_version":"1.38.3","new_version":"1.39.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-blob","old_version":"12.27.1","new_version":"12.28.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"marshmallow","old_version":"3.26.2","new_version":"4.2.3","repository_url":"https://github.com/marshmallow-code/marshmallow"},{"name":"mlflow","old_version":"3.9.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"azureml-mlflow","old_version":"1.62.0.post1","new_version":"1.62.0.post2","repository_url":"https://github.com/Azure/MachineLearningNotebooks"},{"name":"anyio","old_version":"4.12.1","new_version":"4.13.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"attrs","old_version":"25.4.0","new_version":"26.1.0","repository_url":"https://github.com/python-attrs/attrs"},{"name":"azure-monitor-opentelemetry","old_version":"1.8.6","new_version":"1.8.7","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-monitor-opentelemetry-exporter","old_version":"1.0.0b48","new_version":"1.0.0b49","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-file-datalake","old_version":"12.22.0","new_version":"12.23.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"cachetools","old_version":"6.2.6","new_version":"7.0.5","repository_url":"https://github.com/tkem/cachetools"},{"name":"cuda-bindings","old_version":"12.9.4","new_version":"13.2.0","repository_url":"https://github.com/NVIDIA/cuda-python"},{"name":"cuda-pathfinder","old_version":"1.4.3","new_version":"1.5.0","repository_url":"https://github.com/NVIDIA/cuda-python"},{"name":"databricks-sdk","old_version":"0.100.0","new_version":"0.102.0","repository_url":"https://github.com/databricks/databricks-sdk-py"},{"name":"fastapi","old_version":"0.135.1","new_version":"0.135.2","repository_url":"https://github.com/fastapi/fastapi"},{"name":"fsspec","old_version":"2026.2.0","new_version":"2026.3.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"grpcio","old_version":"1.78.0","new_version":"1.80.0","repository_url":"https://github.com/grpc/grpc"},{"name":"gunicorn","old_version":"23.0.0","new_version":"25.3.0","repository_url":"https://github.com/benoitc/gunicorn"},{"name":"importlib-metadata","old_version":"8.7.1","new_version":"9.0.0","repository_url":"https://github.com/python/importlib_metadata"},{"name":"mlflow-skinny","old_version":"3.9.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mlflow-tracing","old_version":"3.9.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/mpmath/mpmath"},{"name":"nvidia-cublas-cu12","old_version":"12.8.4.1","new_version":"12.9.2.10"},{"name":"nvidia-cuda-cupti-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cuda-nvrtc-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-cuda-runtime-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cudnn-cu12","old_version":"9.10.2.21","new_version":"9.20.0.48"},{"name":"nvidia-cufft-cu12","old_version":"11.3.3.83","new_version":"11.4.1.4"},{"name":"nvidia-cufile-cu12","old_version":"1.13.1.3","new_version":"1.14.1.1"},{"name":"nvidia-curand-cu12","old_version":"10.3.9.90","new_version":"10.3.10.19"},{"name":"nvidia-cusolver-cu12","old_version":"11.7.3.90","new_version":"11.7.5.82"},{"name":"nvidia-cusparse-cu12","old_version":"12.5.8.93","new_version":"12.5.10.65"},{"name":"nvidia-cusparselt-cu12","old_version":"0.7.1","new_version":"0.8.1"},{"name":"nvidia-ml-py","old_version":"13.590.48","new_version":"13.595.45"},{"name":"nvidia-nccl-cu12","old_version":"2.27.5","new_version":"2.29.7"},{"name":"nvidia-nvjitlink-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-nvshmem-cu12","old_version":"3.4.5","new_version":"3.6.5"},{"name":"nvidia-nvtx-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"onnx","old_version":"1.20.1","new_version":"1.21.0","repository_url":"https://github.com/onnx/onnx"},{"name":"opentelemetry-api","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-asgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-dbapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-django","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-fastapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-flask","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-psycopg2","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-wsgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-util-http","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"protobuf","old_version":"6.33.6","new_version":"7.34.1","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"pyarrow","old_version":"22.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.44.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pytz","old_version":"2025.2","new_version":"2026.1.post1","repository_url":"https://github.com/stub42/pytz"},{"name":"requests","old_version":"2.33.0","new_version":"2.33.1","repository_url":"https://github.com/psf/requests"},{"name":"starlette","old_version":"0.52.1","new_version":"1.0.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"torch","old_version":"2.10.0","new_version":"2.11.0","repository_url":"https://github.com/pytorch/pytorch"},{"name":"torchvision","old_version":"0.25.0","new_version":"0.26.0","repository_url":"https://github.com/pytorch/vision"},{"name":"werkzeug","old_version":"3.1.6","new_version":"3.1.7","repository_url":"https://github.com/pallets/werkzeug"},{"name":"wrapt","old_version":"1.17.3","new_version":"2.1.2","repository_url":"https://github.com/GrahamDumpleton/wrapt"}],"path":null,"ecosystem":"pip"},"body":"Bumps the training-dependencies group with 67 updates in the /training/rl directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `2.4.3` | `2.4.4` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.3` | `1.39.0` |\n| [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python) | `12.27.1` | `12.28.0` |\n| [marshmallow](https://github.com/marshmallow-code/marshmallow) | `3.26.2` | `4.2.3` |\n| [mlflow](https://github.com/mlflow/mlflow) | `3.9.0` | `3.10.1` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [azureml-mlflow](https://github.com/Azure/MachineLearningNotebooks) | `1.62.0.post1` | `1.62.0.post2` |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.1` | `4.13.0` |\n| [attrs](https://github.com/python-attrs/attrs) | `25.4.0` | `26.1.0` |\n| [azure-monitor-opentelemetry](https://github.com/Azure/azure-sdk-for-python) | `1.8.6` | `1.8.7` |\n| [azure-monitor-opentelemetry-exporter](https://github.com/Azure/azure-sdk-for-python) | `1.0.0b48` | `1.0.0b49` |\n| [azure-storage-file-datalake](https://github.com/Azure/azure-sdk-for-python) | `12.22.0` | `12.23.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.6` | `7.0.5` |\n| [cuda-bindings](https://github.com/NVIDIA/cuda-python) | `12.9.4` | `13.2.0` |\n| [cuda-pathfinder](https://github.com/NVIDIA/cuda-python) | `1.4.3` | `1.5.0` |\n| [databricks-sdk](https://github.com/databricks/databricks-sdk-py) | `0.100.0` | `0.102.0` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.135.1` | `0.135.2` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2026.2.0` | `2026.3.0` |\n| [grpcio](https://github.com/grpc/grpc) | `1.78.0` | `1.80.0` |\n| [gunicorn](https://github.com/benoitc/gunicorn) | `23.0.0` | `25.3.0` |\n| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.7.1` | `9.0.0` |\n| [mlflow-skinny](https://github.com/mlflow/mlflow) | `3.9.0` | `3.10.1` |\n| [mlflow-tracing](https://github.com/mlflow/mlflow) | `3.9.0` | `3.10.1` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.1` |\n| [nvidia-cublas-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.4.1` | `12.9.2.10` |\n| [nvidia-cuda-cupti-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cuda-nvrtc-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-cuda-runtime-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cudnn-cu12](https://developer.nvidia.com/cuda-zone) | `9.10.2.21` | `9.20.0.48` |\n| [nvidia-cufft-cu12](https://developer.nvidia.com/cuda-zone) | `11.3.3.83` | `11.4.1.4` |\n| [nvidia-cufile-cu12](https://developer.nvidia.com/cuda-zone) | `1.13.1.3` | `1.14.1.1` |\n| [nvidia-curand-cu12](https://developer.nvidia.com/cuda-zone) | `10.3.9.90` | `10.3.10.19` |\n| [nvidia-cusolver-cu12](https://developer.nvidia.com/cuda-zone) | `11.7.3.90` | `11.7.5.82` |\n| [nvidia-cusparse-cu12](https://developer.nvidia.com/cuda-zone) | `12.5.8.93` | `12.5.10.65` |\n| [nvidia-cusparselt-cu12](https://developer.nvidia.com/cusparselt) | `0.7.1` | `0.8.1` |\n| [nvidia-ml-py](https://forums.developer.nvidia.com) | `13.590.48` | `13.595.45` |\n| [nvidia-nccl-cu12](https://developer.nvidia.com/cuda-zone) | `2.27.5` | `2.29.7` |\n| [nvidia-nvjitlink-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-nvshmem-cu12](https://developer.nvidia.com/cuda-zone) | `3.4.5` | `3.6.5` |\n| [nvidia-nvtx-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [onnx](https://github.com/onnx/onnx) | `1.20.1` | `1.21.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-asgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-dbapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-django](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-flask](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-psycopg2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-wsgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b0` | `0.61b0` |\n| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.6` | `7.34.1` |\n| [pyarrow](https://github.com/apache/arrow) | `22.0.0` | `23.0.1` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.44.0` |\n| [pytz](https://github.com/stub42/pytz) | `2025.2` | `2026.1.post1` |\n| [requests](https://github.com/psf/requests) | `2.33.0` | `2.33.1` |\n| [starlette](https://github.com/Kludex/starlette) | `0.52.1` | `1.0.0` |\n| [torch](https://github.com/pytorch/pytorch) | `2.10.0` | `2.11.0` |\n| [torchvision](https://github.com/pytorch/vision) | `0.25.0` | `0.26.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.6` | `3.1.7` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.2` |\n\n\nUpdates `numpy` from 2.4.3 to 2.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.4 (Mar 29, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.4 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.4 is a patch release that fixes bugs discovered after the 2.4.3\nrelease. It should finally close issue \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30816\"\u003e#30816\u003c/a\u003e, the OpenBLAS threading problem\non ARM.\u003c/p\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 8 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eDaniel Haag +\u003c/li\u003e\n\u003cli\u003eDenis Prokopenko +\u003c/li\u003e\n\u003cli\u003eHarshith J +\u003c/li\u003e\n\u003cli\u003eKoki Watanabe\u003c/li\u003e\n\u003cli\u003eMarten van Kerkwijk\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 7 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30978\"\u003e#30978\u003c/a\u003e: MAINT: Prepare 2.4.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31049\"\u003e#31049\u003c/a\u003e: BUG: Add test to reproduce problem described in \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30816\"\u003e#30816\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30818\"\u003e#30818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31052\"\u003e#31052\u003c/a\u003e: BUG: fix FNV-1a 64-bit selection by using NPY_SIZEOF_UINTP (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31035\"\u003e#31035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31053\"\u003e#31053\u003c/a\u003e: BUG: avoid warning on ufunc with where=True and no output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31058\"\u003e#31058\u003c/a\u003e: DOC: document caveats of ndarray.resize on 3.14 and newer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31079\"\u003e#31079\u003c/a\u003e: TST: fix POWER VSX feature mapping (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30801\"\u003e#30801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31084\"\u003e#31084\u003c/a\u003e: MAINT: numpy.i: Replace deprecated \u003ccode\u003esprintf\u003c/code\u003e with \u003ccode\u003esnprintf\u003c/code\u003e...\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/be93fe2960dbf49b4647f5783c66d967fb2c65b5\"\u003e\u003ccode\u003ebe93fe2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31090\"\u003e#31090\u003c/a\u003e from charris/prepare-2.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f5245dc7ea5c6279c59cb0d5de81113229841290\"\u003e\u003ccode\u003ef5245dc\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/02e838ba270a5ca3dd8afc5a31c090cd34a56615\"\u003e\u003ccode\u003e02e838b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31084\"\u003e#31084\u003c/a\u003e from charris/backport-31056\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/fa74b2d05f8f7604bf6635d5280c3216c8ec667f\"\u003e\u003ccode\u003efa74b2d\u003c/code\u003e\u003c/a\u003e MAINT: numpy.i: Replace deprecated \u003ccode\u003esprintf\u003c/code\u003e with \u003ccode\u003esnprintf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31056\"\u003e#31056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/533a6db96dfa2556a61102a58c35fd64eaf3fa2b\"\u003e\u003ccode\u003e533a6db\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31079\"\u003e#31079\u003c/a\u003e from charris/backport-20801\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9e496cbd0a281195bd779ae1833f2a8f4a1d46a7\"\u003e\u003ccode\u003e9e496cb\u003c/code\u003e\u003c/a\u003e TST: fix POWER VSX feature mapping (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30801\"\u003e#30801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/8052c4b69ef18e582709af946f93f9e58b848f39\"\u003e\u003ccode\u003e8052c4b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31058\"\u003e#31058\u003c/a\u003e from charris/backport-31021\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7f13b5ad2b69fd6ea6aa3af7036b2dcf98e96486\"\u003e\u003ccode\u003e7f13b5a\u003c/code\u003e\u003c/a\u003e MAINT: Skip test on PyPy.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/4c5fdd66c8f379a1e2b3f40fa62bd0b87769d1c7\"\u003e\u003ccode\u003e4c5fdd6\u003c/code\u003e\u003c/a\u003e MAINT: Remove unused import of tracemalloc.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a3ca5ed354b26e0fd6e35bf29765a24271ed7c3a\"\u003e\u003ccode\u003ea3ca5ed\u003c/code\u003e\u003c/a\u003e Update numpy/_core/src/multiarray/shape.c\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.4.3...v2.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-core` from 1.38.3 to 1.39.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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-core_1.39.0\u003c/h2\u003e\n\u003ch2\u003e1.39.0 (2026-03-18)\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChanged the previously undocumented \u003ccode\u003eazure_cloud\u003c/code\u003e setting environment variable from \u003ccode\u003eAZURE_CLOUD\u003c/code\u003e to \u003ccode\u003eAZURE_SDK_CLOUD_CONF\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/Azure/azure-sdk-for-python/commit/dee80a8fd745ddab91933f05e795cf41e10ab8fe\"\u003e\u003ccode\u003edee80a8\u003c/code\u003e\u003c/a\u003e Changed the \u003ccode\u003eazure_cloud\u003c/code\u003e setting environment variable (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45763\"\u003e#45763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/a2d11701462371d3f8b38b935f77f2e5070a5bf7\"\u003e\u003ccode\u003ea2d1170\u003c/code\u003e\u003c/a\u003e Increment package version after release of azure-core (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45671\"\u003e#45671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-core_1.38.3...azure-core_1.39.0\"\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.27.1 to 12.28.0\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.27.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 `marshmallow` from 3.26.2 to 4.2.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/marshmallow-code/marshmallow/blob/dev/CHANGELOG.rst\"\u003emarshmallow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.3 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003emarshmallow.fields.Number\u003c/code\u003e and \u003ccode\u003emarshmallow.fields.Mapping\u003c/code\u003e abstract base classes to\nprevent using them within Schemas (:issue:\u003ccode\u003e2924\u003c/code\u003e). Thanks :user:\u003ccode\u003eMartingaleCoda\u003c/code\u003e for reporting.\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003erequired\u003c/code\u003e to be set on \u003ccode\u003emarshmallow.fields.Contant\u003c/code\u003e (:issue:\u003ccode\u003e2900\u003c/code\u003e).\nThanks :user:\u003ccode\u003enosnickid\u003c/code\u003e for the report and :user:\u003ccode\u003eworksbyfriday\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003emarshmallow.validate.OneOf\u003c/code\u003e emitting extra pairs when labels outnumber choices (:issue:\u003ccode\u003e2869\u003c/code\u003e).\nThanks: user:\u003ccode\u003eT90REAL\u003c/code\u003e for the report and :user:\u003ccode\u003erstar327\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eFix behavior when passing a dot-delimited attribute name to \u003ccode\u003epartial\u003c/code\u003e for a key with \u003ccode\u003edata_key\u003c/code\u003e set (:pr:\u003ccode\u003e2903\u003c/code\u003e).\nThanks :user:\u003ccode\u003ebysiber\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eFix Enum field by-name lookup to only return actual members (:pr:\u003ccode\u003e2902\u003c/code\u003e).\nThanks :user:\u003ccode\u003ebysiber\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emarshmallow.fields.DateTime\u003c/code\u003e with \u003ccode\u003eformat=\u0026quot;timestamp_ms\u0026quot;\u003c/code\u003e properly\nrejects bool values (:pr:\u003ccode\u003e2904\u003c/code\u003e). Thanks :user:\u003ccode\u003ebysiber\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eFix typing of \u003ccode\u003eerror_essages\u003c/code\u003e argument to \u003ccode\u003emarshmallow.fields.Field\u003c/code\u003e (:pr:\u003ccode\u003e1636\u003c/code\u003e).\nThanks :user:\u003ccode\u003erepole\u003c/code\u003e for reporting and :user:\u003ccode\u003edhruvildarji\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eipaddress.*\u003c/code\u003e to \u003ccode\u003emarshmallow.Schema.TYPE_MAPPING\u003c/code\u003e (:issue:\u003ccode\u003e1695\u003c/code\u003e).\nThanks :user:\u003ccode\u003eliberforce\u003c/code\u003e for the suggestion and :user:\u003ccode\u003edhruvildarji\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.2 (2026-02-04)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix behavior of \u003ccode\u003efields.Contant(None)\u003c/code\u003e (:issue:\u003ccode\u003e2868\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for reporting and \u003ccode\u003eemmanuel-ferdman\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.1 (2026-01-23)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix validation of URLs beginning with uppercare \u003ccode\u003eFILE\u003c/code\u003e (:issue:\u003ccode\u003e2891\u003c/code\u003e).\nThanks :user:\u003ccode\u003ethanhlecongg\u003c/code\u003e for reporting and fixing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.0 (2026-01-04)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emany\u003c/code\u003e argument of \u003ccode\u003eNested\u003c/code\u003e properly overrides schema instance\nvalue (:pr:\u003ccode\u003e2854\u003c/code\u003e). Thanks :user:\u003ccode\u003ejafournier\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/be7379775a2e94ebbe22f8ada83e5cce745e964c\"\u003e\u003ccode\u003ebe73797\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c38b48ec3b8bb44315036d0c8a07bc8477eb5094\"\u003e\u003ccode\u003ec38b48e\u003c/code\u003e\u003c/a\u003e Add ipaddress types to Schema.TYPE_MAPPING (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2906\"\u003e#2906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/3bc191ab3c8cac8356839bcde0918cb6aed4d3a1\"\u003e\u003ccode\u003e3bc191a\u003c/code\u003e\u003c/a\u003e Fix Field.error_messages type to allow dict and list values (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2907\"\u003e#2907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c530f85f05a99665c7b803533734069b79a00c84\"\u003e\u003ccode\u003ec530f85\u003c/code\u003e\u003c/a\u003e Update package metadata to comply with PEP 639 (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2926\"\u003e#2926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/72ac4a04208ff24df0a9694d9b03b78b1c5a2e6a\"\u003e\u003ccode\u003e72ac4a0\u003c/code\u003e\u003c/a\u003e Reject booleans in from_timestamp_ms, consistent with from_timestamp (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2904\"\u003e#2904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/024b5d09e9f026f0f96d220e243be69346687ce0\"\u003e\u003ccode\u003e024b5d0\u003c/code\u003e\u003c/a\u003e Fix Enum field by-name lookup to only return actual members (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2902\"\u003e#2902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/252090c7c707166cf4fcfcdc73eb4376b7bbc4b7\"\u003e\u003ccode\u003e252090c\u003c/code\u003e\u003c/a\u003e Fix nested partial to use attr_name instead of data_key for prefix (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2903\"\u003e#2903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/65374df0c31cdc45acc4435741779298201306a2\"\u003e\u003ccode\u003e65374df\u003c/code\u003e\u003c/a\u003e Fix OneOf.options() emitting phantom entries when labels outnumber choices (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/070dde08bad456e743a0d2e1842c142a799a9568\"\u003e\u003ccode\u003e070dde0\u003c/code\u003e\u003c/a\u003e Fix Constant field with required=True raising ValueError (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2901\"\u003e#2901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/fea5428567960f15be0c9a3a4b99c0d9bb63848c\"\u003e\u003ccode\u003efea5428\u003c/code\u003e\u003c/a\u003e Make Number and Mapping abstract base classes (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2925\"\u003e#2925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/marshmallow-code/marshmallow/compare/3.26.2...4.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow` from 3.9.0 to 3.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/releases\"\u003emlflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gateway] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.10.0, which includes several notable updates:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.1 (2026-03-05)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.10.0 (2026-02-20)\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/mlflow/mlflow/commit/cadc323c059d08ee15c3a312afd0eefeeccedc94\"\u003e\u003ccode\u003ecadc323\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1 (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21396\"\u003e#21396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3d17d6c58e1e0078c062321322fc76b1b822ab6d\"\u003e\u003ccode\u003e3d17d6c\u003c/code\u003e\u003c/a\u003e Add back virtualenv to fix the docker build until the next release (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3cfc12fe1359afbade834a74f57e0bbe2ef4531c\"\u003e\u003ccode\u003e3cfc12f\u003c/code\u003e\u003c/a\u003e Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/bcaad26df7e825fe15d4deffa0f05478e010bc10\"\u003e\u003ccode\u003ebcaad26\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/ff3249ff8a5f62e344f382d5fcdb419379780c78\"\u003e\u003ccode\u003eff3249f\u003c/code\u003e\u003c/a\u003e Update GenAI link and video in the getting started page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1591d038ae47271382fddd2b8653286af7c31138\"\u003e\u003ccode\u003e1591d03\u003c/code\u003e\u003c/a\u003e Persist AI Gateway default passphrase security banner dismissal to localStora...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/32979c9e560346a54d05ba7ff53434f215c5958f\"\u003e\u003ccode\u003e32979c9\u003c/code\u003e\u003c/a\u003e Demote unused parameters log message from WARNING to DEBUG in instructions ju...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/18eeea03c3d0af5b915bb3880a71198b5123e0bd\"\u003e\u003ccode\u003e18eeea0\u003c/code\u003e\u003c/a\u003e Make simulator explicitly avoid stating goal in first message (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/42d4356e18c0c2548ff3b290b11f36a992530d9d\"\u003e\u003ccode\u003e42d4356\u003c/code\u003e\u003c/a\u003e Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1a14934cc0116ddd91fb693e2b52bed12683521a\"\u003e\u003ccode\u003e1a14934\u003c/code\u003e\u003c/a\u003e Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.9.0...v3.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 25.0 to 26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0\u003c/h2\u003e\n\u003cp\u003eRead about the performance improvements here: \u003ca href=\"https://iscinumpy.dev/post/packaging-faster\"\u003ehttps://iscinumpy.dev/post/packaging-faster\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/900\"\u003epypa/packaging#900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata by \u003ca href=\"https://github.com/brettcannon\"\u003e\u003ccode\u003e@​brettcannon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/948\"\u003epypa/packaging#948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport writing metadata by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/846\"\u003epypa/packaging#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e for \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1003\"\u003epypa/packaging#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifier\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1004\"\u003epypa/packaging#1004\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/897\"\u003epypa/packaging#897\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/942\"\u003epypa/packaging#942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/951\"\u003epypa/packaging#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/932\"\u003epypa/packaging#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/954\"\u003epypa/packaging#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparsions by \u003ca href=\"https://github.com/JP-Ellis\"\u003e\u003ccode\u003e@​JP-Ellis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/939\"\u003epypa/packaging#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e by \u003ca href=\"https://github.com/dholth\"\u003e\u003ccode\u003e@​dholth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/860\"\u003epypa/packaging#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/896\"\u003epypa/packaging#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/868\"\u003epypa/packaging#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e by \u003ca href=\"https://github.com/bwoodsend\"\u003e\u003ccode\u003e@​bwoodsend\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/879\"\u003epypa/packaging#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format by \u003ca href=\"https://github.com/di\"\u003e\u003ccode\u003e@​di\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/925\"\u003epypa/packaging#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon by \u003ca href=\"https://github.com/pradyunsg\"\u003e\u003ccode\u003e@​pradyunsg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/833\"\u003epypa/packaging#833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/931\"\u003epypa/packaging#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/953\"\u003epypa/packaging#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA root logger use found by ruff LOG, use \u003ccode\u003epackaging\u003c/code\u003e logger instead by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/965\"\u003epypa/packaging#965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1022\"\u003epypa/packaging#1022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1024\"\u003epypa/packaging#1024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1033\"\u003epypa/packaging#1033\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup by \u003ca href=\"https://github.com/hauntsaninja\"\u003e\u003ccode\u003e@​hauntsaninja\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1019\"\u003epypa/packaging#1019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/869\"\u003epypa/packaging#869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/bearomorphism\"\u003e\u003ccode\u003e@​bearomorphism\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/913\"\u003epypa/packaging#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003es in specifier comparison by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/986\"\u003epypa/packaging#986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eSpecifier\u003c/code\u003e's Version by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/985\"\u003epypa/packaging#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/987\"\u003epypa/packaging#987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/990\"\u003epypa/packaging#990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/988\"\u003epypa/packaging#988\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1055\"\u003epypa/packaging#1055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/989\"\u003epypa/packaging#989\u003c/a\u003e and regression for \u003ccode\u003epackaging_legacy\u003c/code\u003e fixed by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1048\"\u003epypa/packaging#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/993\"\u003epypa/packaging#993\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efullmatch\u003c/code\u003e in a couple more places by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/992\"\u003epypa/packaging#992\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/blob/main/CHANGELOG.rst\"\u003epackaging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e26.0 - 2026-01-20\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nFeatures:\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock (:pull:\u003ccode\u003e900\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata (:pull:\u003ccode\u003e948\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport for writing metadata to a file (:pull:\u003ccode\u003e846\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e on Version (:pull:\u003ccode\u003e1003\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e1004\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e897\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e951\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version (:pull:\u003ccode\u003e932\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. (:pull:\u003ccode\u003e954\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparisons (:pull:\u003ccode\u003e939\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e (:pull:\u003ccode\u003e860\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e (:pull:\u003ccode\u003e896\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e (:pull:\u003ccode\u003e868\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e (:pull:\u003ccode\u003e879\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format (:pull:\u003ccode\u003e925\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon (:pull:\u003ccode\u003e833\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions (:pull:\u003ccode\u003e931\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string (:pull:\u003ccode\u003e953\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eA root logger use found, use a \u003ccode\u003epackaging\u003c/code\u003e logger instead (:pull:\u003ccode\u003e965\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e (:pull:\u003ccode\u003e1022\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first (:pull:\u003ccode\u003e1024\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct (:pull:\u003ccode\u003e1033\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup (:pull:\u003ccode\u003e1019\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e (:pull:\u003ccode\u003e869\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e913\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003e's in specifier comparison (:pull:\u003ccode\u003e986\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCache the \u003ccode\u003eSpecifier\u003c/code\u003e's \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e985\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster (:pull:\u003ccode\u003e987\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup (:pull:\u003ccode\u003e990\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ for \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e988\u003c/code\u003e, :pull:\u003ccode\u003e1055\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e989\u003c/code\u003e, :pull:\u003ccode\u003e1048\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e (:pull:\u003ccode\u003e993\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ere.fullmatch\u003c/code\u003e in a couple more places (:pull:\u003ccode\u003e992\u003c/code\u003e, :pull:\u003ccode\u003e1029\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003emap\u003c/code\u003e instead of generator (:pull:\u003ccode\u003e996\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003e._version\u003c/code\u003e (\u003ccode\u003e_Version\u003c/code\u003e, a \u003ccode\u003eNamedTuple\u003c/code\u003e) (:pull:\u003ccode\u003e995\u003c/code\u003e, :pull:\u003ccode\u003e1062\u003c/code\u003e)\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/3b77a26f5a27473ad3b08194d773f325d018a2d0\"\u003e\u003ccode\u003e3b77a26\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/31371cce593d2bde0dd8c436ecfb7d53cb91cfb6\"\u003e\u003ccode\u003e31371cc\u003c/code\u003e\u003c/a\u003e docs: prepare for 26.0 final (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/9627a8821f09e4c55cd6e9daadb617b67c4741c2\"\u003e\u003ccode\u003e9627a88\u003c/code\u003e\u003c/a\u003e perf: dual replace (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1064\"\u003e#1064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/d5398b8bc19f3fad7b035ceb83023caf06d6e2da\"\u003e\u003ccode\u003ed5398b8\u003c/code\u003e\u003c/a\u003e fix: restore ._version as a compat shim (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1062\"\u003e#1062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/3a7b600a126d237b2ad3cd7e25d2cb5c176276af\"\u003e\u003ccode\u003e3a7b600\u003c/code\u003e\u003c/a\u003e Bump for development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/d4eefdccf992e963c48011875301d93df6a7f2cc\"\u003e\u003ccode\u003ed4eefdc\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/46189124fb43d8989d370902c80ab156eb83a45d\"\u003e\u003ccode\u003e4618912\u003c/code\u003e\u003c/a\u003e docs: prepare for 26.0rc3 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1060\"\u003e#1060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/0cf1b41b4b321ae08cad7d3e49cfaff5578fe813\"\u003e\u003ccode\u003e0cf1b41\u003c/code\u003e\u003c/a\u003e ci: test on first public release of CPythons (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1056\"\u003e#1056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/716beb1c0a5d7a398bf57fbd80bc2501811e616b\"\u003e\u003ccode\u003e716beb1\u003c/code\u003e\u003c/a\u003e perf:  10% faster stripping zeros (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/350a2306700b738f487f251efa278f532b263dee\"\u003e\u003ccode\u003e350a230\u003c/code\u003e\u003c/a\u003e fix: support CPython 3.11.0-3.11.4 and older PyPy3.11 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/packaging/compare/25.0...26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azureml-mlflow` from 1.62.0.post1 to 1.62.0.post2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Azure/MachineLearningNotebooks/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anyio` from 4.12.1 to 4.13.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.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ettl\u003c/code\u003e parameter to the \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e wrapper (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1073\"\u003e#1073\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Graeme22\"\u003e\u003ccode\u003e@​Graeme22\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWidened the type annotations of file I/O streams to accept \u003ccode\u003eIO[bytes]\u003c/code\u003e instead of just \u003ccode\u003eBinaryIO\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1078\"\u003e#1078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.Path\u003c/code\u003e not being compatible with Python 3.15 due to the removal of \u003ccode\u003epathlib.Path.is_reserved()\u003c/code\u003e and the addition of \u003ccode\u003epathlib.Path.__vfspath__()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1061\"\u003e#1061\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eBrokenResourceError\u003c/code\u003e raised by the asyncio \u003ccode\u003eSocketStream\u003c/code\u003e not having the original exception as its cause (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1055\"\u003e#1055\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eTypeError\u003c/code\u003e raised when using \u0026quot;func\u0026quot; as a parameter name in \u003ccode\u003epytest.mark.parametrize\u003c/code\u003e when using the pytest plugin (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1068\"\u003e#1068\u003c/a\u003e; PR by \u003ca href=\"https://github.com/JohnnyDeuss\"\u003e\u003ccode\u003e@​JohnnyDeuss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the pytest plugin not running tests that had the \u003ccode\u003eanyio\u003c/code\u003e marker added programmatically via \u003ccode\u003epytest_collection_modifyitems\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/422\"\u003e#422\u003c/a\u003e; PR by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when they are contained in an exception group alongside non-cancellation exceptions (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1091\"\u003e#1091\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCondition.wait()\u003c/code\u003e not passing on a notification when the task is cancelled but already received a notification\u003c/li\u003e\n\u003cli\u003eFixed inverted condition in the process pool shutdown phase which would cause still-running pooled processes not to be terminated (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1074\"\u003e#1074\u003c/a\u003e; PR by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\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/agronholm/anyio/commit/afbe93ca9d0c447adf26e9c1715ac20870622bf2\"\u003e\u003ccode\u003eafbe93c\u003c/code\u003e\u003c/a\u003e Bumped up the version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/33bdf2e4b4f40c2df178123746147a6d2471808d\"\u003e\u003ccode\u003e33bdf2e\u003c/code\u003e\u003c/a\u003e Rearranged the changelog entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/19e09e25bc5a23dd78a577d8c3909dd377057c78\"\u003e\u003ccode\u003e19e09e2\u003c/code\u003e\u003c/a\u003e Fixed inverted condition in _forcibly_shutdown_process_pool_on_exit (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1074\"\u003e#1074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/9369d80b9e8292f2a892a9d5c73923c6a28aa08c\"\u003e\u003ccode\u003e9369d80\u003c/code\u003e\u003c/a\u003e Fixed Condition.wait() not handing over notification when cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/6f122abdc6f6b166c6b6ac27d36d55cdf8fa08e8\"\u003e\u003ccode\u003e6f122ab\u003c/code\u003e\u003c/a\u003e Fixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/beaa45aff568a4020f2faf317321dd92f0e1f4a0\"\u003e\u003ccode\u003ebeaa45a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://...\n\n_Description has been truncated_","html_url":"https://github.com/microsoft/physical-ai-toolchain/pull/375","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fphysical-ai-toolchain/issues/375","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/375/packages"},{"uuid":"4169838406","node_id":"PR_kwDOGsm7qs7OlUMm","number":195,"state":"open","title":"build(deps): bump the simple group in /ci/builder with 14 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-30T11:15:24.000Z","updated_at":"2026-03-30T11:15:33.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"simple","update_count":14,"packages":[{"name":"boto3-stubs","old_version":"1.41.5","new_version":"1.42.77","repository_url":"https://github.com/youtype/mypy_boto3_builder"},{"name":"boto3","old_version":"1.41.5","new_version":"1.42.77","repository_url":"https://github.com/boto/boto3"},{"name":"click","old_version":"8.1.3","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"cryptography","old_version":"46.0.5","new_version":"46.0.6","repository_url":"https://github.com/pyca/cryptography"},{"name":"matplotlib-stubs","old_version":"0.3.4","new_version":"0.3.11","repository_url":"https://github.com/hoel-bagard/matplotlib-stubs"},{"name":"networkx","old_version":"3.4.2","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"numpy","old_version":"2.4.2","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"ruamel-yaml","old_version":"0.18.17","new_version":"0.19.1"},{"name":"ruff","old_version":"0.0.292","new_version":"0.15.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"scipy-stubs","old_version":"1.15.3.0","new_version":"1.17.1.3","repository_url":"https://github.com/scipy/scipy-stubs"},{"name":"types-requests","old_version":"2.32.4.20260324","new_version":"2.33.0.20260327","repository_url":"https://github.com/python/typeshed"},{"name":"pyarrow","old_version":"23.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"minio","old_version":"7.2.15","new_version":"7.2.20","repository_url":"https://github.com/minio/minio-py"},{"name":"build","old_version":"1.4.0","new_version":"1.4.2","repository_url":"https://github.com/pypa/build"}],"path":"/ci/builder","ecosystem":"pip"},"body":"Bumps the simple group in /ci/builder with 14 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [boto3-stubs](https://github.com/youtype/mypy_boto3_builder) | `1.41.5` | `1.42.77` |\n| [boto3](https://github.com/boto/boto3) | `1.41.5` | `1.42.77` |\n| [click](https://github.com/pallets/click) | `8.1.3` | `8.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.5` | `46.0.6` |\n| [matplotlib-stubs](https://github.com/hoel-bagard/matplotlib-stubs) | `0.3.4` | `0.3.11` |\n| [networkx](https://github.com/networkx/networkx) | `3.4.2` | `3.6.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.4.2` | `2.4.3` |\n| ruamel-yaml | `0.18.17` | `0.19.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.0.292` | `0.15.8` |\n| [scipy-stubs](https://github.com/scipy/scipy-stubs) | `1.15.3.0` | `1.17.1.3` |\n| [types-requests](https://github.com/python/typeshed) | `2.32.4.20260324` | `2.33.0.20260327` |\n| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `23.0.1` |\n| [minio](https://github.com/minio/minio-py) | `7.2.15` | `7.2.20` |\n| [build](https://github.com/pypa/build) | `1.4.0` | `1.4.2` |\n\nUpdates `boto3-stubs` from 1.41.5 to 1.42.77\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/youtype/mypy_boto3_builder/releases\"\u003eboto3-stubs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.8.0 - Python 3.8 runtime is back\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e \u003ccode\u003einstall_requires\u003c/code\u003e section is calculated based on dependencies in use, so \u003ccode\u003etyping-extensions\u003c/code\u003e version is set properly\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Replaced \u003ccode\u003etyping\u003c/code\u003e imports with \u003ccode\u003ecollections.abc\u003c/code\u003e with a fallback to \u003ccode\u003etyping\u003c/code\u003e for Python \u0026lt;3.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Added aliases for \u003ccode\u003ebuiltins.list\u003c/code\u003e, \u003ccode\u003ebuiltins.set\u003c/code\u003e, \u003ccode\u003ebuiltins.dict\u003c/code\u003e, and \u003ccode\u003ebuiltins.type\u003c/code\u003e, so Python 3.8 runtime should work as expected again (reported by \u003ca href=\"https://github.com/YHallouard\"\u003e\u003ccode\u003e@​YHallouard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/340\"\u003e#340\u003c/a\u003e and \u003ca href=\"https://github.com/Omri-Ben-Yair\"\u003e\u003ccode\u003e@​Omri-Ben-Yair\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/336\"\u003e#336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Unions use the same type annotations as the rest of the structures due to proper fallbacks\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Universal input/output shapes were not replaced properly in service subresources\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[docs]\u003c/code\u003e Simplified doc links rendering for services\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Cleaned up unnecessary imports in \u003ccode\u003eclient.pyi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[builder]\u003c/code\u003e Import records with fallback are always rendered\u003c/li\u003e\n\u003c/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/youtype/mypy_boto3_builder/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.41.5 to 1.42.77\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/48369eaf9203ac46d0621f2a6506cbfa369c3cff\"\u003e\u003ccode\u003e48369ea\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.77'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/4398c8e0aee88fe1c5aacb415683e75ccde1b3a3\"\u003e\u003ccode\u003e4398c8e\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.77\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7c449e2e3bfea638a8cf9892ba8096ec1ff4d565\"\u003e\u003ccode\u003e7c449e2\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ee6c3e4e4ccc20774293d6b4022a17abe495a28f\"\u003e\u003ccode\u003eee6c3e4\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.76'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/a5ad9c3e75cf3ace6b3368c60c9b325d33ca2975\"\u003e\u003ccode\u003ea5ad9c3\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.76' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1abf6403e3a0a63520ca4b3db62428061ef17cf2\"\u003e\u003ccode\u003e1abf640\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.76\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0a383d48644414ba8077266cada12c6c14e53050\"\u003e\u003ccode\u003e0a383d4\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/aaab8ce51f5a50acce5db318cf5376049bb75892\"\u003e\u003ccode\u003eaaab8ce\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.75'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9ee6523920b2ea7eedbb2ea955573b019474f985\"\u003e\u003ccode\u003e9ee6523\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.75' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/a0efc54b87d7fd71246aaac8c89939f76a12a1e5\"\u003e\u003ccode\u003ea0efc54\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.75\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.41.5...1.42.77\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.3 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in \u003ccode\u003eCliRunner\u003c/code\u003e. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5a085468\"\u003e\u003ccode\u003ebd131e1\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0b5c6b75f617e6ee2f9f6dcd071b8a4bf183d1ed\"\u003e\u003ccode\u003e0b5c6b7\u003c/code\u003e\u003c/a\u003e Add Best practices section  (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3127\"\u003e#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.3...8.3.1\"\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.5 to 46.0.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.6 - 2026-03-25\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **SECURITY ISSUE**: Fixed a bug where name constraints were not applied\n  to peer names during verification when the leaf certificate contains a\n  wildcard DNS SAN. Ordinary X.509 topologies are not affected by this bug,\n  including those used by the Web PKI. Credit to **Oleh Konko (1seal)** for\n  reporting the issue. **CVE-2026-34073**\n\u003cp\u003e.. _v46-0-5:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/91d728897bdad30cd5c79a2b23e207f1f050d587\"\u003e\u003ccode\u003e91d7288\u003c/code\u003e\u003c/a\u003e Cherry-pick \u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14542\"\u003e#14542\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyca/cryptography/compare/46.0.5...46.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib-stubs` from 0.3.4 to 0.3.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/releases\"\u003ematplotlib-stubs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.11\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.10\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix broken import in \u003ccode\u003ematplotlib.pyplot.plot_date\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.xlim\u003c/code\u003e and \u003ccode\u003ematplotlib.pyplot.ylim\u003c/code\u003e overloads, including datetime support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.axes.Axes.set_xticks\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.axes.Axes.bar\u003c/code\u003e to support datetime sequences\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.5\u003c/h2\u003e\n\u003cp\u003eFix \u003ccode\u003ematplotlib.pyplot.plot\u003c/code\u003e to allow using datetime sequences.\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/hoel-bagard/matplotlib-stubs/blob/master/CHANGELOG.md\"\u003ematplotlib-stubs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.11 - 2025-10-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd type hints for \u003ccode\u003ematplotlib.pyplot\u003c/code\u003e's \u003ccode\u003eshow\u003c/code\u003e, \u003ccode\u003etight_layout\u003c/code\u003e, \u003ccode\u003ebar\u003c/code\u003e, \u003ccode\u003exticks\u003c/code\u003e and \u003ccode\u003eyticks\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.10 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.loglog\u003c/code\u003e type hints\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.9 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix broken import in \u003ccode\u003ematplotlib.pyplot.plot_date\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.8 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.xlim\u003c/code\u003e and \u003ccode\u003ematplotlib.pyplot.ylim\u003c/code\u003e overloads, including datetime support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.7 - 2025-10-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.axhline\u003c/code\u003e's kwargs type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 - 2025-10-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.axes.Axes.set_xticks\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.axes.Axes.bar\u003c/code\u003e to support datetime sequences\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 - 2025-10-14\u003c/h2\u003e\n\u003cp\u003eFix \u003ccode\u003ematplotlib.pyplot.plot\u003c/code\u003e to allow using datetime sequences.\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/hoel-bagard/matplotlib-stubs/commit/59fdaf216331aa54996e5f1149e6ee096ca63557\"\u003e\u003ccode\u003e59fdaf2\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/b85c0f74cd4587d8f9ccdb0a65639981ca29bfaa\"\u003e\u003ccode\u003eb85c0f7\u003c/code\u003e\u003c/a\u003e feat: add type hints for show, tight_layout, bar, xticks and yticks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/8afc8f4122949daaa447febe9b715feaaa13da59\"\u003e\u003ccode\u003e8afc8f4\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/f9de850ed9f5662672ec663e2b88619b42d34e5a\"\u003e\u003ccode\u003ef9de850\u003c/code\u003e\u003c/a\u003e feat: add type hints to plt.loglog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/4ffefa652da3881b576823b003e695d8c4ad0dbe\"\u003e\u003ccode\u003e4ffefa6\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/e6a54149513cf96fab1c8e35ae1589a5106a46c2\"\u003e\u003ccode\u003ee6a5414\u003c/code\u003e\u003c/a\u003e fix: broken import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/90b7235400fd1467a85ccf3ff06a5c068cd4e410\"\u003e\u003ccode\u003e90b7235\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/af0f45827cda237040c46dd126530a0971e41758\"\u003e\u003ccode\u003eaf0f458\u003c/code\u003e\u003c/a\u003e feat: add xlim and ylim overloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/5d5ab771404092929deacaef66cc8efe625a4752\"\u003e\u003ccode\u003e5d5ab77\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/5f5a9e46f14de1072f07eb865af4d552a553672c\"\u003e\u003ccode\u003e5f5a9e4\u003c/code\u003e\u003c/a\u003e fix: add axhline kwargs type\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/compare/v0.3.4...v0.3.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `networkx` from 3.4.2 to 3.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networkx/networkx/releases\"\u003enetworkx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNetworkX 3.6.1\u003c/h2\u003e\n\u003ch1\u003enetworkx 3.6.1\u003c/h1\u003e\n\u003cp\u003eWe're happy to announce the release of networkx 3.6.1!\u003c/p\u003e\n\u003ch2\u003eAPI Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNodelists for \u003ccode\u003efrom_biadjacency_matrix\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7993\"\u003e#7993\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix draw_networkx_nodes with list node_shape and add regression test (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8363\"\u003e#8363\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8369\"\u003e#8369\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDOC: Improve benchmarking readme (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8358\"\u003e#8358\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: More details re: RC releases in the release process devdocs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8346\"\u003e#8346\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tutorial (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8300\"\u003e#8300\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Add blurb to contributor guide about drawing tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8370\"\u003e#8370\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Fix underline lens in docstrings (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8371\"\u003e#8371\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8373\"\u003e#8373\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMaintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMAINT: Replace string literal with comment (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8359\"\u003e#8359\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the actions group (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8360\"\u003e#8360\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003epin python 3.14 to be version 3.14.0 until dataclasses are fixed (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8365\"\u003e#8365\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBlocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8372\"\u003e#8372\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTST: add tests for unsupported graph types in MST algorithms (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8353\"\u003e#8353\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eTST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8364\"\u003e#8364\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e10 authors added to this release (alphabetically):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Aka2210\"\u003e\u003ccode\u003e@​Aka2210\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jfinkels\"\u003e\u003ccode\u003e@​jfinkels\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaorTIRAM\"\u003e\u003ccode\u003e@​NaorTIRAM\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAditi Juneja (\u003ca href=\"https://github.com/Schefflera-Arboricola\"\u003e\u003ccode\u003e@​Schefflera-Arboricola\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlejandro Candioti (\u003ca href=\"https://github.com/amcandio\"\u003e\u003ccode\u003e@​amcandio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColman Bouton (\u003ca href=\"https://github.com/LorentzFactor\"\u003e\u003ccode\u003e@​LorentzFactor\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/networkx/networkx/commit/7530809bfa1ea7ed6fdf918a4d1431488953cb1f\"\u003e\u003ccode\u003e7530809\u003c/code\u003e\u003c/a\u003e Designate 3.6.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/4788eb08f2492dd6bf6f97ce8ee07cd52aa6cf89\"\u003e\u003ccode\u003e4788eb0\u003c/code\u003e\u003c/a\u003e Rolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8373\"\u003e#8373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/696edb6efbbbb622959e96f1276fc0db68dc0954\"\u003e\u003ccode\u003e696edb6\u003c/code\u003e\u003c/a\u003e Fix draw_networkx_nodes with list node_shape and add regression test  (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8363\"\u003e#8363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/c38830c61a6fee3ee10f216071bb63cb9b92bfb9\"\u003e\u003ccode\u003ec38830c\u003c/code\u003e\u003c/a\u003e Blocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8372\"\u003e#8372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/81d231141b08600ebfd1c781e28ecbf791e94016\"\u003e\u003ccode\u003e81d2311\u003c/code\u003e\u003c/a\u003e DOC: Fix underline lens in docstrings. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8371\"\u003e#8371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/a6e2bfadef51dda47df6466b32642e0d428c5801\"\u003e\u003ccode\u003ea6e2bfa\u003c/code\u003e\u003c/a\u003e DOC: Add blurb to contributor guide about drawing tests. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8370\"\u003e#8370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/96b628295eff29d266e1c75355556fc9fe58cc16\"\u003e\u003ccode\u003e96b6282\u003c/code\u003e\u003c/a\u003e DOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/75bdd737ca8382d06eb76ff9018a81870c9f3443\"\u003e\u003ccode\u003e75bdd73\u003c/code\u003e\u003c/a\u003e Fix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8369\"\u003e#8369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/7663fa5e5fd73d6921410a18c7ac4116ffa04f4d\"\u003e\u003ccode\u003e7663fa5\u003c/code\u003e\u003c/a\u003e TST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8364\"\u003e#8364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/3dacd1bdcbd976b9e148a60ddebafd868c0a52f3\"\u003e\u003ccode\u003e3dacd1b\u003c/code\u003e\u003c/a\u003e Add spectral bipartition community finding and greedy bipartition using node ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/networkx/networkx/compare/networkx-3.4.2...networkx-3.6.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.4.2 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\u003c/blockquote\u003e\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.4.2...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruamel-yaml` from 0.18.17 to 0.19.1\n\nUpdates `ruff` from 0.0.292 to 0.15.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c2a8815842f9dc5d24ec19385eae0f1a7188b0d9\"\u003e\u003ccode\u003ec2a8815\u003c/code\u003e\u003c/a\u003e Release 0.15.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24217\"\u003e#24217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d444d52e2b9cc8bc9a078c2bd4ff6ff993290209\"\u003e\u003ccode\u003ed444d52\u003c/code\u003e\u003c/a\u003e [ty] Infer lambda expressions with \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22633\"\u003e#22633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9622285ed0081fc688149f6efca87f127d9b18dd\"\u003e\u003ccode\u003e9622285\u003c/code\u003e\u003c/a\u003e [ty] Autocomplete arguments if in arguments node (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24167\"\u003e#24167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d81266252aaf0820346d55edbed79c4f25ba13d2\"\u003e\u003ccode\u003ed812662\u003c/code\u003e\u003c/a\u003e Use the \u003ccode\u003erelease\u003c/code\u003e environment in \u003ccode\u003epublish-docs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24214\"\u003e#24214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/eda2355832f7a9c58aef6febd3e061dc9c87509a\"\u003e\u003ccode\u003eeda2355\u003c/code\u003e\u003c/a\u003e [ty] Show \u003ccode\u003eFinal\u003c/code\u003e source in final assignment diagnostic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24194\"\u003e#24194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/929eb5238c82bfadad4549ff526f02efc0163dd0\"\u003e\u003ccode\u003e929eb52\u003c/code\u003e\u003c/a\u003e [ty] Enforce Final attribute assignment rules for annotated and augmented wri...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/34998be22ec3a77d398bbd55234ef8740f768329\"\u003e\u003ccode\u003e34998be\u003c/code\u003e\u003c/a\u003e [ty] Fix typo in comment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24211\"\u003e#24211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/560aca0b2828ee2ff1b4bcc5c5ef1ef4ced229d2\"\u003e\u003ccode\u003e560aca0\u003c/code\u003e\u003c/a\u003e [ty] Minor simplifications to some benchmark code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24209\"\u003e#24209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/683bae512d03d3727a7bcdbc5a0170dafa049583\"\u003e\u003ccode\u003e683bae5\u003c/code\u003e\u003c/a\u003e [ty] Track non-terminal-call constraints in global scope (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23245\"\u003e#23245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4704c2a4ff3dde2fd29324346720e9516b4fe387\"\u003e\u003ccode\u003e4704c2a\u003c/code\u003e\u003c/a\u003e [ty] Remove unnecessary intermediate collection in `StaticClassLiteral::field...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/v0.0.292...0.15.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy-stubs` from 1.15.3.0 to 1.17.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy-stubs/releases\"\u003escipy-stubs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.17.1.3\u003c/h2\u003e\n\u003cp\u003eThis release targets \u003ca href=\"https://github.com/scipy/scipy/releases/tag/v1.17.1\"\u003eSciPy 1.17.1\u003c/a\u003e and supports Python 3.11-3.14, \u003ca href=\"https://github.com/numpy/numpy\"\u003eNumPy\u003c/a\u003e 1.26-2.4, and \u003ca href=\"https://github.com/jorenham/optype\"\u003eoptype\u003c/a\u003e 0.14-0.18.\u003c/p\u003e\n\u003ch1\u003e:trophy: Release Highlights\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fixed several issues with \u003ccode\u003escipy.sparse\u003c/code\u003e arrays and matrices for certain slicing and multi-indexing operations (see \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1454\"\u003escipy/scipy-stubs#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e✨ Many improved function signatures (shape-typing, input-dependent return dtypes) in \u003ccode\u003escipy.io\u003c/code\u003e, \u003ccode\u003escipy.linalg\u003c/code\u003e, \u003ccode\u003escipy.ndimage\u003c/code\u003e, \u003ccode\u003escipy.signal\u003c/code\u003e, and \u003ccode\u003escipy.stats\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e✅ Increased the type-testing coverage from 84.0% to 87.7%. The goal is to reach 100% coverage in the near future. For the current progress and per-module coverage, see \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1099\"\u003escipy/scipy-stubs#1099\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e✨ Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003endimage\u003c/code\u003e: improved morphology functions by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1458\"\u003escipy/scipy-stubs#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elinalg.interpolative\u003c/code\u003e: improved shape-typing and dtypes by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1459\"\u003escipy/scipy-stubs#1459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elinalg\u003c/code\u003e: improved \u003ccode\u003esvdvals\u003c/code\u003e and \u003ccode\u003esubspace_angles\u003c/code\u003e shape-types and dtypes by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1460\"\u003escipy/scipy-stubs#1460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003endimage\u003c/code\u003e: improved interpolation functions by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1461\"\u003escipy/scipy-stubs#1461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: improve \u003ccode\u003e{g,h,p}mean\u003c/code\u003e by adding 3*26 overloads by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1463\"\u003escipy/scipy-stubs#1463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: improved \u003ccode\u003eiqr\u003c/code\u003e dtypes by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1464\"\u003escipy/scipy-stubs#1464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: improved \u003ccode\u003ezmap\u003c/code\u003e dtypes and shape-typing by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1465\"\u003escipy/scipy-stubs#1465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eio\u003c/code\u003e: improved \u003ccode\u003eMMFile.{read,write}\u003c/code\u003e signatures by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1467\"\u003escipy/scipy-stubs#1467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: minor improvements to some filter design functions by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1475\"\u003escipy/scipy-stubs#1475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: improved LTI conversion functions dtypes (\u003ccode\u003e_lti_conversion\u003c/code\u003e) by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1477\"\u003escipy/scipy-stubs#1477\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esparse\u003c/code\u003e: fix sparse array/matrix sliced index assignment by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1456\"\u003escipy/scipy-stubs#1456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esparse\u003c/code\u003e: fix sparse array/matrix mixed multi-index assignment by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1457\"\u003escipy/scipy-stubs#1457\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📝 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd movement to the list of downstream projects by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1462\"\u003escipy/scipy-stubs#1462\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✅ Testing\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003eCovariance\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1468\"\u003escipy/scipy-stubs#1468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003echatterjeexi\u003c/code\u003e and \u003ccode\u003espearmanrho\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1469\"\u003escipy/scipy-stubs#1469\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test remaining resampling functions and classes by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1470\"\u003escipy/scipy-stubs#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003edirichlet_multinomial\u003c/code\u003e  and \u003ccode\u003ematrix_t\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1471\"\u003escipy/scipy-stubs#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003erv_histogram\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1472\"\u003escipy/scipy-stubs#1472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003enew_distributions\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1473\"\u003escipy/scipy-stubs#1473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003eabs\u003c/code\u003e and \u003ccode\u003eMixture\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1474\"\u003escipy/scipy-stubs#1474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: test the remaining filter design functions (\u003ccode\u003e_filter_design\u003c/code\u003e) by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1476\"\u003escipy/scipy-stubs#1476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: test \u003ccode\u003edetrend\u003c/code\u003e, \u003ccode\u003eresidue[z]\u003c/code\u003e, and \u003ccode\u003einvres[z]\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1478\"\u003escipy/scipy-stubs#1478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: test remaining waveform functions by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1479\"\u003escipy/scipy-stubs#1479\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/scipy/scipy-stubs/commit/6bb5184d6869edd3957399c3ef72f0db9fc53690\"\u003e\u003ccode\u003e6bb5184\u003c/code\u003e\u003c/a\u003e 🔖 scipy-stubs 1.17.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/38d5286101eba47843041ca813c59e604feb9a6b\"\u003e\u003ccode\u003e38d5286\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1479\"\u003e#1479\u003c/a\u003e from scipy:signal._waveforms/tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/84ddb4e3eb28d50d04a58abd69aa5c02e1f160a3\"\u003e\u003ccode\u003e84ddb4e\u003c/code\u003e\u003c/a\u003e ✅ \u003ccode\u003esignal\u003c/code\u003e: test remaainiang waveform functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/8d2113f2ee63660f87f6006efbc2594de2176300\"\u003e\u003ccode\u003e8d2113f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1478\"\u003e#1478\u003c/a\u003e from scipy:signal._signaltools/tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/eb410588331ca61fc43e0ca207c1caf2940ab6dc\"\u003e\u003ccode\u003eeb41058\u003c/code\u003e\u003c/a\u003e ✅ \u003ccode\u003esignal\u003c/code\u003e: test \u003ccode\u003edetrend\u003c/code\u003e, \u003ccode\u003eresidue[z]\u003c/code\u003e, and \u003ccode\u003einvres[z]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/40fa398f70c00288f9e6285ba978c2039610f5b2\"\u003e\u003ccode\u003e40fa398\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1477\"\u003e#1477\u003c/a\u003e from scipy:signal._lti_conversion/improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/e8dfe75ed11e51ea006ad1968b819d0b1f41fc7d\"\u003e\u003ccode\u003ee8dfe75\u003c/code\u003e\u003c/a\u003e ✨ \u003ccode\u003esignal\u003c/code\u003e: improved \u003ccode\u003ess2zpk\u003c/code\u003e dtypes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/eb07f678745c17e9751bf007a11bcd067614890c\"\u003e\u003ccode\u003eeb07f67\u003c/code\u003e\u003c/a\u003e ✨ \u003ccode\u003esignal\u003c/code\u003e: improved \u003ccode\u003ezpk2ss\u003c/code\u003e dtypes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/b4cc11bf7611843dfa89fe9b1fa36a1674d01415\"\u003e\u003ccode\u003eb4cc11b\u003c/code\u003e\u003c/a\u003e ✨ \u003ccode\u003esignal\u003c/code\u003e: improved \u003ccode\u003eabcd_normalize\u003c/code\u003e dtypes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/6c90b7bf4a412b84bb447f13c86bdf35f9947c4b\"\u003e\u003ccode\u003e6c90b7b\u003c/code\u003e\u003c/a\u003e ✨ \u003ccode\u003esignal\u003c/code\u003e: improved \u003ccode\u003ess2tf\u003c/code\u003e dtypes and shape-typing\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy-stubs/compare/v1.15.3.0...v1.17.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `types-requests` from 2.32.4.20260324 to 2.33.0.20260327\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/python/typeshed/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 23.0.0 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-23.0.0...apache-arrow-23.0.1\"\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.15 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 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\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\u003ch2\u003eBugfix Release\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/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:...\n\n_Description has been truncated_","html_url":"https://github.com/pH14/materialize/pull/195","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pH14%2Fmaterialize/issues/195","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/195/packages"},{"uuid":"4166923266","node_id":"PR_kwDORckIoM7OeJ1f","number":371,"state":"closed","title":"security(deps): bump the training-dependencies group across 1 directory with 66 updates","user":"dependabot[bot]","labels":["dependencies","python","training"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-03-30T21:52:23.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-30T03:37:37.000Z","updated_at":"2026-03-30T21:52:25.000Z","time_to_close":65686,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"security(deps): bump","group_name":"training-dependencies","update_count":66,"packages":[{"name":"numpy","old_version":"2.4.3","new_version":"2.4.4","repository_url":"https://github.com/numpy/numpy"},{"name":"azure-core","old_version":"1.38.3","new_version":"1.39.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-blob","old_version":"12.27.1","new_version":"12.28.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"marshmallow","old_version":"3.26.2","new_version":"4.2.3","repository_url":"https://github.com/marshmallow-code/marshmallow"},{"name":"mlflow","old_version":"3.9.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"cryptography","old_version":"46.0.5","new_version":"46.0.6","repository_url":"https://github.com/pyca/cryptography"},{"name":"azureml-mlflow","old_version":"1.62.0.post1","new_version":"1.62.0.post2","repository_url":"https://github.com/Azure/MachineLearningNotebooks"},{"name":"anyio","old_version":"4.12.1","new_version":"4.13.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"attrs","old_version":"25.4.0","new_version":"26.1.0","repository_url":"https://github.com/python-attrs/attrs"},{"name":"azure-monitor-opentelemetry","old_version":"1.8.6","new_version":"1.8.7","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-monitor-opentelemetry-exporter","old_version":"1.0.0b48","new_version":"1.0.0b49","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-file-datalake","old_version":"12.22.0","new_version":"12.23.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"cachetools","old_version":"6.2.6","new_version":"7.0.5","repository_url":"https://github.com/tkem/cachetools"},{"name":"cuda-bindings","old_version":"12.9.4","new_version":"13.2.0","repository_url":"https://github.com/NVIDIA/cuda-python"},{"name":"cuda-pathfinder","old_version":"1.4.3","new_version":"1.5.0","repository_url":"https://github.com/NVIDIA/cuda-python"},{"name":"databricks-sdk","old_version":"0.100.0","new_version":"0.102.0","repository_url":"https://github.com/databricks/databricks-sdk-py"},{"name":"fastapi","old_version":"0.135.1","new_version":"0.135.2","repository_url":"https://github.com/fastapi/fastapi"},{"name":"fsspec","old_version":"2026.2.0","new_version":"2026.3.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"gunicorn","old_version":"23.0.0","new_version":"25.3.0","repository_url":"https://github.com/benoitc/gunicorn"},{"name":"importlib-metadata","old_version":"8.7.1","new_version":"9.0.0","repository_url":"https://github.com/python/importlib_metadata"},{"name":"mlflow-skinny","old_version":"3.9.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mlflow-tracing","old_version":"3.9.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/mpmath/mpmath"},{"name":"nvidia-cublas-cu12","old_version":"12.8.4.1","new_version":"12.9.2.10"},{"name":"nvidia-cuda-cupti-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cuda-nvrtc-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-cuda-runtime-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cudnn-cu12","old_version":"9.10.2.21","new_version":"9.20.0.48"},{"name":"nvidia-cufft-cu12","old_version":"11.3.3.83","new_version":"11.4.1.4"},{"name":"nvidia-cufile-cu12","old_version":"1.13.1.3","new_version":"1.14.1.1"},{"name":"nvidia-curand-cu12","old_version":"10.3.9.90","new_version":"10.3.10.19"},{"name":"nvidia-cusolver-cu12","old_version":"11.7.3.90","new_version":"11.7.5.82"},{"name":"nvidia-cusparse-cu12","old_version":"12.5.8.93","new_version":"12.5.10.65"},{"name":"nvidia-cusparselt-cu12","old_version":"0.7.1","new_version":"0.8.1"},{"name":"nvidia-ml-py","old_version":"13.590.48","new_version":"13.595.45"},{"name":"nvidia-nccl-cu12","old_version":"2.27.5","new_version":"2.29.7"},{"name":"nvidia-nvjitlink-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-nvshmem-cu12","old_version":"3.4.5","new_version":"3.6.5"},{"name":"nvidia-nvtx-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"onnx","old_version":"1.20.1","new_version":"1.21.0","repository_url":"https://github.com/onnx/onnx"},{"name":"opentelemetry-api","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-asgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-dbapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-django","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-fastapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-flask","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-psycopg2","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-wsgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-util-http","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"protobuf","old_version":"6.33.6","new_version":"7.34.1","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"pyarrow","old_version":"22.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.44.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pytz","old_version":"2025.2","new_version":"2026.1.post1","repository_url":"https://github.com/stub42/pytz"},{"name":"starlette","old_version":"0.52.1","new_version":"1.0.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"torch","old_version":"2.10.0","new_version":"2.11.0","repository_url":"https://github.com/pytorch/pytorch"},{"name":"torchvision","old_version":"0.25.0","new_version":"0.26.0","repository_url":"https://github.com/pytorch/vision"},{"name":"werkzeug","old_version":"3.1.6","new_version":"3.1.7","repository_url":"https://github.com/pallets/werkzeug"},{"name":"wrapt","old_version":"1.17.3","new_version":"2.1.2","repository_url":"https://github.com/GrahamDumpleton/wrapt"}],"path":null,"ecosystem":"pip"},"body":"Bumps the training-dependencies group with 66 updates in the /training/rl directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `2.4.3` | `2.4.4` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.3` | `1.39.0` |\n| [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python) | `12.27.1` | `12.28.0` |\n| [marshmallow](https://github.com/marshmallow-code/marshmallow) | `3.26.2` | `4.2.3` |\n| [mlflow](https://github.com/mlflow/mlflow) | `3.9.0` | `3.10.1` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.5` | `46.0.6` |\n| [azureml-mlflow](https://github.com/Azure/MachineLearningNotebooks) | `1.62.0.post1` | `1.62.0.post2` |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.1` | `4.13.0` |\n| [attrs](https://github.com/python-attrs/attrs) | `25.4.0` | `26.1.0` |\n| [azure-monitor-opentelemetry](https://github.com/Azure/azure-sdk-for-python) | `1.8.6` | `1.8.7` |\n| [azure-monitor-opentelemetry-exporter](https://github.com/Azure/azure-sdk-for-python) | `1.0.0b48` | `1.0.0b49` |\n| [azure-storage-file-datalake](https://github.com/Azure/azure-sdk-for-python) | `12.22.0` | `12.23.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.6` | `7.0.5` |\n| [cuda-bindings](https://github.com/NVIDIA/cuda-python) | `12.9.4` | `13.2.0` |\n| [cuda-pathfinder](https://github.com/NVIDIA/cuda-python) | `1.4.3` | `1.5.0` |\n| [databricks-sdk](https://github.com/databricks/databricks-sdk-py) | `0.100.0` | `0.102.0` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.135.1` | `0.135.2` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2026.2.0` | `2026.3.0` |\n| [gunicorn](https://github.com/benoitc/gunicorn) | `23.0.0` | `25.3.0` |\n| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.7.1` | `9.0.0` |\n| [mlflow-skinny](https://github.com/mlflow/mlflow) | `3.9.0` | `3.10.1` |\n| [mlflow-tracing](https://github.com/mlflow/mlflow) | `3.9.0` | `3.10.1` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.1` |\n| [nvidia-cublas-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.4.1` | `12.9.2.10` |\n| [nvidia-cuda-cupti-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cuda-nvrtc-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-cuda-runtime-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cudnn-cu12](https://developer.nvidia.com/cuda-zone) | `9.10.2.21` | `9.20.0.48` |\n| [nvidia-cufft-cu12](https://developer.nvidia.com/cuda-zone) | `11.3.3.83` | `11.4.1.4` |\n| [nvidia-cufile-cu12](https://developer.nvidia.com/cuda-zone) | `1.13.1.3` | `1.14.1.1` |\n| [nvidia-curand-cu12](https://developer.nvidia.com/cuda-zone) | `10.3.9.90` | `10.3.10.19` |\n| [nvidia-cusolver-cu12](https://developer.nvidia.com/cuda-zone) | `11.7.3.90` | `11.7.5.82` |\n| [nvidia-cusparse-cu12](https://developer.nvidia.com/cuda-zone) | `12.5.8.93` | `12.5.10.65` |\n| [nvidia-cusparselt-cu12](https://developer.nvidia.com/cusparselt) | `0.7.1` | `0.8.1` |\n| [nvidia-ml-py](https://forums.developer.nvidia.com) | `13.590.48` | `13.595.45` |\n| [nvidia-nccl-cu12](https://developer.nvidia.com/cuda-zone) | `2.27.5` | `2.29.7` |\n| [nvidia-nvjitlink-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-nvshmem-cu12](https://developer.nvidia.com/cuda-zone) | `3.4.5` | `3.6.5` |\n| [nvidia-nvtx-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [onnx](https://github.com/onnx/onnx) | `1.20.1` | `1.21.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-asgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-dbapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-django](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-flask](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-psycopg2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-wsgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b0` | `0.61b0` |\n| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.6` | `7.34.1` |\n| [pyarrow](https://github.com/apache/arrow) | `22.0.0` | `23.0.1` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.44.0` |\n| [pytz](https://github.com/stub42/pytz) | `2025.2` | `2026.1.post1` |\n| [starlette](https://github.com/Kludex/starlette) | `0.52.1` | `1.0.0` |\n| [torch](https://github.com/pytorch/pytorch) | `2.10.0` | `2.11.0` |\n| [torchvision](https://github.com/pytorch/vision) | `0.25.0` | `0.26.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.6` | `3.1.7` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.2` |\n\n\nUpdates `numpy` from 2.4.3 to 2.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.4 (Mar 29, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.4 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.4 is a patch release that fixes bugs discovered after the 2.4.3\nrelease. It should finally close issue \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30816\"\u003e#30816\u003c/a\u003e, the OpenBLAS threading problem\non ARM.\u003c/p\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 8 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eDaniel Haag +\u003c/li\u003e\n\u003cli\u003eDenis Prokopenko +\u003c/li\u003e\n\u003cli\u003eHarshith J +\u003c/li\u003e\n\u003cli\u003eKoki Watanabe\u003c/li\u003e\n\u003cli\u003eMarten van Kerkwijk\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 7 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30978\"\u003e#30978\u003c/a\u003e: MAINT: Prepare 2.4.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31049\"\u003e#31049\u003c/a\u003e: BUG: Add test to reproduce problem described in \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30816\"\u003e#30816\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30818\"\u003e#30818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31052\"\u003e#31052\u003c/a\u003e: BUG: fix FNV-1a 64-bit selection by using NPY_SIZEOF_UINTP (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31035\"\u003e#31035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31053\"\u003e#31053\u003c/a\u003e: BUG: avoid warning on ufunc with where=True and no output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31058\"\u003e#31058\u003c/a\u003e: DOC: document caveats of ndarray.resize on 3.14 and newer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31079\"\u003e#31079\u003c/a\u003e: TST: fix POWER VSX feature mapping (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30801\"\u003e#30801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31084\"\u003e#31084\u003c/a\u003e: MAINT: numpy.i: Replace deprecated \u003ccode\u003esprintf\u003c/code\u003e with \u003ccode\u003esnprintf\u003c/code\u003e...\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/be93fe2960dbf49b4647f5783c66d967fb2c65b5\"\u003e\u003ccode\u003ebe93fe2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31090\"\u003e#31090\u003c/a\u003e from charris/prepare-2.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f5245dc7ea5c6279c59cb0d5de81113229841290\"\u003e\u003ccode\u003ef5245dc\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/02e838ba270a5ca3dd8afc5a31c090cd34a56615\"\u003e\u003ccode\u003e02e838b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31084\"\u003e#31084\u003c/a\u003e from charris/backport-31056\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/fa74b2d05f8f7604bf6635d5280c3216c8ec667f\"\u003e\u003ccode\u003efa74b2d\u003c/code\u003e\u003c/a\u003e MAINT: numpy.i: Replace deprecated \u003ccode\u003esprintf\u003c/code\u003e with \u003ccode\u003esnprintf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31056\"\u003e#31056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/533a6db96dfa2556a61102a58c35fd64eaf3fa2b\"\u003e\u003ccode\u003e533a6db\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31079\"\u003e#31079\u003c/a\u003e from charris/backport-20801\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9e496cbd0a281195bd779ae1833f2a8f4a1d46a7\"\u003e\u003ccode\u003e9e496cb\u003c/code\u003e\u003c/a\u003e TST: fix POWER VSX feature mapping (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30801\"\u003e#30801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/8052c4b69ef18e582709af946f93f9e58b848f39\"\u003e\u003ccode\u003e8052c4b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31058\"\u003e#31058\u003c/a\u003e from charris/backport-31021\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7f13b5ad2b69fd6ea6aa3af7036b2dcf98e96486\"\u003e\u003ccode\u003e7f13b5a\u003c/code\u003e\u003c/a\u003e MAINT: Skip test on PyPy.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/4c5fdd66c8f379a1e2b3f40fa62bd0b87769d1c7\"\u003e\u003ccode\u003e4c5fdd6\u003c/code\u003e\u003c/a\u003e MAINT: Remove unused import of tracemalloc.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a3ca5ed354b26e0fd6e35bf29765a24271ed7c3a\"\u003e\u003ccode\u003ea3ca5ed\u003c/code\u003e\u003c/a\u003e Update numpy/_core/src/multiarray/shape.c\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.4.3...v2.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-core` from 1.38.3 to 1.39.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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-core_1.39.0\u003c/h2\u003e\n\u003ch2\u003e1.39.0 (2026-03-18)\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChanged the previously undocumented \u003ccode\u003eazure_cloud\u003c/code\u003e setting environment variable from \u003ccode\u003eAZURE_CLOUD\u003c/code\u003e to \u003ccode\u003eAZURE_SDK_CLOUD_CONF\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/Azure/azure-sdk-for-python/commit/dee80a8fd745ddab91933f05e795cf41e10ab8fe\"\u003e\u003ccode\u003edee80a8\u003c/code\u003e\u003c/a\u003e Changed the \u003ccode\u003eazure_cloud\u003c/code\u003e setting environment variable (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45763\"\u003e#45763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/a2d11701462371d3f8b38b935f77f2e5070a5bf7\"\u003e\u003ccode\u003ea2d1170\u003c/code\u003e\u003c/a\u003e Increment package version after release of azure-core (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45671\"\u003e#45671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-core_1.38.3...azure-core_1.39.0\"\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.27.1 to 12.28.0\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.27.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 `marshmallow` from 3.26.2 to 4.2.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/marshmallow-code/marshmallow/blob/dev/CHANGELOG.rst\"\u003emarshmallow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.3 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003emarshmallow.fields.Number\u003c/code\u003e and \u003ccode\u003emarshmallow.fields.Mapping\u003c/code\u003e abstract base classes to\nprevent using them within Schemas (:issue:\u003ccode\u003e2924\u003c/code\u003e). Thanks :user:\u003ccode\u003eMartingaleCoda\u003c/code\u003e for reporting.\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003erequired\u003c/code\u003e to be set on \u003ccode\u003emarshmallow.fields.Contant\u003c/code\u003e (:issue:\u003ccode\u003e2900\u003c/code\u003e).\nThanks :user:\u003ccode\u003enosnickid\u003c/code\u003e for the report and :user:\u003ccode\u003eworksbyfriday\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003emarshmallow.validate.OneOf\u003c/code\u003e emitting extra pairs when labels outnumber choices (:issue:\u003ccode\u003e2869\u003c/code\u003e).\nThanks: user:\u003ccode\u003eT90REAL\u003c/code\u003e for the report and :user:\u003ccode\u003erstar327\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eFix behavior when passing a dot-delimited attribute name to \u003ccode\u003epartial\u003c/code\u003e for a key with \u003ccode\u003edata_key\u003c/code\u003e set (:pr:\u003ccode\u003e2903\u003c/code\u003e).\nThanks :user:\u003ccode\u003ebysiber\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eFix Enum field by-name lookup to only return actual members (:pr:\u003ccode\u003e2902\u003c/code\u003e).\nThanks :user:\u003ccode\u003ebysiber\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emarshmallow.fields.DateTime\u003c/code\u003e with \u003ccode\u003eformat=\u0026quot;timestamp_ms\u0026quot;\u003c/code\u003e properly\nrejects bool values (:pr:\u003ccode\u003e2904\u003c/code\u003e). Thanks :user:\u003ccode\u003ebysiber\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eFix typing of \u003ccode\u003eerror_essages\u003c/code\u003e argument to \u003ccode\u003emarshmallow.fields.Field\u003c/code\u003e (:pr:\u003ccode\u003e1636\u003c/code\u003e).\nThanks :user:\u003ccode\u003erepole\u003c/code\u003e for reporting and :user:\u003ccode\u003edhruvildarji\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eipaddress.*\u003c/code\u003e to \u003ccode\u003emarshmallow.Schema.TYPE_MAPPING\u003c/code\u003e (:issue:\u003ccode\u003e1695\u003c/code\u003e).\nThanks :user:\u003ccode\u003eliberforce\u003c/code\u003e for the suggestion and :user:\u003ccode\u003edhruvildarji\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.2 (2026-02-04)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix behavior of \u003ccode\u003efields.Contant(None)\u003c/code\u003e (:issue:\u003ccode\u003e2868\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for reporting and \u003ccode\u003eemmanuel-ferdman\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.1 (2026-01-23)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix validation of URLs beginning with uppercare \u003ccode\u003eFILE\u003c/code\u003e (:issue:\u003ccode\u003e2891\u003c/code\u003e).\nThanks :user:\u003ccode\u003ethanhlecongg\u003c/code\u003e for reporting and fixing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.0 (2026-01-04)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emany\u003c/code\u003e argument of \u003ccode\u003eNested\u003c/code\u003e properly overrides schema instance\nvalue (:pr:\u003ccode\u003e2854\u003c/code\u003e). Thanks :user:\u003ccode\u003ejafournier\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/be7379775a2e94ebbe22f8ada83e5cce745e964c\"\u003e\u003ccode\u003ebe73797\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c38b48ec3b8bb44315036d0c8a07bc8477eb5094\"\u003e\u003ccode\u003ec38b48e\u003c/code\u003e\u003c/a\u003e Add ipaddress types to Schema.TYPE_MAPPING (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2906\"\u003e#2906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/3bc191ab3c8cac8356839bcde0918cb6aed4d3a1\"\u003e\u003ccode\u003e3bc191a\u003c/code\u003e\u003c/a\u003e Fix Field.error_messages type to allow dict and list values (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2907\"\u003e#2907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c530f85f05a99665c7b803533734069b79a00c84\"\u003e\u003ccode\u003ec530f85\u003c/code\u003e\u003c/a\u003e Update package metadata to comply with PEP 639 (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2926\"\u003e#2926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/72ac4a04208ff24df0a9694d9b03b78b1c5a2e6a\"\u003e\u003ccode\u003e72ac4a0\u003c/code\u003e\u003c/a\u003e Reject booleans in from_timestamp_ms, consistent with from_timestamp (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2904\"\u003e#2904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/024b5d09e9f026f0f96d220e243be69346687ce0\"\u003e\u003ccode\u003e024b5d0\u003c/code\u003e\u003c/a\u003e Fix Enum field by-name lookup to only return actual members (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2902\"\u003e#2902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/252090c7c707166cf4fcfcdc73eb4376b7bbc4b7\"\u003e\u003ccode\u003e252090c\u003c/code\u003e\u003c/a\u003e Fix nested partial to use attr_name instead of data_key for prefix (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2903\"\u003e#2903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/65374df0c31cdc45acc4435741779298201306a2\"\u003e\u003ccode\u003e65374df\u003c/code\u003e\u003c/a\u003e Fix OneOf.options() emitting phantom entries when labels outnumber choices (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/070dde08bad456e743a0d2e1842c142a799a9568\"\u003e\u003ccode\u003e070dde0\u003c/code\u003e\u003c/a\u003e Fix Constant field with required=True raising ValueError (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2901\"\u003e#2901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/fea5428567960f15be0c9a3a4b99c0d9bb63848c\"\u003e\u003ccode\u003efea5428\u003c/code\u003e\u003c/a\u003e Make Number and Mapping abstract base classes (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2925\"\u003e#2925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/marshmallow-code/marshmallow/compare/3.26.2...4.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow` from 3.9.0 to 3.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/releases\"\u003emlflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gateway] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.10.0, which includes several notable updates:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.1 (2026-03-05)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.10.0 (2026-02-20)\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/mlflow/mlflow/commit/cadc323c059d08ee15c3a312afd0eefeeccedc94\"\u003e\u003ccode\u003ecadc323\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1 (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21396\"\u003e#21396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3d17d6c58e1e0078c062321322fc76b1b822ab6d\"\u003e\u003ccode\u003e3d17d6c\u003c/code\u003e\u003c/a\u003e Add back virtualenv to fix the docker build until the next release (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3cfc12fe1359afbade834a74f57e0bbe2ef4531c\"\u003e\u003ccode\u003e3cfc12f\u003c/code\u003e\u003c/a\u003e Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/bcaad26df7e825fe15d4deffa0f05478e010bc10\"\u003e\u003ccode\u003ebcaad26\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/ff3249ff8a5f62e344f382d5fcdb419379780c78\"\u003e\u003ccode\u003eff3249f\u003c/code\u003e\u003c/a\u003e Update GenAI link and video in the getting started page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1591d038ae47271382fddd2b8653286af7c31138\"\u003e\u003ccode\u003e1591d03\u003c/code\u003e\u003c/a\u003e Persist AI Gateway default passphrase security banner dismissal to localStora...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/32979c9e560346a54d05ba7ff53434f215c5958f\"\u003e\u003ccode\u003e32979c9\u003c/code\u003e\u003c/a\u003e Demote unused parameters log message from WARNING to DEBUG in instructions ju...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/18eeea03c3d0af5b915bb3880a71198b5123e0bd\"\u003e\u003ccode\u003e18eeea0\u003c/code\u003e\u003c/a\u003e Make simulator explicitly avoid stating goal in first message (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/42d4356e18c0c2548ff3b290b11f36a992530d9d\"\u003e\u003ccode\u003e42d4356\u003c/code\u003e\u003c/a\u003e Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1a14934cc0116ddd91fb693e2b52bed12683521a\"\u003e\u003ccode\u003e1a14934\u003c/code\u003e\u003c/a\u003e Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.9.0...v3.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 25.0 to 26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0\u003c/h2\u003e\n\u003cp\u003eRead about the performance improvements here: \u003ca href=\"https://iscinumpy.dev/post/packaging-faster\"\u003ehttps://iscinumpy.dev/post/packaging-faster\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/900\"\u003epypa/packaging#900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata by \u003ca href=\"https://github.com/brettcannon\"\u003e\u003ccode\u003e@​brettcannon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/948\"\u003epypa/packaging#948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport writing metadata by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/846\"\u003epypa/packaging#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e for \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1003\"\u003epypa/packaging#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifier\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1004\"\u003epypa/packaging#1004\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/897\"\u003epypa/packaging#897\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/942\"\u003epypa/packaging#942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/951\"\u003epypa/packaging#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/932\"\u003epypa/packaging#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/954\"\u003epypa/packaging#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparsions by \u003ca href=\"https://github.com/JP-Ellis\"\u003e\u003ccode\u003e@​JP-Ellis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/939\"\u003epypa/packaging#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e by \u003ca href=\"https://github.com/dholth\"\u003e\u003ccode\u003e@​dholth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/860\"\u003epypa/packaging#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/896\"\u003epypa/packaging#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/868\"\u003epypa/packaging#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e by \u003ca href=\"https://github.com/bwoodsend\"\u003e\u003ccode\u003e@​bwoodsend\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/879\"\u003epypa/packaging#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format by \u003ca href=\"https://github.com/di\"\u003e\u003ccode\u003e@​di\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/925\"\u003epypa/packaging#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon by \u003ca href=\"https://github.com/pradyunsg\"\u003e\u003ccode\u003e@​pradyunsg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/833\"\u003epypa/packaging#833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/931\"\u003epypa/packaging#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/953\"\u003epypa/packaging#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA root logger use found by ruff LOG, use \u003ccode\u003epackaging\u003c/code\u003e logger instead by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/965\"\u003epypa/packaging#965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1022\"\u003epypa/packaging#1022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1024\"\u003epypa/packaging#1024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1033\"\u003epypa/packaging#1033\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup by \u003ca href=\"https://github.com/hauntsaninja\"\u003e\u003ccode\u003e@​hauntsaninja\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1019\"\u003epypa/packaging#1019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/869\"\u003epypa/packaging#869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/bearomorphism\"\u003e\u003ccode\u003e@​bearomorphism\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/913\"\u003epypa/packaging#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003es in specifier comparison by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/986\"\u003epypa/packaging#986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eSpecifier\u003c/code\u003e's Version by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/985\"\u003epypa/packaging#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/987\"\u003epypa/packaging#987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/990\"\u003epypa/packaging#990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/988\"\u003epypa/packaging#988\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1055\"\u003epypa/packaging#1055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/989\"\u003epypa/packaging#989\u003c/a\u003e and regression for \u003ccode\u003epackaging_legacy\u003c/code\u003e fixed by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1048\"\u003epypa/packaging#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/993\"\u003epypa/packaging#993\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efullmatch\u003c/code\u003e in a couple more places by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/992\"\u003epypa/packaging#992\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/blob/main/CHANGELOG.rst\"\u003epackaging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e26.0 - 2026-01-20\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nFeatures:\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock (:pull:\u003ccode\u003e900\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata (:pull:\u003ccode\u003e948\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport for writing metadata to a file (:pull:\u003ccode\u003e846\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e on Version (:pull:\u003ccode\u003e1003\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e1004\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e897\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e951\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version (:pull:\u003ccode\u003e932\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. (:pull:\u003ccode\u003e954\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparisons (:pull:\u003ccode\u003e939\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e (:pull:\u003ccode\u003e860\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e (:pull:\u003ccode\u003e896\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e (:pull:\u003ccode\u003e868\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e (:pull:\u003ccode\u003e879\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format (:pull:\u003ccode\u003e925\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon (:pull:\u003ccode\u003e833\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions (:pull:\u003ccode\u003e931\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string (:pull:\u003ccode\u003e953\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eA root logger use found, use a \u003ccode\u003epackaging\u003c/code\u003e logger instead (:pull:\u003ccode\u003e965\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e (:pull:\u003ccode\u003e1022\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first (:pull:\u003ccode\u003e1024\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct (:pull:\u003ccode\u003e1033\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup (:pull:\u003ccode\u003e1019\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e (:pull:\u003ccode\u003e869\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e913\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003e's in specifier comparison (:pull:\u003ccode\u003e986\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCache the \u003ccode\u003eSpecifier\u003c/code\u003e's \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e985\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster (:pull:\u003ccode\u003e987\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup (:pull:\u003ccode\u003e990\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ for \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e988\u003c/code\u003e, :pull:\u003ccode\u003e1055\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e989\u003c/code\u003e, :pull:\u003ccode\u003e1048\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e (:pull:\u003ccode\u003e993\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ere.fullmatch\u003c/code\u003e in a couple more places (:pull:\u003ccode\u003e992\u003c/code\u003e, :pull:\u003ccode\u003e1029\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003emap\u003c/code\u003e instead of generator (:pull:\u003ccode\u003e996\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003e._version\u003c/code\u003e (\u003ccode\u003e_Version\u003c/code\u003e, a \u003ccode\u003eNamedTuple\u003c/code\u003e) (:pull:\u003ccode\u003e995\u003c/code\u003e, :pull:\u003ccode\u003e1062\u003c/code\u003e)\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/3b77a26f5a27473ad3b08194d773f325d018a2d0\"\u003e\u003ccode\u003e3b77a26\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/31371cce593d2bde0dd8c436ecfb7d53cb91cfb6\"\u003e\u003ccode\u003e31371cc\u003c/code\u003e\u003c/a\u003e docs: prepare for 26.0 final (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/9627a8821f09e4c55cd6e9daadb617b67c4741c2\"\u003e\u003ccode\u003e9627a88\u003c/code\u003e\u003c/a\u003e perf: dual replace (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1064\"\u003e#1064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/d5398b8bc19f3fad7b035ceb83023caf06d6e2da\"\u003e\u003ccode\u003ed5398b8\u003c/code\u003e\u003c/a\u003e fix: restore ._version as a compat shim (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1062\"\u003e#1062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/3a7b600a126d237b2ad3cd7e25d2cb5c176276af\"\u003e\u003ccode\u003e3a7b600\u003c/code\u003e\u003c/a\u003e Bump for development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/d4eefdccf992e963c48011875301d93df6a7f2cc\"\u003e\u003ccode\u003ed4eefdc\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/46189124fb43d8989d370902c80ab156eb83a45d\"\u003e\u003ccode\u003e4618912\u003c/code\u003e\u003c/a\u003e docs: prepare for 26.0rc3 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1060\"\u003e#1060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/0cf1b41b4b321ae08cad7d3e49cfaff5578fe813\"\u003e\u003ccode\u003e0cf1b41\u003c/code\u003e\u003c/a\u003e ci: test on first public release of CPythons (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1056\"\u003e#1056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/716beb1c0a5d7a398bf57fbd80bc2501811e616b\"\u003e\u003ccode\u003e716beb1\u003c/code\u003e\u003c/a\u003e perf:  10% faster stripping zeros (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/350a2306700b738f487f251efa278f532b263dee\"\u003e\u003ccode\u003e350a230\u003c/code\u003e\u003c/a\u003e fix: support CPython 3.11.0-3.11.4 and older PyPy3.11 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/packaging/compare/25.0...26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 46.0.5 to 46.0.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.6 - 2026-03-25\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **SECURITY ISSUE**: Fixed a bug where name constraints were not applied\n  to peer names during verification when the leaf certificate contains a\n  wildcard DNS SAN. Ordinary X.509 topologies are not affected by this bug,\n  including those used by the Web PKI. Credit to **Oleh Konko (1seal)** for\n  reporting the issue. **CVE-2026-34073**\n\u003cp\u003e.. _v46-0-5:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/91d728897bdad30cd5c79a2b23e207f1f050d587\"\u003e\u003ccode\u003e91d7288\u003c/code\u003e\u003c/a\u003e Cherry-pick \u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14542\"\u003e#14542\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyca/cryptography/compare/46.0.5...46.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azureml-mlflow` from 1.62.0.post1 to 1.62.0.post2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Azure/MachineLearningNotebooks/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anyio` from 4.12.1 to 4.13.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.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ettl\u003c/code\u003e parameter to the \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e wrapper (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1073\"\u003e#1073\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Graeme22\"\u003e\u003ccode\u003e@​Graeme22\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWidened the type annotations of file I/O streams to accept \u003ccode\u003eIO[bytes]\u003c/code\u003e instead of just \u003ccode\u003eBinaryIO\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1078\"\u003e#1078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.Path\u003c/code\u003e not being compatible with Python 3.15 due to the removal of \u003ccode\u003epathlib.Path.is_reserved()\u003c/code\u003e and the addition of \u003ccode\u003epathlib.Path.__vfspath__()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1061\"\u003e#1061\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eBrokenResourceError\u003c/code\u003e raised by the asyncio \u003ccode\u003eSocketStream\u003c/code\u003e not having the original exception as its cause (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1055\"\u003e#1055\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eTypeError\u003c/code\u003e raised when using \u0026quot;func\u0026quot; as a parameter name in \u003ccode\u003epytest.mark.parametrize\u003c/code\u003e when using the pytest plugin (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1068\"\u003e#1068\u003c/a\u003e; PR by \u003ca href=\"https://github.com/JohnnyDeuss\"\u003e\u003ccode\u003e@​JohnnyDeuss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the pytest plugin not running tests that had the \u003ccode\u003eanyio\u003c/code\u003e marker added programmatically via \u003ccode\u003epytest_collection_modifyitems\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/422\"\u003e#422\u003c/a\u003e; PR by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when they are contained in an exception group alongside non-cancellation exceptions (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1091\"\u003e#1091\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCondition.wait()\u003c/code\u003e not passing on a notification when the task is cancelled but already received a notification\u003c/li\u003e\n\u003cli\u003eFixed inverted condition in the process pool shutdown phase which would cause still-running pooled processes not to be terminated (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1074\"\u003e#1074\u003c/a\u003e; PR by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\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/agronholm/anyio/commit/afbe93ca9d0c447adf2...\n\n_Description has been truncated_","html_url":"https://github.com/microsoft/physical-ai-toolchain/pull/371","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fphysical-ai-toolchain/issues/371","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/371/packages"},{"uuid":"4147732563","node_id":"PR_kwDOOK9uiM7N4GFn","number":151,"state":"open","title":"chore(deps): bump the pip group across 28 directories with 10 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-26T22:29:13.000Z","updated_at":"2026-04-08T04:51:50.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":10,"packages":[{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"pyarrow","old_version":"11.0.0","new_version":"14.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /alloydb/notebooks directory: [nbconvert](https://github.com/jupyter/nbconvert).\nBumps the pip group with 2 updates in the /appengine/standard/firebase/firenotes/backend directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 1 update in the /appengine/standard_python3/cloudsql directory: [flask](https://github.com/pallets/flask).\nBumps the pip group with 2 updates in the /bigquery/remote-function/document directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /bigquery/remote-function/translate directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /bigquery/remote-function/vision directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud-media-livestream/keypublisher directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud-sql/mysql/sqlalchemy directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud-sql/postgres/sqlalchemy directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud-sql/sql-server/sqlalchemy directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud_scheduler/snippets directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 6 updates in the /composer/2022_airflow_summit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [pyarrow](https://github.com/apache/arrow) | `11.0.0` | `14.0.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 5 updates in the /composer/airflow_1_samples directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `1.1.2` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `0.16.1` | `3.1.6` |\n| [pyarrow](https://github.com/apache/arrow) | `1.0.0` | `14.0.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `3.2.1` | `46.0.5` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `3.14.0` | `5.29.6` |\n\nBumps the pip group with 6 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [pyarrow](https://github.com/apache/arrow) | `11.0.0` | `14.0.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 5 updates in the /composer/workflows directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [cryptography](https://github.com/pyca/cryptography) | `41.0.7` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.53.0` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.25.3` | `5.29.6` |\n\nBumps the pip group with 1 update in the /compute/encryption directory: [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 2 updates in the /dataflow/flex-templates/pipeline_with_dependencies directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 3 updates in the /dataflow/gemma directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [protobuf](https://github.com/protocolbuffers/protobuf) and [keras](https://github.com/keras-team/keras).\nBumps the pip group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the pip group with 1 update in the /dataflow/run_template directory: [flask](https://github.com/pallets/flask).\nBumps the pip group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /functions/v2/response_streaming directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /gemma2 directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 2 updates in the /iap directory: [werkzeug](https://github.com/pallets/werkzeug) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\n\nUpdates `nbconvert` from 7.16.6 to 7.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/releases\"\u003enbconvert's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.17.0\u003c/h2\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\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/jupyter/nbconvert/blob/main/CHANGELOG.md\"\u003enbconvert's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/21b35d85b46f5ff0956d3d088a52b9bef00e8196\"\u003e\u003ccode\u003e21b35d8\u003c/code\u003e\u003c/a\u003e Publish 7.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003e\u003ccode\u003ec9ac1d1\u003c/code\u003e\u003c/a\u003e Fix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/b13276d80ae6fadbfda981304810e26f421c4ced\"\u003e\u003ccode\u003eb13276d\u003c/code\u003e\u003c/a\u003e avoid cov environment on free-threaded Pythons (\u003ca href=\"https://redirect.github.com/jupyter/nbconvert/issues/2267\"\u003e#2267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7c7055fe833fe9832e6f9a64fa5f67d66692c8d6\"\u003e\u003ccode\u003e7c7055f\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/74f3ddd37ef4b7ffb5eee9acbf52062217c15852\"\u003e\u003ccode\u003e74f3ddd\u003c/code\u003e\u003c/a\u003e Fix QtPNGExporter returning empty bytes on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/216550b2aae4c329f4dab597a96ae7cac30de79a\"\u003e\u003ccode\u003e216550b\u003c/code\u003e\u003c/a\u003e fix links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/39777ac5716350e994171d025a7369c58b0afc8c\"\u003e\u003ccode\u003e39777ac\u003c/code\u003e\u003c/a\u003e try to comment fialing test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7b591ca526f2598dbae3256a53765659c3edcf14\"\u003e\u003ccode\u003e7b591ca\u003c/code\u003e\u003c/a\u003e ruff-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/6ec7638a3dc7a0bc2c533c116202d7f9b07ce9d9\"\u003e\u003ccode\u003e6ec7638\u003c/code\u003e\u003c/a\u003e parent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/59414b36f94e318d4207e8af863167047d936c19\"\u003e\u003ccode\u003e59414b3\u003c/code\u003e\u003c/a\u003e fix mypy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...v7.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.0.0 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\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\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.0...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 3.0.3 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\u003ch2\u003e3.1.5\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.5 security fix release, which fixes security issues and 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/Werkzeug/3.1.5/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.5/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/43?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/43?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless of extension or surrounding spaces. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-87hc-h4r5-73f7\"\u003eGHSA-87hc-h4r5-73f7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3077\"\u003e#3077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with \u003ccode\u003epin_security=False\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3075\"\u003e#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.4\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.4 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/Werkzeug/3.1.4/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.4/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/42?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/42?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents reading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e already prevented writing to these. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2\"\u003eghsa-hgf8-39gv-g3f2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3020\"\u003e#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3054\"\u003e#3054\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3067\"\u003e#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available source lines. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3044\"\u003e#3044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the distinction between WSGI and sans-IO responses. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3056\"\u003e#3056\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.3/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/41?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/41?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts \u003ccode\u003elist\u003c/code\u003e, \u003ccode\u003etuple\u003c/code\u003e, or \u003ccode\u003eset\u003c/code\u003e when passing multiple values. It had been changed to accept any \u003ccode\u003eCollection\u003c/code\u003e, but this matched types that should be treated as single values, such as \u003ccode\u003ebytes\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2994\"\u003e#2994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen the \u003ccode\u003eHost\u003c/code\u003e header is not set and \u003ccode\u003eRequest.host\u003c/code\u003e falls back to the WSGI \u003ccode\u003eSERVER_NAME\u003c/code\u003e value, if that value is an IPv6 address it is wrapped in \u003ccode\u003e[]\u003c/code\u003e to match the \u003ccode\u003eHost\u003c/code\u003e header. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2993\"\u003e#2993\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.2/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/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\u003cli\u003e\u003ccode\u003eResponse.make_conditional\u003c/code\u003e sets the \u003ccode\u003eAccept-Ranges\u003c/code\u003e header even if it\nis not a satisfiable range request. :issue:\u003ccode\u003e3108\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.5\u003c/h2\u003e\n\u003cp\u003eReleased 2026-01-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless\nof extension or surrounding spaces. :ghsa:\u003ccode\u003e87hc-h4r5-73f7\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\nThis fixes the previous attempt, which caused incorrect content lengths.\n:issue:\u003ccode\u003e3065\u003c/code\u003e :issue:\u003ccode\u003e3077\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with\n\u003ccode\u003epin_security=False\u003c/code\u003e. :issue:\u003ccode\u003e3075\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.4\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-28\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents\nreading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e\nalready prevented writing to these. :ghsa:\u003ccode\u003ehgf8-39gv-g3f2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. :pr:\u003ccode\u003e3020\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\n:issue:\u003ccode\u003e3065\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. :issue:\u003ccode\u003e3054\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. :issue:\u003ccode\u003e3067\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available\nsource lines. :issue:\u003ccode\u003e3044\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the\ndistinction between WSGI and sans-IO responses. :issue:\u003ccode\u003e3056\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/werkzeug/compare/3.0.3...3.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.0.0 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\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\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.0...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` from 3.0.0 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\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\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/27be9338405382445a7cb01151e084559b98...\n\n_Description has been truncated_","html_url":"https://github.com/Reality2byte/python-docs-samples/pull/151","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reality2byte%2Fpython-docs-samples/issues/151","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/151/packages"},{"uuid":"4126229300","node_id":"PR_kwDOQFtGkc7M7aw6","number":333,"state":"closed","title":"build(deps): bump the production group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-30T23:59:00.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-24T08:52:53.000Z","updated_at":"2026-03-30T23:59:02.000Z","time_to_close":572767,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"production","update_count":12,"packages":[{"name":"pandera","old_version":"0.22.1","new_version":"0.29.0","repository_url":"https://github.com/pandera-dev/pandera"},{"name":"numpy","old_version":"1.26.4","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"logbook","old_version":"1.8.2","new_version":"1.9.2","repository_url":"https://github.com/getlogbook/logbook"},{"name":"h5py","old_version":"3.15.1","new_version":"3.16.0","repository_url":"https://github.com/h5py/h5py"},{"name":"numpydantic","old_version":"1.7.0","new_version":"1.8.0","repository_url":"https://github.com/p2p-ld/numpydantic"},{"name":"jaxtyping","old_version":"0.2.38","new_version":"0.3.9","repository_url":"https://github.com/patrick-kidger/jaxtyping"},{"name":"polars","old_version":"1.37.1","new_version":"1.39.0","repository_url":"https://github.com/pola-rs/polars"},{"name":"pyarrow","old_version":"23.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"fsspec","old_version":"2026.1.0","new_version":"2026.2.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"pandapower","old_version":"3.1.2","new_version":"3.4.0","repository_url":"https://github.com/e2nIEE/pandapower"}],"path":null,"ecosystem":"pip"},"body":"Bumps the production group with 12 updates in the /packages/interfaces_pkg directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pandera](https://github.com/pandera-dev/pandera) | `0.22.1` | `0.29.0` |\n| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.4.3` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [logbook](https://github.com/getlogbook/logbook) | `1.8.2` | `1.9.2` |\n| [h5py](https://github.com/h5py/h5py) | `3.15.1` | `3.16.0` |\n| [numpydantic](https://github.com/p2p-ld/numpydantic) | `1.7.0` | `1.8.0` |\n| [jaxtyping](https://github.com/patrick-kidger/jaxtyping) | `0.2.38` | `0.3.9` |\n| [polars](https://github.com/pola-rs/polars) | `1.37.1` | `1.39.0` |\n| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `23.0.1` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2026.1.0` | `2026.2.0` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.1` |\n| [pandapower](https://github.com/e2nIEE/pandapower) | `3.1.2` | `3.4.0` |\n\n\nUpdates `pandera` from 0.22.1 to 0.29.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandera-dev/pandera/releases\"\u003epandera's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.29.0: support list, dict, and tuple of dataframes\u003c/h2\u003e\n\u003ch2\u003e⭐️ Highlight\u003c/h2\u003e\n\u003cp\u003ePandera now supports collection types containing dataframes, shoutout to \u003ca href=\"https://github.com/garethellis0\"\u003e\u003ccode\u003e@​garethellis0\u003c/code\u003e\u003c/a\u003e with an amazing first contribution!\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e@pa.check_types\r\ndef process_tuple_and_return_dict(\r\n    dfs: tuple[DataFrame[OnlyZeroesSchema], DataFrame[OnlyOnesSchema]],\r\n) -\u0026gt; dict[str, DataFrame[OnlyZeroesSchema]]:\r\n    return {\r\n        \u0026quot;foo\u0026quot;: dfs[0],\r\n        \u0026quot;bar\u0026quot;: dfs[0]\r\n    }\r\n\u003cp\u003eresult = process_tuple_and_return_dict((\npd.DataFrame({\u0026quot;a\u0026quot;: [0, 0]}),\npd.DataFrame({\u0026quot;a\u0026quot;: [1, 1]}),\n))\nprint(result)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeature/1078: Added Support For List, Dict, And Tuples Of Dataframes by \u003ca href=\"https://github.com/garethellis0\"\u003e\u003ccode\u003e@​garethellis0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2204\"\u003eunionai-oss/pandera#2204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epin sphinx version by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2208\"\u003eunionai-oss/pandera#2208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd map datatype to the Ibis engine implementation by \u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2206\"\u003eunionai-oss/pandera#2206\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/garethellis0\"\u003e\u003ccode\u003e@​garethellis0\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2204\"\u003eunionai-oss/pandera#2204\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.28.1...v0.29.0\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.28.1...v0.29.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.28.1: Fix regressions in Check behavior\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix bugs in Check interface and Field by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2203\"\u003eunionai-oss/pandera#2203\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.28.0...v0.28.1\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.28.0...v0.28.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease 0.28.0: Add support for Pyspark 4\u003c/h2\u003e\n\u003ch2\u003e⭐️ Highlight\u003c/h2\u003e\n\u003cp\u003ePandera now supports Pyspark 4 🚀\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(pyspark): restructure pyspark components by \u003ca href=\"https://github.com/ELC\"\u003e\u003ccode\u003e@​ELC\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2007\"\u003eunionai-oss/pandera#2007\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd support for pyspark 4 by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2193\"\u003eunionai-oss/pandera#2193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDecouple import dependencies for io serialization formats by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2195\"\u003eunionai-oss/pandera#2195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eget_annotations\u003c/code\u003e instead of direct \u003ccode\u003e__annotations__\u003c/code\u003e access by \u003ca href=\"https://github.com/amerberg\"\u003e\u003ccode\u003e@​amerberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2196\"\u003eunionai-oss/pandera#2196\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/unionai-oss/pandera/commit/7614754cb29f3495b1c1bc342e79176ebfa815be\"\u003e\u003ccode\u003e7614754\u003c/code\u003e\u003c/a\u003e Add map datatype to the Ibis engine implementation (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2206\"\u003e#2206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/8b87d0fd66a98a8525cfa6aae26facd566863712\"\u003e\u003ccode\u003e8b87d0f\u003c/code\u003e\u003c/a\u003e pin sphinx version (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2208\"\u003e#2208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/dc109085066c408a88a4d78e8b5a5daa06a55045\"\u003e\u003ccode\u003edc10908\u003c/code\u003e\u003c/a\u003e feature/1078: Added Support For List, Dict, And Tuples Of Dataframes (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2204\"\u003e#2204\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/71f860aa59ff6477134a1190d656f9d678574c9d\"\u003e\u003ccode\u003e71f860a\u003c/code\u003e\u003c/a\u003e fix bugs in Check interface and Field (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2203\"\u003e#2203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/82096dd7974de7531532ea7734c70030c27b859b\"\u003e\u003ccode\u003e82096dd\u003c/code\u003e\u003c/a\u003e schema descriptor should raise AttributeError if build_schema_ is not impleme...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/7055cbd38ee65259975249c48b25aa4c5b2a8327\"\u003e\u003ccode\u003e7055cbd\u003c/code\u003e\u003c/a\u003e Avoid full materialization of levels in failing MultiIndex validations (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2187\"\u003e#2187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/b69c6fa232d5e9bea39c84d1fb9116d95603043a\"\u003e\u003ccode\u003eb69c6fa\u003c/code\u003e\u003c/a\u003e Update .git-blame-ignore-revs to add Ruff refactor (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2199\"\u003e#2199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/42a2b3446eaf2a60d7945a5127072e720cc595b9\"\u003e\u003ccode\u003e42a2b34\u003c/code\u003e\u003c/a\u003e Support the \u003ccode\u003eDecimal\u003c/code\u003e data type in the Ibis engine (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2194\"\u003e#2194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/8c3b46ce02e5f723841072af4d2f5d280d11cca5\"\u003e\u003ccode\u003e8c3b46c\u003c/code\u003e\u003c/a\u003e Re-implement improvements to str_length check (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2198\"\u003e#2198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/8abbf2617918808e347c495f0270635c3ca10b73\"\u003e\u003ccode\u003e8abbf26\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003eget_annotations\u003c/code\u003e instead of direct \u003ccode\u003e__annotations__\u003c/code\u003e access (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2196\"\u003e#2196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandera-dev/pandera/compare/v0.22.1...v0.29.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 1.26.4 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/v1.26.4...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 2.3.3 to 3.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epandas 3.0.1\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.1.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/dev/whatsnew/v3.0.1.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003epandas 3.0.0\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.0, a major release from the pandas 2.x series. This release includes various new features, bug fixes, and performance improvements, as well as possible breaking changes.\u003c/p\u003e\n\u003cp\u003eThe pandas 3.0 release removed a functionality that was deprecated in previous releases. It is recommended to first upgrade to pandas 2.3 and to ensure your code is working without warnings, before upgrading to pandas 3.0.\u003c/p\u003e\n\u003cp\u003eHighlights include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-enhancements-string-dtype\"\u003eDedicated string data type by default\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-enhancements-copy_on_write\"\u003eConsistent copy/view behaviour with Copy-on-Write\u003c/a\u003e (CoW) (a.k.a. getting rid of the SettingWithCopyWarning)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-api-breaking-datetime-resolution-inference\"\u003eNew default resolution for datetime-like data\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-enhancements-col\"\u003eInitial support for the new \u003ccode\u003epd.col\u003c/code\u003e syntax\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/community/blog/pandas-3.0.html\"\u003eannouncement blog post\u003c/a\u003e and the \u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html\"\u003edetailed release notes\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues/new/choose\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003ePandas 3.0.0rc2\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ePandas 3.0.0rc1\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/pandas-dev/pandas/commit/e04b26f375035e5106cb913e47b6db612f4ebb11\"\u003e\u003ccode\u003ee04b26f\u003c/code\u003e\u003c/a\u003e RLS: 3.0.1  (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64206\"\u003e#64206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/47909e67760389ad32094b586eadcfceb52235b8\"\u003e\u003ccode\u003e47909e6\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] ENH: Add item() method to ExtensionArray class (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64134\"\u003e#64134\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64\"\u003e#64\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/a061bfd2f31ebba410ab87db475df651d02f8bcd\"\u003e\u003ccode\u003ea061bfd\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64199\"\u003e#64199\u003c/a\u003e on branch 3.0.x (DOC: cleanup 3.0.1 whatsnew) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64201\"\u003e#64201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/085a3856d362c4b849d84754cbc7005f2539dc54\"\u003e\u003ccode\u003e085a385\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: Fix read_hdf failing on generic datetime64 dtype (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/6400\"\u003e#6400\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/5f1704777bc2fe4864875d49b87d4e4cab417f30\"\u003e\u003ccode\u003e5f17047\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: use fill_null fallback for bug in pyarrow 21 on Windows...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/0d3a8cba13397e84606716f545f0afdce26172c4\"\u003e\u003ccode\u003e0d3a8cb\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64122\"\u003e#64122\u003c/a\u003e on branch 3.0.x (REG: Allow RE2 syntax in str.contains and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/78e1917e4d45dbea16636194b240a18b1a42bc97\"\u003e\u003ccode\u003e78e1917\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64185\"\u003e#64185\u003c/a\u003e on branch 3.0.x (TST: remove fixed xfail for PyArrow 23.0....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/75a42cabc9ff39b1ade4afabd0bc54b972d326b7\"\u003e\u003ccode\u003e75a42ca\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64168\"\u003e#64168\u003c/a\u003e on branch 3.0.x (TST: add legacy file generation and tests...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/46d443f9d603a0f65672182133e0e83f108afdcc\"\u003e\u003ccode\u003e46d443f\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64092\"\u003e#64092\u003c/a\u003e on branch 3.0.x (BUG: DataFrame.loc fills b'' instead of N...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/9d6793220be57edda0b9abb68dfa0b1740baf569\"\u003e\u003ccode\u003e9d67932\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64068\"\u003e#64068\u003c/a\u003e on branch 3.0.x (BUG: fixed to_timedelta with list of int ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v2.3.3...v3.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `logbook` from 1.8.2 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/getlogbook/logbook/releases\"\u003elogbook's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.2\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/getlogbook/logbook/blob/main/CHANGES\"\u003eCHANGES\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/getlogbook/logbook/blob/main/CHANGES\"\u003eCHANGES\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/getlogbook/logbook/blob/main/CHANGES\"\u003eCHANGES\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/getlogbook/logbook/blob/main/CHANGES\"\u003elogbook's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.2\u003c/h2\u003e\n\u003cp\u003eFixed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- When used as a context manager, handlers, flags, and processors would swallow\n  a raised ``BaseException`` and raise a ``TypeError`` `[#500](https://github.com/getlogbook/logbook/issues/500) \u0026lt;https://github.com/getlogbook/logbook/issues/500\u0026gt;`_.\n\u003ch2\u003eVersion 1.9.1\u003c/h2\u003e\n\u003cp\u003eFixed\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequired files were missing from the source distribution (sdist).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0\u003c/h2\u003e\n\u003cp\u003eAdded\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Python 3.14 support\n- Python 3.14 free-threading support (beta). This does not extend to all optional\n  dependencies. At the time of writing, the following extras are not supported due\n  to their dependencies pulling in C extensions which do not support free-threading:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebrotli\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enteventlog\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esqlalchemy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWheels are built for Windows ARM64\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanged\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe way handlers, flags, and processors are activated is now based on\n:mod:\u003ccode\u003econtextvars\u003c/code\u003e, and has been completely rewritten. See deprecations since\nmany methods have been deprecated and are mere aliases to the new defaults.\u003c/li\u003e\n\u003cli\u003eCython has been replaced with Rust for the speedups module.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLogbook[brotli]\u003c/code\u003e depends on \u003ccode\u003ebrotlicffi\u003c/code\u003e on non-CPython implementations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecated\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- ``logbook.__version__``. Use :mod:`importlib.metadata` instead.\n- There are now only two ways to activate :class:`~logbook.Handler`,\n  :class:`~logbook.Flags`, and :class:`~logbook.Processor` instances.\n\u003cp\u003eEither globally:\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/ab46a87502ed5bd5e83ee208aa6dabb05adece36\"\u003e\u003ccode\u003eab46a87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/502\"\u003e#502\u003c/a\u003e from getlogbook/feature/prepare-1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/d720c277fb2bf5a179fda8e097b8986db9465029\"\u003e\u003ccode\u003ed720c27\u003c/code\u003e\u003c/a\u003e Bump version to 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/4815c8a10c7bed301d8f00fa8502340e96e24c44\"\u003e\u003ccode\u003e4815c8a\u003c/code\u003e\u003c/a\u003e Update CHANGES\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/3899e0b8a15e9a881f679d92424510c401cce14d\"\u003e\u003ccode\u003e3899e0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/501\"\u003e#501\u003c/a\u003e from getlogbook/fix/stacked-object-base-exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/c9f59b635e3a81177525064f22577f6090792e0a\"\u003e\u003ccode\u003ec9f59b6\u003c/code\u003e\u003c/a\u003e Fix BaseException handling in Rust extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/e6b04a0fcc35cdc1935ce7cb835c93ce75d3a239\"\u003e\u003ccode\u003ee6b04a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/498\"\u003e#498\u003c/a\u003e from getlogbook/dependabot/cargo/syn-2.0.111\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/3ca9aeb888ba615af017621a273094476d37fd5c\"\u003e\u003ccode\u003e3ca9aeb\u003c/code\u003e\u003c/a\u003e Bump syn from 2.0.110 to 2.0.111\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/60dc16cc0f3ac736f2fec699d7bbf34f45281b52\"\u003e\u003ccode\u003e60dc16c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/496\"\u003e#496\u003c/a\u003e from getlogbook/dependabot/github_actions/actions/che...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/849bfa354b0e221ec66acc1deed3cff60de2808b\"\u003e\u003ccode\u003e849bfa3\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.0 to 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/14eddd9fa8e2e6c0b42ea868cd3323c8189ec947\"\u003e\u003ccode\u003e14eddd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/497\"\u003e#497\u003c/a\u003e from getlogbook/dependabot/github_actions/dtolnay/rus...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getlogbook/logbook/compare/1.8.2...1.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `h5py` from 3.15.1 to 3.16.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/b2f0347c4200333acd89b43733f1caa0c115162f\"\u003e\u003ccode\u003eb2f0347\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2807\"\u003e#2807\u003c/a\u003e from takluyver/prepare-3.16\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/f0dedaac8a816a7def3256c60e082400d4988fb1\"\u003e\u003ccode\u003ef0dedaa\u003c/code\u003e\u003c/a\u003e Add zlib update to release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/1e0402630e6531aef2aef14cccb339a581d743dd\"\u003e\u003ccode\u003e1e04026\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2808\"\u003e#2808\u003c/a\u003e from takluyver/zlib-1.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/c5c8f0655dda9f65b1820f36c412b65f884f9d32\"\u003e\u003ccode\u003ec5c8f06\u003c/code\u003e\u003c/a\u003e Fix another reference to zlib DLL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/d872c0c45990e36276808547aa8dac34044088ea\"\u003e\u003ccode\u003ed872c0c\u003c/code\u003e\u003c/a\u003e Use a newer bugfix release of HDF5 1.14 on Azure pipelines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/71c655a6095e451daecc56c161c8535102d874e7\"\u003e\u003ccode\u003e71c655a\u003c/code\u003e\u003c/a\u003e Fix calling zlib script on Windows Azure CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/2f5bf86b22054323d423cbbc2d4054c0487ca0dd\"\u003e\u003ccode\u003e2f5bf86\u003c/code\u003e\u003c/a\u003e Fix for new names z.lib \u0026amp; z.dll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/47ce1d882cf436cad1c9546803278324a17ae0b9\"\u003e\u003ccode\u003e47ce1d8\u003c/code\u003e\u003c/a\u003e Reduce duplicated code building zlib on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/d5c8b5deb04907ec4941e6d801a93c1b5b547f13\"\u003e\u003ccode\u003ed5c8b5d\u003c/code\u003e\u003c/a\u003e Try building zlib directly from source on Windows ARM64 as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/846abfc2694e7386f61c7b535b283df5e338e3d7\"\u003e\u003ccode\u003e846abfc\u003c/code\u003e\u003c/a\u003e Update zlib to 1.3.2 for Windows \u0026amp; Mac wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/h5py/h5py/compare/3.15.1...3.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpydantic` from 1.7.0 to 1.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/p2p-ld/numpydantic/releases\"\u003enumpydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.8.0 - \u003ccode\u003eNDArraySchema\u003c/code\u003e Annotated type specification\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eVersion Support\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/pull/63\"\u003e#63\u003c/a\u003e -\nDrop support for python 3.9, add (testing) support for 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eAdded\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/41\"\u003e#41\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/62\"\u003e#62\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/pull/64\"\u003e#64\u003c/a\u003e -\nAdd a {func}\u003ccode\u003e.NDArraySchema\u003c/code\u003e Annotated style specification to support static type checkers:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom numpydantic import NDArraySchema\r\n\u003cp\u003eclass MyModel(BaseModel):\narray: Annotated[np.ndarray, NDArraySchema((1, 2, 3), np.uint8)]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAllow shape to be used as a callable rather than a \u003ccode\u003e[]\u003c/code\u003e generic\u003c/li\u003e\n\u003cli\u003eAllow shape to accept shape arguments as \u003ccode\u003e*args\u003c/code\u003e rather than a single string\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eTesting\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded pyright testing\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/p2p-ld/numpydantic/blob/main/docs/changelog.md\"\u003enumpydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch4\u003e1.8.0 - 26-02-26\u003c/h4\u003e\n\u003cp\u003e\u003cstrong\u003eVersion Support\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/pull/63\"\u003e#63\u003c/a\u003e -\nDrop support for python 3.9, add (testing) support for 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eAdded\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/41\"\u003e#41\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/62\"\u003e#62\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/pull/64\"\u003e#64\u003c/a\u003e -\nAdd a {func}\u003ccode\u003e.NDArraySchema\u003c/code\u003e Annotated style specification to support static type checkers:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom numpydantic import NDArraySchema\n\u003cp\u003eclass MyModel(BaseModel):\narray: Annotated[np.ndarray, NDArraySchema((1, 2, 3), np.uint8)]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAllow shape to be used as a callable rather than a \u003ccode\u003e[]\u003c/code\u003e generic\u003c/li\u003e\n\u003cli\u003eAllow shape to accept shape arguments as \u003ccode\u003e*args\u003c/code\u003e rather than a single string\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eTesting\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded pyright testing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e1.7.*\u003c/h3\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/d213a8ceba9664864a9772824b855ee0d2d01eba\"\u003e\u003ccode\u003ed213a8c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/64\"\u003e#64\u003c/a\u003e from p2p-ld/ndarray-annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/73abaa73ecdfa373900cdb6ea0ba635e720ff519\"\u003e\u003ccode\u003e73abaa7\u003c/code\u003e\u003c/a\u003e remove reveal type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/967533574f2b9f036923d1efcbcce7d477d2c4cd\"\u003e\u003ccode\u003e9675335\u003c/code\u003e\u003c/a\u003e more normal numpy type annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/088bcce92cb6f72f86d5ebadbe3ba5b25735e9e5\"\u003e\u003ccode\u003e088bcce\u003c/code\u003e\u003c/a\u003e lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/fdaeec85498422d4805b1c341c5548ea95141b49\"\u003e\u003ccode\u003efdaeec8\u003c/code\u003e\u003c/a\u003e fix docs rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/2b9865f3ef6dc06c9c97bfa8c9d2757800dac109\"\u003e\u003ccode\u003e2b9865f\u003c/code\u003e\u003c/a\u003e make annotated schema class, allow shape to accept tuples and be callable, ad...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/d33350d2d99c37f05dd8f0c4cfdc54cbc39fe549\"\u003e\u003ccode\u003ed33350d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/63\"\u003e#63\u003c/a\u003e from p2p-ld/drop-py39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/6e59f07af3e1e6790483a67514e9c4c9b4daa75c\"\u003e\u003ccode\u003e6e59f07\u003c/code\u003e\u003c/a\u003e drop old pydantic test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/4a75ed511a725f101454a75b27ae9501d1160713\"\u003e\u003ccode\u003e4a75ed5\u003c/code\u003e\u003c/a\u003e bump python versions in linkml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/65a470f41422bdc444ac1a8d62f935b487ae840e\"\u003e\u003ccode\u003e65a470f\u003c/code\u003e\u003c/a\u003e if package missing, cant union None with None\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/p2p-ld/numpydantic/compare/v1.7.0...v1.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jaxtyping` from 0.2.38 to 0.3.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/releases\"\u003ejaxtyping's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejaxtyping v0.3.9\u003c/h2\u003e\n\u003cp\u003eBugfix: typechecking of pytrees of \u003ccode\u003e|\u003c/code\u003e-style unions, e.g. \u003ccode\u003eisinstance(..., PyTree[int | bool])\u003c/code\u003e, will no longer silently always pass. \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/381\"\u003epatrick-kidger/jaxtyping#381\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.8...v0.3.9\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.8...v0.3.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.8\u003c/h2\u003e\n\u003cp\u003eAnother bugfix release for \u003ccode\u003enumpy.typing.ArrayLike\u003c/code\u003e on numpy 2.4.0, I think this time only needed Python 3.13+. \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/380\"\u003e#380\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.7...v0.3.8\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.7...v0.3.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.7\u003c/h2\u003e\n\u003cp\u003eBugfix: \u003ccode\u003eSomeDtype[Union[numpy.typing.ArrayLike, ...], ...]\u003c/code\u003e will no longer crash in numpy 2.4.0. (\u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/374\"\u003e#374\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.6...v0.3.7\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.6...v0.3.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfix: \u003ccode\u003e@typing.no_type_check\u003c/code\u003e is now respected on dataclasses. (Thanks \u003ca href=\"https://github.com/jeertmans\"\u003e\u003ccode\u003e@​jeertmans\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/370\"\u003epatrick-kidger/jaxtyping#370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: the pytest plugin is now exected before pytest \u003ccode\u003econftest.py\u003c/code\u003e is ran, making it usable even if the package under test is imported inside \u003ccode\u003econftest.py\u003c/code\u003e. (Thanks \u003ca href=\"https://github.com/jeertmans\"\u003e\u003ccode\u003e@​jeertmans\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/371\"\u003epatrick-kidger/jaxtyping#371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: the pytest plugin supports typecheckers that call multi-argument constructors. (Thanks \u003ca href=\"https://github.com/jeertmans\"\u003e\u003ccode\u003e@​jeertmans\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/369\"\u003epatrick-kidger/jaxtyping#369\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.5...v0.3.6\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.5...v0.3.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature: support \u003ccode\u003eTypeAliasType\u003c/code\u003es as array types. For example:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003etype Foo = np.ndarray | int\r\nFloat[Foo, \u0026quot;\u0026quot;]\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eIn particular, this re-enables support for \u003ccode\u003enumpy.typing.ArrayLike\u003c/code\u003e, which recently switched from being a union to a type alias.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs: big update to emphasize the way in which we are framework-agnostic.\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/patrick-kidger/jaxtyping/compare/v0.3.4...v0.3.5\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.4...v0.3.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd fp4e2m1fn type (Thanks \u003ca href=\"https://github.com/vincentlo-a\"\u003e\u003ccode\u003e@​vincentlo-a\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/353\"\u003epatrick-kidger/jaxtyping#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNo longer crashing if \u003ccode\u003enumpy\u003c/code\u003e not available. (Thanks \u003ca href=\"https://github.com/charlesbmi\"\u003e\u003ccode\u003e@​charlesbmi\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/361\"\u003epatrick-kidger/jaxtyping#361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNo longer crashing when building documentation using either either \u003ccode\u003epytkdoc_tweaks\u003c/code\u003e or \u003ccode\u003ehippogriffe\u003c/code\u003e (=my internal doc libraries that probably no-one else uses 😁) and JAX is not available (\u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/362\"\u003e#362\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/vincentlo-a\"\u003e\u003ccode\u003e@​vincentlo-a\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/353\"\u003epatrick-kidger/jaxtyping#353\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charlesbmi\"\u003e\u003ccode\u003e@​charlesbmi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/361\"\u003epatrick-kidger/jaxtyping#361\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.3...v0.3.4\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.3...v0.3.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/f7e00886e6c79f4ddf11293c46fa2b6948ea6a72\"\u003e\u003ccode\u003ef7e0088\u003c/code\u003e\u003c/a\u003e 0.3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/aae2fa7da38ebfbebac70523e49814a7f32c576d\"\u003e\u003ccode\u003eaae2fa7\u003c/code\u003e\u003c/a\u003e Fix typechecking of pytree of new-style union.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/f6477d486c9deaeb5c1cd73443ef5cc5ba5ea128\"\u003e\u003ccode\u003ef6477d4\u003c/code\u003e\u003c/a\u003e bump release pipeline to 3.12 to avoid jax weirdness on 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/7d360677973772984ab71b99bfd7a3ed738e15fe\"\u003e\u003ccode\u003e7d36067\u003c/code\u003e\u003c/a\u003e 0.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/6c3f488a5a6269981388ae3af9f747a0b6b7bd95\"\u003e\u003ccode\u003e6c3f488\u003c/code\u003e\u003c/a\u003e Yet another fix for numpy 2.4.0, I think this time this is needed for Python ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/b3ad46f43b6a75a11a4ce880b0cb6eed883b88a3\"\u003e\u003ccode\u003eb3ad46f\u003c/code\u003e\u003c/a\u003e Numpy 2.4.0 compat: fix union of arraylike.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/103e004b2b8aba25afb7423ff6579c93bcd33da3\"\u003e\u003ccode\u003e103e004\u003c/code\u003e\u003c/a\u003e 0.3.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/4bb34ef92fc54baa2e2edc537255acec96e00fa4\"\u003e\u003ccode\u003e4bb34ef\u003c/code\u003e\u003c/a\u003e fix(lib): respect \u003ccode\u003e@no_type_check\u003c/code\u003e decorator on class (\u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/370\"\u003e#370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/9be85233d60c8c08167e24704b2af7b017478e2e\"\u003e\u003ccode\u003e9be8523\u003c/code\u003e\u003c/a\u003e fix(pytest): execute import hook before \u003ccode\u003econftest.py\u003c/code\u003e files are read\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/aec7db5977f54b332931b5f84fc75978e4b30f71\"\u003e\u003ccode\u003eaec7db5\u003c/code\u003e\u003c/a\u003e fix(pytest_plugin): avoid splitting typechecker constructor with commas\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.2.38...v0.3.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `polars` from 1.37.1 to 1.39.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pola-rs/polars/releases\"\u003epolars's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePython Polars 1.39.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Performance improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLower \u003ccode\u003earg_{min,max}\u003c/code\u003e to streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26845\"\u003e#26845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional IR slice pushdown after filter pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26815\"\u003e#26815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming first/last on Enum through physical (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26783\"\u003e#26783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFast filter for scalar predicates (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26745\"\u003e#26745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow SimpleProjection in streaming engine to rename (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26709\"\u003e#26709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming cloud download for \u003ccode\u003escan_csv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26637\"\u003e#26637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop columns only needed for predicates after the predicate is applied (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26703\"\u003e#26703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun projection pushdown after predicate pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26688\"\u003e#26688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eComparison literal downcasting (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26663\"\u003e#26663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd dynamic predicates for TopK (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26495\"\u003e#26495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncrease minimum default parquet row group prefetch to 8 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26632\"\u003e#26632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePartial predicate conversion to PyArrow (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26567\"\u003e#26567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming cloud download for \u003ccode\u003escan_ndjson\u003c/code\u003e / \u003ccode\u003escan_lines\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26563\"\u003e#26563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGrab GIL fewer times during Object join materialization (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26587\"\u003e#26587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove CSV and NDJSON cloud sink performance (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26545\"\u003e#26545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTune cloud writer performance (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26518\"\u003e#26518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow parallel InMemorySinks in streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26501\"\u003e#26501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd streaming \u003ccode\u003eAsOf\u003c/code\u003e join node (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26398\"\u003e#26398\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't always rechunk on gather of nested types (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26478\"\u003e#26478\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Expr for holidays in business day calculations (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26193\"\u003e#26193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eParameter for pivot to always include value column name (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26730\"\u003e#26730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRaise error in \u003ccode\u003e.collect_schema()\u003c/code\u003e when \u003ccode\u003earr.get()\u003c/code\u003e is out-of-bounds (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26866\"\u003e#26866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExtend \u003ccode\u003eExpr.reinterpret\u003c/code\u003e to all numeric types of the same size (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26401\"\u003e#26401\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing_columns parameter to scan_csv (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26787\"\u003e#26787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClear no-op scan projections (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26858\"\u003e#26858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport nested datatypes for \u003ccode\u003e{min,max}_by\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26849\"\u003e#26849\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport SQL \u003ccode\u003eARRAY\u003c/code\u003e init from typed literals (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26622\"\u003e#26622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAccept table identifier string in \u003ccode\u003escan_iceberg()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26826\"\u003e#26826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a convenience \u003ccode\u003emake fresh\u003c/code\u003e command to the Makefile (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26809\"\u003e#26809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose \u0026quot;use_zip64\u0026quot; Workbook option for \u003ccode\u003ewrite_excel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26699\"\u003e#26699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd unstable \u003ccode\u003eLazyFrame.sink_iceberg\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26799\"\u003e#26799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd maintain order argument on implode (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26782\"\u003e#26782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up casting primitive to bool by at least 2x (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26823\"\u003e#26823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport ASCII format table input to \u003ccode\u003epl.from_repr\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26806\"\u003e#26806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable rowgroup skipping for float columns (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26805\"\u003e#26805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd expression context to errors (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26716\"\u003e#26716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Decimal support for product reduction (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26725\"\u003e#26725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport all Iceberg V2 arrow types in sink_parquet arrow_schema parameter (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26669\"\u003e#26669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRe-work behavior of arrow_schema parameter on sink_parquet (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26621\"\u003e#26621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003econtains_dtype()\u003c/code\u003e method for \u003ccode\u003eSchema\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26661\"\u003e#26661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003etruncate\u003c/code\u003e as a \u0026quot;to_zero\u0026quot; rounding mode (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26677\"\u003e#26677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMore generic streaming GroupBy lowering (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26696\"\u003e#26696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCreate an \u003ccode\u003eAlignment\u003c/code\u003e TypeAlias (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26668\"\u003e#26668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd basic MemoryManager to track buffered dataframes for out-of-core support later (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26443\"\u003e#26443\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/pola-rs/polars/commit/2bce04ad4e3136d767c24bf1123739bc4ecd3c94\"\u003e\u003ccode\u003e2bce04a\u003c/code\u003e\u003c/a\u003e chore: Use large linux-arm runner for release (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26898\"\u003e#26898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/d764326cf1d661d02e78b5c42d0eb89cf0cf403c\"\u003e\u003ccode\u003ed764326\u003c/code\u003e\u003c/a\u003e Python Polars 1.39.0 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26891\"\u003e#26891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/3ebdb3acef9ca0976843f97ac5e95409f7ba93f7\"\u003e\u003ccode\u003e3ebdb3a\u003c/code\u003e\u003c/a\u003e fix: Prevent \u003ccode\u003eBoolean\u003c/code\u003e arithmetic with integer literals producing \u003ccode\u003eUnknown\u003c/code\u003e t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/fc24eeada027d04144c30910076f1beb90a9e284\"\u003e\u003ccode\u003efc24eea\u003c/code\u003e\u003c/a\u003e fix: Fix sink to partitioned S3 from Windows corrupted slashes (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26889\"\u003e#26889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/9a78aa1929e48c3b50590750b8b87da197b20d1e\"\u003e\u003ccode\u003e9a78aa1\u003c/code\u003e\u003c/a\u003e fix: Remove outdated warning about List columns in unique() (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26295\"\u003e#26295\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26890\"\u003e#26890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/d310d9660731ee491a2da37dfa0ee3984f763fdd\"\u003e\u003ccode\u003ed310d96\u003c/code\u003e\u003c/a\u003e fix: Restore pyarrow predicate conversion for is_in (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26811\"\u003e#26811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/9398fe91b1bb20ced505848ec079313eda146d0f\"\u003e\u003ccode\u003e9398fe9\u003c/code\u003e\u003c/a\u003e fix: Release GIL before df.to_ndarray() to avoid deadlock (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26832\"\u003e#26832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/7e1b8138aae609de4e1f07a6e784f9d558608df1\"\u003e\u003ccode\u003e7e1b813\u003c/code\u003e\u003c/a\u003e fix: Fix panic on CSV count_rows with FORCE_ASYNC (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26883\"\u003e#26883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/f380d60bc3da3c2fbbf84f6f584d3fff8589dcc7\"\u003e\u003ccode\u003ef380d60\u003c/code\u003e\u003c/a\u003e feat: Support Expr for holidays in business day calculations (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26193\"\u003e#26193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/13f88c656a2ba549df0fab180f6ac8ac6fffe567\"\u003e\u003ccode\u003e13f88c6\u003c/code\u003e\u003c/a\u003e fix: Add scalar comparisons for \u003ccode\u003eUInt128\u003c/code\u003e series (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26886\"\u003e#26886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pola-rs/polars/compare/py-1.37.1...py-1.39.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 23.0.0 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-23.0.0...apache-arrow-23.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fsspec` from 2026.1.0 to 2026.2.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/e6668a146cd07b9f50530c49ea3916d8ab13e169\"\u003e\u003ccode\u003ee6668a1\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1989\"\u003e#1989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/b6bd0752c1f133fb5005b4b21c065bde76f2c52b\"\u003e\u003ccode\u003eb6bd075\u003c/code\u003e\u003c/a\u003e fix parquet tests (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1988\"\u003e#1988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/6f825f3ba989893a283cb1f84abcb87953b4ca96\"\u003e\u003ccode\u003e6f825f3\u003c/code\u003e\u003c/a\u003e feat(compression): recover the support of the zstandard (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1986\"\u003e#1986\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1987\"\u003e#1987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/1de5e1db3bf6ba984a1386008f3fff97a406ec90\"\u003e\u003ccode\u003e1de5e1d\u003c/code\u003e\u003c/a\u003e Remove prefetching loop (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1984\"\u003e#1984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/9603a7c8329c7c24b476c77dcf924dda572113f0\"\u003e\u003ccode\u003e9603a7c\u003c/code\u003e\u003c/a\u003e fixes to parquet and known cache (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1982\"\u003e#1982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/2576617e5cbe441bcc53b021bccd85ff3489fde7\"\u003e\u003ccode\u003e2576617\u003c/code\u003e\u003c/a\u003e Support append and update for cached file systems (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1980\"\u003e#1980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/cea9d7c1fa3df31c02aa2ddd5df0cd06a9f4d1f4\"\u003e\u003ccode\u003ecea9d7c\u003c/code\u003e\u003c/a\u003e Return None for size if arrow file is not seekable (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1981\"\u003e#1981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/6e1196304d0ffdeb92372ff2f7ef154253afa92c\"\u003e\u003ccode\u003e6e11963\u003c/code\u003e\u003c/a\u003e Maybe fix column selection (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1979\"\u003e#1979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/635b2efb31d650c84405e97b6c26887361c3a973\"\u003e\u003ccode\u003e635b2ef\u003c/code\u003e\u003c/a\u003e Correct \u003ccode\u003efind\u003c/code\u003e behaviour with different combinations of arguments for `ZipFil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/8ce70ee802856daa540cdbc0bdde302a923288fb\"\u003e\u003ccode\u003e8ce70ee\u003c/code\u003e\u003c/a\u003e Implement created and modified methods from abstract filesystem class… (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1971\"\u003e#1971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/filesystem_spec/compare/2026.1.0...2026.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fonttools` from 4.61.1 to 4.62.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fonttools/fonttools/releases\"\u003efonttools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.62.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[feaLib] Extend contextual rule merging to all rule types: single subst, GSUB/GPOS named lookups, ignore rules, and chained alternate subst (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4061\"\u003e#4061\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.62.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[diff] Add new \u003ccode\u003efonttools diff\u003c/code\u003e command for comparing font files, imported from the \u003ccode\u003efdiff\u003c/code\u003e project and heavily reworked (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/1190\"\u003e#1190\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4007\"\u003e#4007\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4009\"\u003e#4009\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4011\"\u003e#4011\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4013\"\u003e#4013\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4019\"\u003e#4019\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e interpolation bug with non-linear avar mappings. Also decouple \u003ccode\u003eVariableScalar\u003c/code\u003e from compiled fonts, allowing it to work with designspace data before compilation (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3938\"\u003e#3938\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4054\"\u003e#4054\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e axis ordering and iterative delta rounding to match fontc behavior (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4053\"\u003e#4053\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Merge chained multi subst rules with same context into a single subtable instead of emitting one subtable per glyph (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4016\"\u003e#4016\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4058\"\u003e#4058\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Pass location to \u003ccode\u003eConditionsetStatement\u003c/code\u003e\u003ccode\u003efontra/fontra-glyphs#130\u003c/code\u003e\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4057\"\u003e#4057\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Write \u003ccode\u003e0xFFFF\u003c/code\u003e instead of \u003ccode\u003e0\u003c/code\u003e for missing nameIDs in \u003ccode\u003ecv\u003c/code\u003e feature params (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4010\"\u003e#4010\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4012\"\u003e#4012\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[cmap] Fix \u003ccode\u003eCmapSubtable.__lt__()\u003c/code\u003e \u003ccode\u003eTypeError\u003c/code\u003e on Python 3 when subtables share the same encoding record, and add compile-time validation for unique encoding records (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4035\"\u003e#4035\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4055\"\u003e#4055\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[svgLib] Skip non-element XML nodes (comments, processing instructions) when drawing SVG paths (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4042\"\u003e#4042\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4043\"\u003e#4043\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[glifLib] Fix regression reading glyph outlines when \u003ccode\u003eglyphObject=None\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4030\"\u003e#4030\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4031\"\u003e#4031\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[pointPen] Fix \u003ccode\u003eSegmentToPointPen\u003c/code\u003e edge case: only remove a duplicate final point on \u003ccode\u003eclosePath()\u003c/code\u003e if it is an on-curve point (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4014\"\u003e#4014\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4015\"\u003e#4015\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[cffLib] \u003cstrong\u003eSECURITY\u003c/strong\u003e Replace \u003ccode\u003eeval()\u003c/code\u003e with \u003ccode\u003esafeEval()\u003c/code\u003e in \u003ccode\u003eparseBlendList()\u003c/code\u003e to prevent arbitrary code execution from crafted TTX files (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4039\"\u003e#4039\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4040\"\u003e#4040\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[ttLib] Remove defunct Adobe SING Glyphlet tables (\u003ccode\u003eMETA\u003c/code\u003e, \u003ccode\u003eSING\u003c/code\u003e, \u003ccode\u003eGMAP\u003c/code\u003e, \u003ccode\u003eGPKG\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4044\"\u003e#4044\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib.interpolatable] Various bugfixes: fix swapped nodeTypes assignment, duplicate kink-detector condition, typos, CFF2 vsindex parsing, glyph existence check, and plot helpers (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4046\"\u003e#4046\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib.models] Fix \u003ccode\u003egetSubModel\u003c/code\u003e not forwarding \u003ccode\u003eextrapolate\u003c/code\u003e/\u003ccode\u003eaxisRanges\u003c/code\u003e; check location uniqueness after stripping zeros (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4047\"\u003e#4047\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib] Fix \u003ccode\u003e--variable-fonts\u003c/code\u003e filter in \u003ccode\u003ebuild_many\u003c/code\u003e; remove dead code and fix comments (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4048\"\u003e#4048\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[avar] Preserve existing name table in build; keep \u003ccode\u003eunbuild\u003c/code\u003e return types consistent; validate \u003ccode\u003emap\u003c/code\u003e CLI coordinates (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4051\"\u003e#4051\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[cu2qu/qu2cu] Add input validation: reject non-positive tolerances, validate curve inputs and list lengths (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4052\"\u003e#4052\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[colorLib] Raise a clear \u003ccode\u003eColorLibError\u003c/code\u003e when base glyphs are missing from glyphMap, instead of a confusing \u003ccode\u003eKeyError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4041\"\u003e#4041\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[glyf] Remove unnecessary \u003ccode\u003efvar\u003c/code\u003e table dependency (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4017\"\u003e#4017\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[fvar/trak] Remove unnecessary \u003ccode\u003ename\u003c/code\u003e table dependency (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4018\"\u003e#4018\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[ufoLib] Relax guideline validation to follow the updated spec (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3537\"\u003e#3537\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3553\"\u003e#3553\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[ttFont] Fix \u003ccode\u003esaveXML\u003c/code\u003e regression with empty table lists, clarify docstring (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4025\"\u003e#4025\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4026\"\u003e#4026\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4056\"\u003e#4056\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[setup.py] Link \u003ccode\u003elibm\u003c/code\u003e for Cython extensions using math functions (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4028\"\u003e#4028\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4029\"\u003e#4029\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd typing annotations for \u003ccode\u003eDSIG\u003c/code\u003e, \u003ccode\u003eDefaultTable\u003c/code\u003e, \u003ccode\u003ettProgram\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4033\"\u003e#4033\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/fonttools/fonttools/blob/main/NEWS.rst\"\u003efonttools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.62.1 (released 2026-03-13)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[feaLib] Extend contextual rule merging to all rule types: single subst, GSUB/GPOS\nnamed lookups, ignore rules, and chained alternate subst (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4061\"\u003e#4061\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.62.0 (released 2026-03-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[diff] Add new \u003ccode\u003efonttools diff\u003c/code\u003e command for comparing font files, imported from the\n\u003ccode\u003efdiff\u003c/code\u003e project and heavily reworked (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/1190\"\u003e#1190\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4007\"\u003e#4007\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4009\"\u003e#4009\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4011\"\u003e#4011\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4013\"\u003e#4013\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4019\"\u003e#4019\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e interpolation bug with non-linear avar mappings. Also\ndecouple \u003ccode\u003eVariableScalar\u003c/code\u003e from compiled fonts, allowing it to work with designspace data\nbefore compilation (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3938\"\u003e#3938\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4054\"\u003e#4054\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e axis ordering and iterative delta rounding to match fontc\nbehavior (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4053\"\u003e#4053\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Merge chained multi subst rules with same context into a single subtable instead of\nemitting one subtable per glyph (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4016\"\u003e#4016\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4058\"\u003e#4058\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Pass location to \u003ccode\u003eConditionsetStatement\u003c/code\u003e to fix glyphsLib round-tripping\n\u003ccode\u003efontra/fontra-glyphs#130\u003c/code\u003e\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4057\"\u003e#4057\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Write \u003ccode\u003e0xFFFF\u003c/code\u003e instead of \u003ccode\u003e0\u003c/code\u003e for missing nameIDs in \u003ccode\u003ecv\u003c/code\u003e feature params\n(\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4010\"\u003e#4010\u003c/a\u003e, \u003ca href=\"https://re...\n\n_Description has been truncated_","html_url":"https://github.com/eliagroup/ToOp/pull/333","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliagroup%2FToOp/issues/333","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/333/packages"},{"uuid":"4120591595","node_id":"PR_kwDOQFtGkc7MrCgA","number":328,"state":"closed","title":"build(deps): bump the production group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-24T08:52:56.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-23T12:45:00.000Z","updated_at":"2026-03-24T08:52:58.000Z","time_to_close":72476,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"production","update_count":12,"packages":[{"name":"pandera","old_version":"0.22.1","new_version":"0.29.0","repository_url":"https://github.com/pandera-dev/pandera"},{"name":"numpy","old_version":"1.26.4","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"logbook","old_version":"1.8.2","new_version":"1.9.2","repository_url":"https://github.com/getlogbook/logbook"},{"name":"h5py","old_version":"3.15.1","new_version":"3.16.0","repository_url":"https://github.com/h5py/h5py"},{"name":"numpydantic","old_version":"1.7.0","new_version":"1.8.0","repository_url":"https://github.com/p2p-ld/numpydantic"},{"name":"jaxtyping","old_version":"0.2.38","new_version":"0.3.9","repository_url":"https://github.com/patrick-kidger/jaxtyping"},{"name":"polars","old_version":"1.37.1","new_version":"1.39.0","repository_url":"https://github.com/pola-rs/polars"},{"name":"pyarrow","old_version":"23.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"fsspec","old_version":"2026.1.0","new_version":"2026.2.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.0","repository_url":"https://github.com/fonttools/fonttools"},{"name":"pandapower","old_version":"3.1.2","new_version":"3.4.0","repository_url":"https://github.com/e2nIEE/pandapower"}],"path":null,"ecosystem":"pip"},"body":"Bumps the production group with 12 updates in the /packages/interfaces_pkg directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pandera](https://github.com/pandera-dev/pandera) | `0.22.1` | `0.29.0` |\n| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.4.3` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [logbook](https://github.com/getlogbook/logbook) | `1.8.2` | `1.9.2` |\n| [h5py](https://github.com/h5py/h5py) | `3.15.1` | `3.16.0` |\n| [numpydantic](https://github.com/p2p-ld/numpydantic) | `1.7.0` | `1.8.0` |\n| [jaxtyping](https://github.com/patrick-kidger/jaxtyping) | `0.2.38` | `0.3.9` |\n| [polars](https://github.com/pola-rs/polars) | `1.37.1` | `1.39.0` |\n| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `23.0.1` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2026.1.0` | `2026.2.0` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.0` |\n| [pandapower](https://github.com/e2nIEE/pandapower) | `3.1.2` | `3.4.0` |\n\n\nUpdates `pandera` from 0.22.1 to 0.29.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandera-dev/pandera/releases\"\u003epandera's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.29.0: support list, dict, and tuple of dataframes\u003c/h2\u003e\n\u003ch2\u003e⭐️ Highlight\u003c/h2\u003e\n\u003cp\u003ePandera now supports collection types containing dataframes, shoutout to \u003ca href=\"https://github.com/garethellis0\"\u003e\u003ccode\u003e@​garethellis0\u003c/code\u003e\u003c/a\u003e with an amazing first contribution!\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e@pa.check_types\r\ndef process_tuple_and_return_dict(\r\n    dfs: tuple[DataFrame[OnlyZeroesSchema], DataFrame[OnlyOnesSchema]],\r\n) -\u0026gt; dict[str, DataFrame[OnlyZeroesSchema]]:\r\n    return {\r\n        \u0026quot;foo\u0026quot;: dfs[0],\r\n        \u0026quot;bar\u0026quot;: dfs[0]\r\n    }\r\n\u003cp\u003eresult = process_tuple_and_return_dict((\npd.DataFrame({\u0026quot;a\u0026quot;: [0, 0]}),\npd.DataFrame({\u0026quot;a\u0026quot;: [1, 1]}),\n))\nprint(result)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeature/1078: Added Support For List, Dict, And Tuples Of Dataframes by \u003ca href=\"https://github.com/garethellis0\"\u003e\u003ccode\u003e@​garethellis0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2204\"\u003eunionai-oss/pandera#2204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epin sphinx version by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2208\"\u003eunionai-oss/pandera#2208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd map datatype to the Ibis engine implementation by \u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2206\"\u003eunionai-oss/pandera#2206\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/garethellis0\"\u003e\u003ccode\u003e@​garethellis0\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2204\"\u003eunionai-oss/pandera#2204\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.28.1...v0.29.0\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.28.1...v0.29.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.28.1: Fix regressions in Check behavior\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix bugs in Check interface and Field by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2203\"\u003eunionai-oss/pandera#2203\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.28.0...v0.28.1\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.28.0...v0.28.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease 0.28.0: Add support for Pyspark 4\u003c/h2\u003e\n\u003ch2\u003e⭐️ Highlight\u003c/h2\u003e\n\u003cp\u003ePandera now supports Pyspark 4 🚀\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(pyspark): restructure pyspark components by \u003ca href=\"https://github.com/ELC\"\u003e\u003ccode\u003e@​ELC\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2007\"\u003eunionai-oss/pandera#2007\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd support for pyspark 4 by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2193\"\u003eunionai-oss/pandera#2193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDecouple import dependencies for io serialization formats by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2195\"\u003eunionai-oss/pandera#2195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eget_annotations\u003c/code\u003e instead of direct \u003ccode\u003e__annotations__\u003c/code\u003e access by \u003ca href=\"https://github.com/amerberg\"\u003e\u003ccode\u003e@​amerberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2196\"\u003eunionai-oss/pandera#2196\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/unionai-oss/pandera/commit/7614754cb29f3495b1c1bc342e79176ebfa815be\"\u003e\u003ccode\u003e7614754\u003c/code\u003e\u003c/a\u003e Add map datatype to the Ibis engine implementation (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2206\"\u003e#2206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/8b87d0fd66a98a8525cfa6aae26facd566863712\"\u003e\u003ccode\u003e8b87d0f\u003c/code\u003e\u003c/a\u003e pin sphinx version (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2208\"\u003e#2208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/dc109085066c408a88a4d78e8b5a5daa06a55045\"\u003e\u003ccode\u003edc10908\u003c/code\u003e\u003c/a\u003e feature/1078: Added Support For List, Dict, And Tuples Of Dataframes (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2204\"\u003e#2204\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/71f860aa59ff6477134a1190d656f9d678574c9d\"\u003e\u003ccode\u003e71f860a\u003c/code\u003e\u003c/a\u003e fix bugs in Check interface and Field (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2203\"\u003e#2203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/82096dd7974de7531532ea7734c70030c27b859b\"\u003e\u003ccode\u003e82096dd\u003c/code\u003e\u003c/a\u003e schema descriptor should raise AttributeError if build_schema_ is not impleme...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/7055cbd38ee65259975249c48b25aa4c5b2a8327\"\u003e\u003ccode\u003e7055cbd\u003c/code\u003e\u003c/a\u003e Avoid full materialization of levels in failing MultiIndex validations (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2187\"\u003e#2187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/b69c6fa232d5e9bea39c84d1fb9116d95603043a\"\u003e\u003ccode\u003eb69c6fa\u003c/code\u003e\u003c/a\u003e Update .git-blame-ignore-revs to add Ruff refactor (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2199\"\u003e#2199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/42a2b3446eaf2a60d7945a5127072e720cc595b9\"\u003e\u003ccode\u003e42a2b34\u003c/code\u003e\u003c/a\u003e Support the \u003ccode\u003eDecimal\u003c/code\u003e data type in the Ibis engine (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2194\"\u003e#2194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/8c3b46ce02e5f723841072af4d2f5d280d11cca5\"\u003e\u003ccode\u003e8c3b46c\u003c/code\u003e\u003c/a\u003e Re-implement improvements to str_length check (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2198\"\u003e#2198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/8abbf2617918808e347c495f0270635c3ca10b73\"\u003e\u003ccode\u003e8abbf26\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003eget_annotations\u003c/code\u003e instead of direct \u003ccode\u003e__annotations__\u003c/code\u003e access (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2196\"\u003e#2196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandera-dev/pandera/compare/v0.22.1...v0.29.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 1.26.4 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/v1.26.4...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 2.3.3 to 3.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epandas 3.0.1\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.1.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/dev/whatsnew/v3.0.1.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003epandas 3.0.0\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.0, a major release from the pandas 2.x series. This release includes various new features, bug fixes, and performance improvements, as well as possible breaking changes.\u003c/p\u003e\n\u003cp\u003eThe pandas 3.0 release removed a functionality that was deprecated in previous releases. It is recommended to first upgrade to pandas 2.3 and to ensure your code is working without warnings, before upgrading to pandas 3.0.\u003c/p\u003e\n\u003cp\u003eHighlights include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-enhancements-string-dtype\"\u003eDedicated string data type by default\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-enhancements-copy_on_write\"\u003eConsistent copy/view behaviour with Copy-on-Write\u003c/a\u003e (CoW) (a.k.a. getting rid of the SettingWithCopyWarning)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-api-breaking-datetime-resolution-inference\"\u003eNew default resolution for datetime-like data\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-enhancements-col\"\u003eInitial support for the new \u003ccode\u003epd.col\u003c/code\u003e syntax\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/community/blog/pandas-3.0.html\"\u003eannouncement blog post\u003c/a\u003e and the \u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html\"\u003edetailed release notes\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues/new/choose\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003ePandas 3.0.0rc2\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ePandas 3.0.0rc1\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/pandas-dev/pandas/commit/e04b26f375035e5106cb913e47b6db612f4ebb11\"\u003e\u003ccode\u003ee04b26f\u003c/code\u003e\u003c/a\u003e RLS: 3.0.1  (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64206\"\u003e#64206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/47909e67760389ad32094b586eadcfceb52235b8\"\u003e\u003ccode\u003e47909e6\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] ENH: Add item() method to ExtensionArray class (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64134\"\u003e#64134\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64\"\u003e#64\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/a061bfd2f31ebba410ab87db475df651d02f8bcd\"\u003e\u003ccode\u003ea061bfd\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64199\"\u003e#64199\u003c/a\u003e on branch 3.0.x (DOC: cleanup 3.0.1 whatsnew) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64201\"\u003e#64201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/085a3856d362c4b849d84754cbc7005f2539dc54\"\u003e\u003ccode\u003e085a385\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: Fix read_hdf failing on generic datetime64 dtype (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/6400\"\u003e#6400\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/5f1704777bc2fe4864875d49b87d4e4cab417f30\"\u003e\u003ccode\u003e5f17047\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: use fill_null fallback for bug in pyarrow 21 on Windows...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/0d3a8cba13397e84606716f545f0afdce26172c4\"\u003e\u003ccode\u003e0d3a8cb\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64122\"\u003e#64122\u003c/a\u003e on branch 3.0.x (REG: Allow RE2 syntax in str.contains and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/78e1917e4d45dbea16636194b240a18b1a42bc97\"\u003e\u003ccode\u003e78e1917\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64185\"\u003e#64185\u003c/a\u003e on branch 3.0.x (TST: remove fixed xfail for PyArrow 23.0....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/75a42cabc9ff39b1ade4afabd0bc54b972d326b7\"\u003e\u003ccode\u003e75a42ca\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64168\"\u003e#64168\u003c/a\u003e on branch 3.0.x (TST: add legacy file generation and tests...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/46d443f9d603a0f65672182133e0e83f108afdcc\"\u003e\u003ccode\u003e46d443f\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64092\"\u003e#64092\u003c/a\u003e on branch 3.0.x (BUG: DataFrame.loc fills b'' instead of N...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/9d6793220be57edda0b9abb68dfa0b1740baf569\"\u003e\u003ccode\u003e9d67932\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64068\"\u003e#64068\u003c/a\u003e on branch 3.0.x (BUG: fixed to_timedelta with list of int ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v2.3.3...v3.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `logbook` from 1.8.2 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/getlogbook/logbook/releases\"\u003elogbook's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.2\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/getlogbook/logbook/blob/main/CHANGES\"\u003eCHANGES\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/getlogbook/logbook/blob/main/CHANGES\"\u003eCHANGES\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/getlogbook/logbook/blob/main/CHANGES\"\u003eCHANGES\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/getlogbook/logbook/blob/main/CHANGES\"\u003elogbook's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.2\u003c/h2\u003e\n\u003cp\u003eFixed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- When used as a context manager, handlers, flags, and processors would swallow\n  a raised ``BaseException`` and raise a ``TypeError`` `[#500](https://github.com/getlogbook/logbook/issues/500) \u0026lt;https://github.com/getlogbook/logbook/issues/500\u0026gt;`_.\n\u003ch2\u003eVersion 1.9.1\u003c/h2\u003e\n\u003cp\u003eFixed\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequired files were missing from the source distribution (sdist).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0\u003c/h2\u003e\n\u003cp\u003eAdded\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Python 3.14 support\n- Python 3.14 free-threading support (beta). This does not extend to all optional\n  dependencies. At the time of writing, the following extras are not supported due\n  to their dependencies pulling in C extensions which do not support free-threading:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebrotli\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enteventlog\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esqlalchemy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWheels are built for Windows ARM64\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanged\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe way handlers, flags, and processors are activated is now based on\n:mod:\u003ccode\u003econtextvars\u003c/code\u003e, and has been completely rewritten. See deprecations since\nmany methods have been deprecated and are mere aliases to the new defaults.\u003c/li\u003e\n\u003cli\u003eCython has been replaced with Rust for the speedups module.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLogbook[brotli]\u003c/code\u003e depends on \u003ccode\u003ebrotlicffi\u003c/code\u003e on non-CPython implementations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecated\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- ``logbook.__version__``. Use :mod:`importlib.metadata` instead.\n- There are now only two ways to activate :class:`~logbook.Handler`,\n  :class:`~logbook.Flags`, and :class:`~logbook.Processor` instances.\n\u003cp\u003eEither globally:\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/ab46a87502ed5bd5e83ee208aa6dabb05adece36\"\u003e\u003ccode\u003eab46a87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/502\"\u003e#502\u003c/a\u003e from getlogbook/feature/prepare-1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/d720c277fb2bf5a179fda8e097b8986db9465029\"\u003e\u003ccode\u003ed720c27\u003c/code\u003e\u003c/a\u003e Bump version to 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/4815c8a10c7bed301d8f00fa8502340e96e24c44\"\u003e\u003ccode\u003e4815c8a\u003c/code\u003e\u003c/a\u003e Update CHANGES\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/3899e0b8a15e9a881f679d92424510c401cce14d\"\u003e\u003ccode\u003e3899e0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/501\"\u003e#501\u003c/a\u003e from getlogbook/fix/stacked-object-base-exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/c9f59b635e3a81177525064f22577f6090792e0a\"\u003e\u003ccode\u003ec9f59b6\u003c/code\u003e\u003c/a\u003e Fix BaseException handling in Rust extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/e6b04a0fcc35cdc1935ce7cb835c93ce75d3a239\"\u003e\u003ccode\u003ee6b04a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/498\"\u003e#498\u003c/a\u003e from getlogbook/dependabot/cargo/syn-2.0.111\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/3ca9aeb888ba615af017621a273094476d37fd5c\"\u003e\u003ccode\u003e3ca9aeb\u003c/code\u003e\u003c/a\u003e Bump syn from 2.0.110 to 2.0.111\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/60dc16cc0f3ac736f2fec699d7bbf34f45281b52\"\u003e\u003ccode\u003e60dc16c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/496\"\u003e#496\u003c/a\u003e from getlogbook/dependabot/github_actions/actions/che...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/849bfa354b0e221ec66acc1deed3cff60de2808b\"\u003e\u003ccode\u003e849bfa3\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.0 to 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/14eddd9fa8e2e6c0b42ea868cd3323c8189ec947\"\u003e\u003ccode\u003e14eddd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/497\"\u003e#497\u003c/a\u003e from getlogbook/dependabot/github_actions/dtolnay/rus...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getlogbook/logbook/compare/1.8.2...1.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `h5py` from 3.15.1 to 3.16.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/b2f0347c4200333acd89b43733f1caa0c115162f\"\u003e\u003ccode\u003eb2f0347\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2807\"\u003e#2807\u003c/a\u003e from takluyver/prepare-3.16\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/f0dedaac8a816a7def3256c60e082400d4988fb1\"\u003e\u003ccode\u003ef0dedaa\u003c/code\u003e\u003c/a\u003e Add zlib update to release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/1e0402630e6531aef2aef14cccb339a581d743dd\"\u003e\u003ccode\u003e1e04026\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2808\"\u003e#2808\u003c/a\u003e from takluyver/zlib-1.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/c5c8f0655dda9f65b1820f36c412b65f884f9d32\"\u003e\u003ccode\u003ec5c8f06\u003c/code\u003e\u003c/a\u003e Fix another reference to zlib DLL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/d872c0c45990e36276808547aa8dac34044088ea\"\u003e\u003ccode\u003ed872c0c\u003c/code\u003e\u003c/a\u003e Use a newer bugfix release of HDF5 1.14 on Azure pipelines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/71c655a6095e451daecc56c161c8535102d874e7\"\u003e\u003ccode\u003e71c655a\u003c/code\u003e\u003c/a\u003e Fix calling zlib script on Windows Azure CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/2f5bf86b22054323d423cbbc2d4054c0487ca0dd\"\u003e\u003ccode\u003e2f5bf86\u003c/code\u003e\u003c/a\u003e Fix for new names z.lib \u0026amp; z.dll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/47ce1d882cf436cad1c9546803278324a17ae0b9\"\u003e\u003ccode\u003e47ce1d8\u003c/code\u003e\u003c/a\u003e Reduce duplicated code building zlib on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/d5c8b5deb04907ec4941e6d801a93c1b5b547f13\"\u003e\u003ccode\u003ed5c8b5d\u003c/code\u003e\u003c/a\u003e Try building zlib directly from source on Windows ARM64 as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/846abfc2694e7386f61c7b535b283df5e338e3d7\"\u003e\u003ccode\u003e846abfc\u003c/code\u003e\u003c/a\u003e Update zlib to 1.3.2 for Windows \u0026amp; Mac wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/h5py/h5py/compare/3.15.1...3.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpydantic` from 1.7.0 to 1.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/p2p-ld/numpydantic/releases\"\u003enumpydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.8.0 - \u003ccode\u003eNDArraySchema\u003c/code\u003e Annotated type specification\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eVersion Support\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/pull/63\"\u003e#63\u003c/a\u003e -\nDrop support for python 3.9, add (testing) support for 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eAdded\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/41\"\u003e#41\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/62\"\u003e#62\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/pull/64\"\u003e#64\u003c/a\u003e -\nAdd a {func}\u003ccode\u003e.NDArraySchema\u003c/code\u003e Annotated style specification to support static type checkers:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom numpydantic import NDArraySchema\r\n\u003cp\u003eclass MyModel(BaseModel):\narray: Annotated[np.ndarray, NDArraySchema((1, 2, 3), np.uint8)]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAllow shape to be used as a callable rather than a \u003ccode\u003e[]\u003c/code\u003e generic\u003c/li\u003e\n\u003cli\u003eAllow shape to accept shape arguments as \u003ccode\u003e*args\u003c/code\u003e rather than a single string\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eTesting\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded pyright testing\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/p2p-ld/numpydantic/blob/main/docs/changelog.md\"\u003enumpydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch4\u003e1.8.0 - 26-02-26\u003c/h4\u003e\n\u003cp\u003e\u003cstrong\u003eVersion Support\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/pull/63\"\u003e#63\u003c/a\u003e -\nDrop support for python 3.9, add (testing) support for 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eAdded\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/41\"\u003e#41\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/62\"\u003e#62\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/pull/64\"\u003e#64\u003c/a\u003e -\nAdd a {func}\u003ccode\u003e.NDArraySchema\u003c/code\u003e Annotated style specification to support static type checkers:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom numpydantic import NDArraySchema\n\u003cp\u003eclass MyModel(BaseModel):\narray: Annotated[np.ndarray, NDArraySchema((1, 2, 3), np.uint8)]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAllow shape to be used as a callable rather than a \u003ccode\u003e[]\u003c/code\u003e generic\u003c/li\u003e\n\u003cli\u003eAllow shape to accept shape arguments as \u003ccode\u003e*args\u003c/code\u003e rather than a single string\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eTesting\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded pyright testing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e1.7.*\u003c/h3\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/d213a8ceba9664864a9772824b855ee0d2d01eba\"\u003e\u003ccode\u003ed213a8c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/64\"\u003e#64\u003c/a\u003e from p2p-ld/ndarray-annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/73abaa73ecdfa373900cdb6ea0ba635e720ff519\"\u003e\u003ccode\u003e73abaa7\u003c/code\u003e\u003c/a\u003e remove reveal type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/967533574f2b9f036923d1efcbcce7d477d2c4cd\"\u003e\u003ccode\u003e9675335\u003c/code\u003e\u003c/a\u003e more normal numpy type annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/088bcce92cb6f72f86d5ebadbe3ba5b25735e9e5\"\u003e\u003ccode\u003e088bcce\u003c/code\u003e\u003c/a\u003e lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/fdaeec85498422d4805b1c341c5548ea95141b49\"\u003e\u003ccode\u003efdaeec8\u003c/code\u003e\u003c/a\u003e fix docs rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/2b9865f3ef6dc06c9c97bfa8c9d2757800dac109\"\u003e\u003ccode\u003e2b9865f\u003c/code\u003e\u003c/a\u003e make annotated schema class, allow shape to accept tuples and be callable, ad...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/d33350d2d99c37f05dd8f0c4cfdc54cbc39fe549\"\u003e\u003ccode\u003ed33350d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/63\"\u003e#63\u003c/a\u003e from p2p-ld/drop-py39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/6e59f07af3e1e6790483a67514e9c4c9b4daa75c\"\u003e\u003ccode\u003e6e59f07\u003c/code\u003e\u003c/a\u003e drop old pydantic test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/4a75ed511a725f101454a75b27ae9501d1160713\"\u003e\u003ccode\u003e4a75ed5\u003c/code\u003e\u003c/a\u003e bump python versions in linkml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/65a470f41422bdc444ac1a8d62f935b487ae840e\"\u003e\u003ccode\u003e65a470f\u003c/code\u003e\u003c/a\u003e if package missing, cant union None with None\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/p2p-ld/numpydantic/compare/v1.7.0...v1.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jaxtyping` from 0.2.38 to 0.3.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/releases\"\u003ejaxtyping's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejaxtyping v0.3.9\u003c/h2\u003e\n\u003cp\u003eBugfix: typechecking of pytrees of \u003ccode\u003e|\u003c/code\u003e-style unions, e.g. \u003ccode\u003eisinstance(..., PyTree[int | bool])\u003c/code\u003e, will no longer silently always pass. \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/381\"\u003epatrick-kidger/jaxtyping#381\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.8...v0.3.9\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.8...v0.3.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.8\u003c/h2\u003e\n\u003cp\u003eAnother bugfix release for \u003ccode\u003enumpy.typing.ArrayLike\u003c/code\u003e on numpy 2.4.0, I think this time only needed Python 3.13+. \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/380\"\u003e#380\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.7...v0.3.8\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.7...v0.3.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.7\u003c/h2\u003e\n\u003cp\u003eBugfix: \u003ccode\u003eSomeDtype[Union[numpy.typing.ArrayLike, ...], ...]\u003c/code\u003e will no longer crash in numpy 2.4.0. (\u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/374\"\u003e#374\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.6...v0.3.7\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.6...v0.3.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfix: \u003ccode\u003e@typing.no_type_check\u003c/code\u003e is now respected on dataclasses. (Thanks \u003ca href=\"https://github.com/jeertmans\"\u003e\u003ccode\u003e@​jeertmans\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/370\"\u003epatrick-kidger/jaxtyping#370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: the pytest plugin is now exected before pytest \u003ccode\u003econftest.py\u003c/code\u003e is ran, making it usable even if the package under test is imported inside \u003ccode\u003econftest.py\u003c/code\u003e. (Thanks \u003ca href=\"https://github.com/jeertmans\"\u003e\u003ccode\u003e@​jeertmans\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/371\"\u003epatrick-kidger/jaxtyping#371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: the pytest plugin supports typecheckers that call multi-argument constructors. (Thanks \u003ca href=\"https://github.com/jeertmans\"\u003e\u003ccode\u003e@​jeertmans\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/369\"\u003epatrick-kidger/jaxtyping#369\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.5...v0.3.6\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.5...v0.3.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature: support \u003ccode\u003eTypeAliasType\u003c/code\u003es as array types. For example:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003etype Foo = np.ndarray | int\r\nFloat[Foo, \u0026quot;\u0026quot;]\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eIn particular, this re-enables support for \u003ccode\u003enumpy.typing.ArrayLike\u003c/code\u003e, which recently switched from being a union to a type alias.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs: big update to emphasize the way in which we are framework-agnostic.\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/patrick-kidger/jaxtyping/compare/v0.3.4...v0.3.5\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.4...v0.3.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd fp4e2m1fn type (Thanks \u003ca href=\"https://github.com/vincentlo-a\"\u003e\u003ccode\u003e@​vincentlo-a\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/353\"\u003epatrick-kidger/jaxtyping#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNo longer crashing if \u003ccode\u003enumpy\u003c/code\u003e not available. (Thanks \u003ca href=\"https://github.com/charlesbmi\"\u003e\u003ccode\u003e@​charlesbmi\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/361\"\u003epatrick-kidger/jaxtyping#361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNo longer crashing when building documentation using either either \u003ccode\u003epytkdoc_tweaks\u003c/code\u003e or \u003ccode\u003ehippogriffe\u003c/code\u003e (=my internal doc libraries that probably no-one else uses 😁) and JAX is not available (\u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/362\"\u003e#362\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/vincentlo-a\"\u003e\u003ccode\u003e@​vincentlo-a\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/353\"\u003epatrick-kidger/jaxtyping#353\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charlesbmi\"\u003e\u003ccode\u003e@​charlesbmi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/361\"\u003epatrick-kidger/jaxtyping#361\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.3...v0.3.4\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.3...v0.3.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/f7e00886e6c79f4ddf11293c46fa2b6948ea6a72\"\u003e\u003ccode\u003ef7e0088\u003c/code\u003e\u003c/a\u003e 0.3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/aae2fa7da38ebfbebac70523e49814a7f32c576d\"\u003e\u003ccode\u003eaae2fa7\u003c/code\u003e\u003c/a\u003e Fix typechecking of pytree of new-style union.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/f6477d486c9deaeb5c1cd73443ef5cc5ba5ea128\"\u003e\u003ccode\u003ef6477d4\u003c/code\u003e\u003c/a\u003e bump release pipeline to 3.12 to avoid jax weirdness on 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/7d360677973772984ab71b99bfd7a3ed738e15fe\"\u003e\u003ccode\u003e7d36067\u003c/code\u003e\u003c/a\u003e 0.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/6c3f488a5a6269981388ae3af9f747a0b6b7bd95\"\u003e\u003ccode\u003e6c3f488\u003c/code\u003e\u003c/a\u003e Yet another fix for numpy 2.4.0, I think this time this is needed for Python ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/b3ad46f43b6a75a11a4ce880b0cb6eed883b88a3\"\u003e\u003ccode\u003eb3ad46f\u003c/code\u003e\u003c/a\u003e Numpy 2.4.0 compat: fix union of arraylike.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/103e004b2b8aba25afb7423ff6579c93bcd33da3\"\u003e\u003ccode\u003e103e004\u003c/code\u003e\u003c/a\u003e 0.3.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/4bb34ef92fc54baa2e2edc537255acec96e00fa4\"\u003e\u003ccode\u003e4bb34ef\u003c/code\u003e\u003c/a\u003e fix(lib): respect \u003ccode\u003e@no_type_check\u003c/code\u003e decorator on class (\u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/370\"\u003e#370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/9be85233d60c8c08167e24704b2af7b017478e2e\"\u003e\u003ccode\u003e9be8523\u003c/code\u003e\u003c/a\u003e fix(pytest): execute import hook before \u003ccode\u003econftest.py\u003c/code\u003e files are read\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/aec7db5977f54b332931b5f84fc75978e4b30f71\"\u003e\u003ccode\u003eaec7db5\u003c/code\u003e\u003c/a\u003e fix(pytest_plugin): avoid splitting typechecker constructor with commas\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.2.38...v0.3.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `polars` from 1.37.1 to 1.39.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pola-rs/polars/releases\"\u003epolars's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePython Polars 1.39.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Performance improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLower \u003ccode\u003earg_{min,max}\u003c/code\u003e to streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26845\"\u003e#26845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional IR slice pushdown after filter pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26815\"\u003e#26815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming first/last on Enum through physical (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26783\"\u003e#26783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFast filter for scalar predicates (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26745\"\u003e#26745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow SimpleProjection in streaming engine to rename (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26709\"\u003e#26709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming cloud download for \u003ccode\u003escan_csv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26637\"\u003e#26637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop columns only needed for predicates after the predicate is applied (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26703\"\u003e#26703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun projection pushdown after predicate pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26688\"\u003e#26688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eComparison literal downcasting (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26663\"\u003e#26663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd dynamic predicates for TopK (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26495\"\u003e#26495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncrease minimum default parquet row group prefetch to 8 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26632\"\u003e#26632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePartial predicate conversion to PyArrow (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26567\"\u003e#26567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming cloud download for \u003ccode\u003escan_ndjson\u003c/code\u003e / \u003ccode\u003escan_lines\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26563\"\u003e#26563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGrab GIL fewer times during Object join materialization (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26587\"\u003e#26587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove CSV and NDJSON cloud sink performance (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26545\"\u003e#26545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTune cloud writer performance (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26518\"\u003e#26518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow parallel InMemorySinks in streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26501\"\u003e#26501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd streaming \u003ccode\u003eAsOf\u003c/code\u003e join node (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26398\"\u003e#26398\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't always rechunk on gather of nested types (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26478\"\u003e#26478\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Expr for holidays in business day calculations (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26193\"\u003e#26193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eParameter for pivot to always include value column name (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26730\"\u003e#26730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRaise error in \u003ccode\u003e.collect_schema()\u003c/code\u003e when \u003ccode\u003earr.get()\u003c/code\u003e is out-of-bounds (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26866\"\u003e#26866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExtend \u003ccode\u003eExpr.reinterpret\u003c/code\u003e to all numeric types of the same size (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26401\"\u003e#26401\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing_columns parameter to scan_csv (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26787\"\u003e#26787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClear no-op scan projections (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26858\"\u003e#26858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport nested datatypes for \u003ccode\u003e{min,max}_by\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26849\"\u003e#26849\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport SQL \u003ccode\u003eARRAY\u003c/code\u003e init from typed literals (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26622\"\u003e#26622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAccept table identifier string in \u003ccode\u003escan_iceberg()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26826\"\u003e#26826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a convenience \u003ccode\u003emake fresh\u003c/code\u003e command to the Makefile (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26809\"\u003e#26809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose \u0026quot;use_zip64\u0026quot; Workbook option for \u003ccode\u003ewrite_excel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26699\"\u003e#26699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd unstable \u003ccode\u003eLazyFrame.sink_iceberg\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26799\"\u003e#26799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd maintain order argument on implode (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26782\"\u003e#26782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up casting primitive to bool by at least 2x (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26823\"\u003e#26823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport ASCII format table input to \u003ccode\u003epl.from_repr\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26806\"\u003e#26806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable rowgroup skipping for float columns (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26805\"\u003e#26805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd expression context to errors (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26716\"\u003e#26716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Decimal support for product reduction (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26725\"\u003e#26725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport all Iceberg V2 arrow types in sink_parquet arrow_schema parameter (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26669\"\u003e#26669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRe-work behavior of arrow_schema parameter on sink_parquet (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26621\"\u003e#26621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003econtains_dtype()\u003c/code\u003e method for \u003ccode\u003eSchema\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26661\"\u003e#26661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003etruncate\u003c/code\u003e as a \u0026quot;to_zero\u0026quot; rounding mode (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26677\"\u003e#26677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMore generic streaming GroupBy lowering (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26696\"\u003e#26696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCreate an \u003ccode\u003eAlignment\u003c/code\u003e TypeAlias (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26668\"\u003e#26668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd basic MemoryManager to track buffered dataframes for out-of-core support later (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26443\"\u003e#26443\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/pola-rs/polars/commit/2bce04ad4e3136d767c24bf1123739bc4ecd3c94\"\u003e\u003ccode\u003e2bce04a\u003c/code\u003e\u003c/a\u003e chore: Use large linux-arm runner for release (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26898\"\u003e#26898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/d764326cf1d661d02e78b5c42d0eb89cf0cf403c\"\u003e\u003ccode\u003ed764326\u003c/code\u003e\u003c/a\u003e Python Polars 1.39.0 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26891\"\u003e#26891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/3ebdb3acef9ca0976843f97ac5e95409f7ba93f7\"\u003e\u003ccode\u003e3ebdb3a\u003c/code\u003e\u003c/a\u003e fix: Prevent \u003ccode\u003eBoolean\u003c/code\u003e arithmetic with integer literals producing \u003ccode\u003eUnknown\u003c/code\u003e t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/fc24eeada027d04144c30910076f1beb90a9e284\"\u003e\u003ccode\u003efc24eea\u003c/code\u003e\u003c/a\u003e fix: Fix sink to partitioned S3 from Windows corrupted slashes (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26889\"\u003e#26889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/9a78aa1929e48c3b50590750b8b87da197b20d1e\"\u003e\u003ccode\u003e9a78aa1\u003c/code\u003e\u003c/a\u003e fix: Remove outdated warning about List columns in unique() (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26295\"\u003e#26295\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26890\"\u003e#26890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/d310d9660731ee491a2da37dfa0ee3984f763fdd\"\u003e\u003ccode\u003ed310d96\u003c/code\u003e\u003c/a\u003e fix: Restore pyarrow predicate conversion for is_in (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26811\"\u003e#26811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/9398fe91b1bb20ced505848ec079313eda146d0f\"\u003e\u003ccode\u003e9398fe9\u003c/code\u003e\u003c/a\u003e fix: Release GIL before df.to_ndarray() to avoid deadlock (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26832\"\u003e#26832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/7e1b8138aae609de4e1f07a6e784f9d558608df1\"\u003e\u003ccode\u003e7e1b813\u003c/code\u003e\u003c/a\u003e fix: Fix panic on CSV count_rows with FORCE_ASYNC (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26883\"\u003e#26883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/f380d60bc3da3c2fbbf84f6f584d3fff8589dcc7\"\u003e\u003ccode\u003ef380d60\u003c/code\u003e\u003c/a\u003e feat: Support Expr for holidays in business day calculations (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26193\"\u003e#26193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/13f88c656a2ba549df0fab180f6ac8ac6fffe567\"\u003e\u003ccode\u003e13f88c6\u003c/code\u003e\u003c/a\u003e fix: Add scalar comparisons for \u003ccode\u003eUInt128\u003c/code\u003e series (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26886\"\u003e#26886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pola-rs/polars/compare/py-1.37.1...py-1.39.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 23.0.0 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-23.0.0...apache-arrow-23.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fsspec` from 2026.1.0 to 2026.2.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/e6668a146cd07b9f50530c49ea3916d8ab13e169\"\u003e\u003ccode\u003ee6668a1\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1989\"\u003e#1989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/b6bd0752c1f133fb5005b4b21c065bde76f2c52b\"\u003e\u003ccode\u003eb6bd075\u003c/code\u003e\u003c/a\u003e fix parquet tests (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1988\"\u003e#1988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/6f825f3ba989893a283cb1f84abcb87953b4ca96\"\u003e\u003ccode\u003e6f825f3\u003c/code\u003e\u003c/a\u003e feat(compression): recover the support of the zstandard (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1986\"\u003e#1986\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1987\"\u003e#1987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/1de5e1db3bf6ba984a1386008f3fff97a406ec90\"\u003e\u003ccode\u003e1de5e1d\u003c/code\u003e\u003c/a\u003e Remove prefetching loop (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1984\"\u003e#1984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/9603a7c8329c7c24b476c77dcf924dda572113f0\"\u003e\u003ccode\u003e9603a7c\u003c/code\u003e\u003c/a\u003e fixes to parquet and known cache (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1982\"\u003e#1982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/2576617e5cbe441bcc53b021bccd85ff3489fde7\"\u003e\u003ccode\u003e2576617\u003c/code\u003e\u003c/a\u003e Support append and update for cached file systems (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1980\"\u003e#1980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/cea9d7c1fa3df31c02aa2ddd5df0cd06a9f4d1f4\"\u003e\u003ccode\u003ecea9d7c\u003c/code\u003e\u003c/a\u003e Return None for size if arrow file is not seekable (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1981\"\u003e#1981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/6e1196304d0ffdeb92372ff2f7ef154253afa92c\"\u003e\u003ccode\u003e6e11963\u003c/code\u003e\u003c/a\u003e Maybe fix column selection (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1979\"\u003e#1979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/635b2efb31d650c84405e97b6c26887361c3a973\"\u003e\u003ccode\u003e635b2ef\u003c/code\u003e\u003c/a\u003e Correct \u003ccode\u003efind\u003c/code\u003e behaviour with different combinations of arguments for `ZipFil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/8ce70ee802856daa540cdbc0bdde302a923288fb\"\u003e\u003ccode\u003e8ce70ee\u003c/code\u003e\u003c/a\u003e Implement created and modified methods from abstract filesystem class… (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1971\"\u003e#1971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/filesystem_spec/compare/2026.1.0...2026.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fonttools` from 4.61.1 to 4.62.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fonttools/fonttools/releases\"\u003efonttools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.62.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[diff] Add new \u003ccode\u003efonttools diff\u003c/code\u003e command for comparing font files, imported from the \u003ccode\u003efdiff\u003c/code\u003e project and heavily reworked (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/1190\"\u003e#1190\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4007\"\u003e#4007\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4009\"\u003e#4009\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4011\"\u003e#4011\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4013\"\u003e#4013\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4019\"\u003e#4019\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e interpolation bug with non-linear avar mappings. Also decouple \u003ccode\u003eVariableScalar\u003c/code\u003e from compiled fonts, allowing it to work with designspace data before compilation (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3938\"\u003e#3938\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4054\"\u003e#4054\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e axis ordering and iterative delta rounding to match fontc behavior (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4053\"\u003e#4053\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Merge chained multi subst rules with same context into a single subtable instead of emitting one subtable per glyph (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4016\"\u003e#4016\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4058\"\u003e#4058\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Pass location to \u003ccode\u003eConditionsetStatement\u003c/code\u003e\u003ccode\u003efontra/fontra-glyphs#130\u003c/code\u003e\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4057\"\u003e#4057\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Write \u003ccode\u003e0xFFFF\u003c/code\u003e instead of \u003ccode\u003e0\u003c/code\u003e for missing nameIDs in \u003ccode\u003ecv\u003c/code\u003e feature params (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4010\"\u003e#4010\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4012\"\u003e#4012\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[cmap] Fix \u003ccode\u003eCmapSubtable.__lt__()\u003c/code\u003e \u003ccode\u003eTypeError\u003c/code\u003e on Python 3 when subtables share the same encoding record, and add compile-time validation for unique encoding records (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4035\"\u003e#4035\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4055\"\u003e#4055\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[svgLib] Skip non-element XML nodes (comments, processing instructions) when drawing SVG paths (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4042\"\u003e#4042\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4043\"\u003e#4043\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[glifLib] Fix regression reading glyph outlines when \u003ccode\u003eglyphObject=None\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4030\"\u003e#4030\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4031\"\u003e#4031\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[pointPen] Fix \u003ccode\u003eSegmentToPointPen\u003c/code\u003e edge case: only remove a duplicate final point on \u003ccode\u003eclosePath()\u003c/code\u003e if it is an on-curve point (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4014\"\u003e#4014\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4015\"\u003e#4015\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[cffLib] \u003cstrong\u003eSECURITY\u003c/strong\u003e Replace \u003ccode\u003eeval()\u003c/code\u003e with \u003ccode\u003esafeEval()\u003c/code\u003e in \u003ccode\u003eparseBlendList()\u003c/code\u003e to prevent arbitrary code execution from crafted TTX files (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4039\"\u003e#4039\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4040\"\u003e#4040\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[ttLib] Remove defunct Adobe SING Glyphlet tables (\u003ccode\u003eMETA\u003c/code\u003e, \u003ccode\u003eSING\u003c/code\u003e, \u003ccode\u003eGMAP\u003c/code\u003e, \u003ccode\u003eGPKG\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4044\"\u003e#4044\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib.interpolatable] Various bugfixes: fix swapped nodeTypes assignment, duplicate kink-detector condition, typos, CFF2 vsindex parsing, glyph existence check, and plot helpers (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4046\"\u003e#4046\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib.models] Fix \u003ccode\u003egetSubModel\u003c/code\u003e not forwarding \u003ccode\u003eextrapolate\u003c/code\u003e/\u003ccode\u003eaxisRanges\u003c/code\u003e; check location uniqueness after stripping zeros (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4047\"\u003e#4047\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib] Fix \u003ccode\u003e--variable-fonts\u003c/code\u003e filter in \u003ccode\u003ebuild_many\u003c/code\u003e; remove dead code and fix comments (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4048\"\u003e#4048\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[avar] Preserve existing name table in build; keep \u003ccode\u003eunbuild\u003c/code\u003e return types consistent; validate \u003ccode\u003emap\u003c/code\u003e CLI coordinates (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4051\"\u003e#4051\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[cu2qu/qu2cu] Add input validation: reject non-positive tolerances, validate curve inputs and list lengths (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4052\"\u003e#4052\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[colorLib] Raise a clear \u003ccode\u003eColorLibError\u003c/code\u003e when base glyphs are missing from glyphMap, instead of a confusing \u003ccode\u003eKeyError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4041\"\u003e#4041\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[glyf] Remove unnecessary \u003ccode\u003efvar\u003c/code\u003e table dependency (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4017\"\u003e#4017\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[fvar/trak] Remove unnecessary \u003ccode\u003ename\u003c/code\u003e table dependency (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4018\"\u003e#4018\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[ufoLib] Relax guideline validation to follow the updated spec (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3537\"\u003e#3537\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3553\"\u003e#3553\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[ttFont] Fix \u003ccode\u003esaveXML\u003c/code\u003e regression with empty table lists, clarify docstring (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4025\"\u003e#4025\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4026\"\u003e#4026\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4056\"\u003e#4056\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[setup.py] Link \u003ccode\u003elibm\u003c/code\u003e for Cython extensions using math functions (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4028\"\u003e#4028\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4029\"\u003e#4029\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd typing annotations for \u003ccode\u003eDSIG\u003c/code\u003e, \u003ccode\u003eDefaultTable\u003c/code\u003e, \u003ccode\u003ettProgram\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4033\"\u003e#4033\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/fonttools/fonttools/blob/main/NEWS.rst\"\u003efonttools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.62.0 (released 2026-03-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[diff] Add new \u003ccode\u003efonttools diff\u003c/code\u003e command for comparing font files, imported from the\n\u003ccode\u003efdiff\u003c/code\u003e project and heavily reworked (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/1190\"\u003e#1190\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4007\"\u003e#4007\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4009\"\u003e#4009\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4011\"\u003e#4011\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4013\"\u003e#4013\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4019\"\u003e#4019\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e interpolation bug with non-linear avar mappings. Also\ndecouple \u003ccode\u003eVariableScalar\u003c/code\u003e from compiled fonts, allowing it to work with designspace data\nbefore compilation (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3938\"\u003e#3938\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4054\"\u003e#4054\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e axis ordering and iterative delta rounding to match fontc\nbehavior (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4053\"\u003e#4053\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Merge chained multi subst rules with same context into a single subtable instead of\nemitting one subtable per glyph (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4016\"\u003e#4016\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4058\"\u003e#4058\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Pass location to \u003ccode\u003eConditionsetStatement\u003c/code\u003e to fix glyphsLib round-tripping\n\u003ccode\u003efontra/fontra-glyphs#130\u003c/code\u003e\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4057\"\u003e#4057\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Write \u003ccode\u003e0xFFFF\u003c/code\u003e instead of \u003ccode\u003e0\u003c/code\u003e for missing nameIDs in \u003ccode\u003ecv\u003c/code\u003e feature params\n(\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4010\"\u003e#4010\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4012\"\u003e#4012\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[cmap] Fix \u003ccode\u003eCmapSubtable.__lt__()\u003c/code\u003e \u003ccode\u003eTypeError\u003c/code\u003e on Python 3 when subtables share the\nsame encoding record, and add compile-time validation for unique encoding records (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4035\"\u003e#4035\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4055\"\u003e#4055\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[svgLib] Skip non-element XML nodes (comments, processing instructions) when drawing SVG\npaths (\u003ca href=\"ht...\n\n_Description has been truncated_","html_url":"https://github.com/eliagroup/ToOp/pull/328","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliagroup%2FToOp/issues/328","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/328/packages"},{"uuid":"4086072905","node_id":"PR_kwDORckIoM7LGgi0","number":286,"state":"open","title":"security(deps): bump the training-dependencies group across 1 directory with 54 updates","user":"dependabot[bot]","labels":["dependencies","python","training"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-17T04:04:37.000Z","updated_at":"2026-03-17T04:36:23.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"security(deps): bump","group_name":"training-dependencies","update_count":54,"packages":[{"name":"numpy","old_version":"1.26.4","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"azure-core","old_version":"1.38.2","new_version":"1.38.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-identity","old_version":"1.25.2","new_version":"1.25.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-ai-ml","old_version":"1.31.0","new_version":"1.32.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"marshmallow","old_version":"3.26.2","new_version":"4.2.2","repository_url":"https://github.com/marshmallow-code/marshmallow"},{"name":"mlflow","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"rsl-rl-lib","old_version":"5.0.0","new_version":"5.0.1","repository_url":"https://github.com/leggedrobotics/rsl_rl"},{"name":"azure-storage-file-datalake","old_version":"12.14.0","new_version":"12.23.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"cachetools","old_version":"6.2.6","new_version":"7.0.5","repository_url":"https://github.com/tkem/cachetools"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.6","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"croniter","old_version":"6.0.0","new_version":"6.2.2","repository_url":"https://github.com/pallets-eco/croniter"},{"name":"cyclopts","old_version":"4.6.0","new_version":"4.10.0","repository_url":"https://github.com/BrianPugh/cyclopts"},{"name":"databricks-sdk","old_version":"0.96.0","new_version":"0.100.0","repository_url":"https://github.com/databricks/databricks-sdk-py"},{"name":"fastmcp","old_version":"2.14.5","new_version":"3.1.1","repository_url":"https://github.com/PrefectHQ/fastmcp"},{"name":"filelock","old_version":"3.25.0","new_version":"3.25.2","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"google-auth","old_version":"2.48.0","new_version":"2.49.1","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"graphql-core","old_version":"3.2.7","new_version":"3.2.8","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"jaraco-context","old_version":"6.1.0","new_version":"6.1.1","repository_url":"https://github.com/jaraco/jaraco.context"},{"name":"kiwisolver","old_version":"1.4.9","new_version":"1.5.0","repository_url":"https://github.com/nucleic/kiwi"},{"name":"mlflow-skinny","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mlflow-tracing","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/mpmath/mpmath"},{"name":"msal","old_version":"1.35.0","new_version":"1.35.1","repository_url":"https://github.com/AzureAD/microsoft-authentication-library-for-python"},{"name":"opentelemetry-api","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-asgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-dbapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-django","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-fastapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-flask","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-psycopg2","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-wsgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-util-http","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"platformdirs","old_version":"4.9.2","new_version":"4.9.4","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"protobuf","old_version":"6.33.5","new_version":"7.34.0","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"py-key-value-aio","old_version":"0.3.0","new_version":"0.4.4"},{"name":"pyarrow","old_version":"21.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"pyasn1","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pydocket","old_version":"0.18.0","new_version":"0.18.2","repository_url":"https://github.com/chrisguidry/docket"},{"name":"pytz","old_version":"2025.2","new_version":"2026.1.post1","repository_url":"https://github.com/stub42/pytz"},{"name":"redis","old_version":"7.2.1","new_version":"7.3.0","repository_url":"https://github.com/redis/redis-py"},{"name":"setuptools","old_version":"82.0.0","new_version":"82.0.1","repository_url":"https://github.com/pypa/setuptools"},{"name":"smmap","old_version":"5.0.2","new_version":"5.0.3","repository_url":"https://github.com/gitpython-developers/smmap"},{"name":"uvicorn","old_version":"0.41.0","new_version":"0.42.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"wrapt","old_version":"1.17.3","new_version":"2.1.2","repository_url":"https://github.com/GrahamDumpleton/wrapt"}],"path":null,"ecosystem":"pip"},"body":"Bumps the training-dependencies group with 54 updates in the /training/rl directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.4.3` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.2` | `1.38.3` |\n| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.25.2` | `1.25.3` |\n| [azure-ai-ml](https://github.com/Azure/azure-sdk-for-python) | `1.31.0` | `1.32.0` |\n| [marshmallow](https://github.com/marshmallow-code/marshmallow) | `3.26.2` | `4.2.2` |\n| [mlflow](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [rsl-rl-lib](https://github.com/leggedrobotics/rsl_rl) | `5.0.0` | `5.0.1` |\n| [azure-storage-file-datalake](https://github.com/Azure/azure-sdk-for-python) | `12.14.0` | `12.23.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.6` | `7.0.5` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.6` |\n| [croniter](https://github.com/pallets-eco/croniter) | `6.0.0` | `6.2.2` |\n| [cyclopts](https://github.com/BrianPugh/cyclopts) | `4.6.0` | `4.10.0` |\n| [databricks-sdk](https://github.com/databricks/databricks-sdk-py) | `0.96.0` | `0.100.0` |\n| [fastmcp](https://github.com/PrefectHQ/fastmcp) | `2.14.5` | `3.1.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.25.0` | `3.25.2` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.1` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.48.0` | `2.49.1` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.7` | `3.2.8` |\n| [jaraco-context](https://github.com/jaraco/jaraco.context) | `6.1.0` | `6.1.1` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.9` | `1.5.0` |\n| [mlflow-skinny](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mlflow-tracing](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.1` |\n| [msal](https://github.com/AzureAD/microsoft-authentication-library-for-python) | `1.35.0` | `1.35.1` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-asgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-dbapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-django](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-flask](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-psycopg2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-wsgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b0` | `0.61b0` |\n| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.9.2` | `4.9.4` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.5` | `7.34.0` |\n| py-key-value-aio | `0.3.0` | `0.4.4` |\n| [pyarrow](https://github.com/apache/arrow) | `21.0.0` | `23.0.1` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.6.2` | `0.6.3` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| [pydocket](https://github.com/chrisguidry/docket) | `0.18.0` | `0.18.2` |\n| [pytz](https://github.com/stub42/pytz) | `2025.2` | `2026.1.post1` |\n| [redis](https://github.com/redis/redis-py) | `7.2.1` | `7.3.0` |\n| [setuptools](https://github.com/pypa/setuptools) | `82.0.0` | `82.0.1` |\n| [smmap](https://github.com/gitpython-developers/smmap) | `5.0.2` | `5.0.3` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.41.0` | `0.42.0` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.2` |\n\n\nUpdates `numpy` from 1.26.4 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/v1.26.4...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-core` from 1.38.2 to 1.38.3\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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-core_1.38.3\u003c/h2\u003e\n\u003ch2\u003e1.38.3 (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ePipelineClient.format_url\u003c/code\u003e to preserve trailing slash in the base URL when the URL template is query-string-only (e.g., \u003ccode\u003e?key=value\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45365\"\u003e#45365\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSensitiveHeaderCleanupPolicy\u003c/code\u003e to persist the \u003ccode\u003einsecure_domain_change\u003c/code\u003e flag across retries after a cross-domain redirect. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45518\"\u003e#45518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded jitter to token refresh timing in \u003ccode\u003eBearerTokenCredentialPolicy\u003c/code\u003e and \u003ccode\u003eAsyncBearerTokenCredentialPolicy\u003c/code\u003e to prevent simultaneous token refresh attempts across multiple processes. This helps mitigate the thundering herd problem during token refresh operations. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43720\"\u003e#43720\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/Azure/azure-sdk-for-python/commit/c6e48b5cd71adf5728a5e2f33bc9f62fb221221f\"\u003e\u003ccode\u003ec6e48b5\u003c/code\u003e\u003c/a\u003e [Core] Prepare release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45656\"\u003e#45656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/079e76bb7bef96cf1027777afc69995b6024b857\"\u003e\u003ccode\u003e079e76b\u003c/code\u003e\u003c/a\u003e Port data-plane packages in sdk/core/ to pyproject.toml (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45556\"\u003e#45556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2117dfb31ed48fe429ef2604aeb89526e9496c66\"\u003e\u003ccode\u003e2117dfb\u003c/code\u003e\u003c/a\u003e [Core] Persist cross domain redirect flag (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45518\"\u003e#45518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2d0a9aa509c220d575c33e81207a5b6dedb5f148\"\u003e\u003ccode\u003e2d0a9aa\u003c/code\u003e\u003c/a\u003e [Core] Update pytest fixture scope (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45563\"\u003e#45563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/4c4c8698d61f2ad60296ef0cf7c64f7837cdc5a3\"\u003e\u003ccode\u003e4c4c869\u003c/code\u003e\u003c/a\u003e [Core] Add jitter to token refresh intervals (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43720\"\u003e#43720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/41391f1e7b5ad52e3d480a7adcbf3fa5b99e2326\"\u003e\u003ccode\u003e41391f1\u003c/code\u003e\u003c/a\u003e [azure-core] Fix \u003ccode\u003eformat_url\u003c/code\u003e dropping trailing slash when URL template is qu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/9fdb4f1a9764b466a408eeed45ce59da97e150a5\"\u003e\u003ccode\u003e9fdb4f1\u003c/code\u003e\u003c/a\u003e [Corehttp] Changelog update (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45113\"\u003e#45113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/f40b764989ce757cd35698cae9c91b3a52c0b7a9\"\u003e\u003ccode\u003ef40b764\u003c/code\u003e\u003c/a\u003e Increment package version after release of azure-core (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45246\"\u003e#45246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-core_1.38.2...azure-core_1.38.3\"\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.25.2 to 1.25.3\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-identity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-identity_1.25.3\u003c/h2\u003e\n\u003ch2\u003e1.25.3 (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an expired token could skip refresh when a recent token request was made, due to the retry delay taking precedence over expiration. (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/45496\"\u003e#45496\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBumped minimum dependency on \u003ccode\u003emsal\u003c/code\u003e to \u003ccode\u003e\u0026gt;=1.35.1\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/Azure/azure-sdk-for-python/commit/a989ea467731265fdf097b622ba254703187746b\"\u003e\u003ccode\u003ea989ea4\u003c/code\u003e\u003c/a\u003e [Identity] Prep patch release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/79728834e7f38018d372860cf9117bf51d9ed417\"\u003e\u003ccode\u003e7972883\u003c/code\u003e\u003c/a\u003e [Identity] Adjust refresh logic (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45496\"\u003e#45496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/04764a9a8a0cb59aab6421b41152246853dfcfe8\"\u003e\u003ccode\u003e04764a9\u003c/code\u003e\u003c/a\u003e add psscript to convert apiview json files to md (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45589\"\u003e#45589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/50e01659d7204865dfa07c5ece1019ed9a229b4f\"\u003e\u003ccode\u003e50e0165\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 14461 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45646\"\u003e#45646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/5333117e0e181404ff4deaa757e9b6ef86dabf8b\"\u003e\u003ccode\u003e5333117\u003c/code\u003e\u003c/a\u003e Add Bo to /sdk/ai/azure-ai-projects owner list (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45664\"\u003e#45664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/775d6942e4335422fc69da8e997a6069e356b104\"\u003e\u003ccode\u003e775d694\u003c/code\u003e\u003c/a\u003e Doc and automation updates for .github sync directory changes (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45630\"\u003e#45630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/c6e48b5cd71adf5728a5e2f33bc9f62fb221221f\"\u003e\u003ccode\u003ec6e48b5\u003c/code\u003e\u003c/a\u003e [Core] Prepare release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45656\"\u003e#45656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/ae769c4e9379c8d309bffa5ccb76dcfba64e1f71\"\u003e\u003ccode\u003eae769c4\u003c/code\u003e\u003c/a\u003e Fix custom Memory Stores LRO poller operation (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45662\"\u003e#45662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/6074492844d670316eb171756483f1394a6c94c7\"\u003e\u003ccode\u003e6074492\u003c/code\u003e\u003c/a\u003e Add asset id none check in dt (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45618\"\u003e#45618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/e1a986aeb7a8001bd3a4f336cf096c2b050aa480\"\u003e\u003ccode\u003ee1a986a\u003c/code\u003e\u003c/a\u003e Bump tar from 7.5.10 to 7.5.11 in /eng/common/tsp-client (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45640\"\u003e#45640\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.25.2...azure-identity_1.25.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-ai-ml` from 1.31.0 to 1.32.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-ai-ml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-ai-ml_1.32.0\u003c/h2\u003e\n\u003ch2\u003e1.32.0 (2026-03-04)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip _list_secrets for identity-based datastores to prevent noisy telemetry traces.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4f79bdf278eaa55e855884dbd9bd841d62c7583c\"\u003e\u003ccode\u003e4f79bdf\u003c/code\u003e\u003c/a\u003e Remove empty 'Other Changes' section from CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/fe81c2e887e21aad87f63c476f71f4444f8deaab\"\u003e\u003ccode\u003efe81c2e\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 1.32.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/b5e228067bf3e66f04074a893e30eda239e13f0f\"\u003e\u003ccode\u003eb5e2280\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2ddc7b9c3d0c1f05304ff1bb53863b730e6edb1d\"\u003e\u003ccode\u003e2ddc7b9\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-artifactsigning]-generated-from-SDK Generation - Python-58...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/c270319e20141ce00ac29959f3a5aad1836c4176\"\u003e\u003ccode\u003ec270319\u003c/code\u003e\u003c/a\u003e App Configuration - Snapshot references (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44116\"\u003e#44116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/f6050668fd6308858a3dabc8e5d660c563b033b0\"\u003e\u003ccode\u003ef605066\u003c/code\u003e\u003c/a\u003e [CODEOWNERS Data Quality] Fix up CODEOWNERS (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44945\"\u003e#44945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/47e90c151dfde889db32985b8ec0b0d7edcfa167\"\u003e\u003ccode\u003e47e90c1\u003c/code\u003e\u003c/a\u003e Use azpysdk ApiStub in CI (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44439\"\u003e#44439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/7700f5a8eae238b6e9777da321cd20b5fe6a7100\"\u003e\u003ccode\u003e7700f5a\u003c/code\u003e\u003c/a\u003e [VoiceLive] Add code owners (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45191\"\u003e#45191\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/a9b472fb0526d64c3eb6d55d7d14ff63c8a761fe\"\u003e\u003ccode\u003ea9b472f\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-managedops]-generated-from-SDK Generation - Python-5788712...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/bef7492d4b2d346178adea165eff23fafe838c0c\"\u003e\u003ccode\u003ebef7492\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-postgresqlflexibleservers]-generated-from-SDK Generation -...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-ai-ml_1.31.0...azure-ai-ml_1.32.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marshmallow` from 3.26.2 to 4.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/marshmallow-code/marshmallow/blob/dev/CHANGELOG.rst\"\u003emarshmallow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.2 (2026-02-04)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix behavior of \u003ccode\u003efields.Contant(None)\u003c/code\u003e (:issue:\u003ccode\u003e2868\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for reporting and \u003ccode\u003eemmanuel-ferdman\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.1 (2026-01-23)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix validation of URLs beginning with uppercare \u003ccode\u003eFILE\u003c/code\u003e (:issue:\u003ccode\u003e2891\u003c/code\u003e).\nThanks :user:\u003ccode\u003ethanhlecongg\u003c/code\u003e for reporting and fixing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.0 (2026-01-04)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emany\u003c/code\u003e argument of \u003ccode\u003eNested\u003c/code\u003e properly overrides schema instance\nvalue (:pr:\u003ccode\u003e2854\u003c/code\u003e). Thanks :user:\u003ccode\u003ejafournier\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.2 (2025-12-19)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:cve:\u003ccode\u003e2025-68480\u003c/code\u003e: Merge error store messages without rebuilding collections.\nThanks 카푸치노 for reporting and :user:\u003ccode\u003edeckar01\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.1 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003eURL\u003c/code\u003e validator is case-insensitive when using custom schemes (:pr:\u003ccode\u003e2874\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.0 (2025-11-01)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e__len__\u003c/code\u003e implementation to \u003ccode\u003emissing\u003c/code\u003e so that it can be used with\n\u003ccode\u003evalidate.Length \u0026lt;marshmallow.validate.Length\u0026gt;\u003c/code\u003e (:pr:\u003ccode\u003e2861\u003c/code\u003e).\nThanks :user:\u003ccode\u003eagentgodzilla\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (:pr:\u003ccode\u003e2363\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/marshmallow-code/marshmallow/commit/2a3812d5049c83e98db60a0869919521f97cd77d\"\u003e\u003ccode\u003e2a3812d\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/19ca8dce2d5bde94509a4a89e495f35c695442d5\"\u003e\u003ccode\u003e19ca8dc\u003c/code\u003e\u003c/a\u003e Fix Constant field rejecting None values during load (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2894\"\u003e#2894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/213ee3a020e24fb26ead3a2285ba0402c90080ce\"\u003e\u003ccode\u003e213ee3a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2896\"\u003e#2896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/ba8b512b24ebf4789099f1afafe9256b1bda950e\"\u003e\u003ccode\u003eba8b512\u003c/code\u003e\u003c/a\u003e Update AUTHORS.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/40105adb3b3916dda5dcd16133d29ad44e7a33b9\"\u003e\u003ccode\u003e40105ad\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/39e7c833e9c8711a49d6d710f7e3ee5cf2effbbe\"\u003e\u003ccode\u003e39e7c83\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2892\"\u003e#2892\u003c/a\u003e from thanhlecongg/fix-2891\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/78a94ea0e7ee9f35f8322318064232fe6147f190\"\u003e\u003ccode\u003e78a94ea\u003c/code\u003e\u003c/a\u003e Fix docstring typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/8dc078e2b86312988e5f7ed32849ae0788779e81\"\u003e\u003ccode\u003e8dc078e\u003c/code\u003e\u003c/a\u003e fix issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c62b9113dc0ec136eb24214b6eb6f856af8f5df3\"\u003e\u003ccode\u003ec62b911\u003c/code\u003e\u003c/a\u003e add tests for issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/d07bf5e3d218cd5ffa1fcd1dce411f7a5c88e256\"\u003e\u003ccode\u003ed07bf5e\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2887\"\u003e#2887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/marshmallow-code/marshmallow/compare/3.26.2...4.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow` from 3.5.0 to 3.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/releases\"\u003emlflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gateway] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.10.0, which includes several notable updates:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.1 (2026-03-05)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.10.0 (2026-02-20)\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/mlflow/mlflow/commit/cadc323c059d08ee15c3a312afd0eefeeccedc94\"\u003e\u003ccode\u003ecadc323\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1 (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21396\"\u003e#21396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3d17d6c58e1e0078c062321322fc76b1b822ab6d\"\u003e\u003ccode\u003e3d17d6c\u003c/code\u003e\u003c/a\u003e Add back virtualenv to fix the docker build until the next release (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3cfc12fe1359afbade834a74f57e0bbe2ef4531c\"\u003e\u003ccode\u003e3cfc12f\u003c/code\u003e\u003c/a\u003e Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/bcaad26df7e825fe15d4deffa0f05478e010bc10\"\u003e\u003ccode\u003ebcaad26\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/ff3249ff8a5f62e344f382d5fcdb419379780c78\"\u003e\u003ccode\u003eff3249f\u003c/code\u003e\u003c/a\u003e Update GenAI link and video in the getting started page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1591d038ae47271382fddd2b8653286af7c31138\"\u003e\u003ccode\u003e1591d03\u003c/code\u003e\u003c/a\u003e Persist AI Gateway default passphrase security banner dismissal to localStora...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/32979c9e560346a54d05ba7ff53434f215c5958f\"\u003e\u003ccode\u003e32979c9\u003c/code\u003e\u003c/a\u003e Demote unused parameters log message from WARNING to DEBUG in instructions ju...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/18eeea03c3d0af5b915bb3880a71198b5123e0bd\"\u003e\u003ccode\u003e18eeea0\u003c/code\u003e\u003c/a\u003e Make simulator explicitly avoid stating goal in first message (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/42d4356e18c0c2548ff3b290b11f36a992530d9d\"\u003e\u003ccode\u003e42d4356\u003c/code\u003e\u003c/a\u003e Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1a14934cc0116ddd91fb693e2b52bed12683521a\"\u003e\u003ccode\u003e1a14934\u003c/code\u003e\u003c/a\u003e Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.5.0...v3.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 25.0 to 26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0\u003c/h2\u003e\n\u003cp\u003eRead about the performance improvements here: \u003ca href=\"https://iscinumpy.dev/post/packaging-faster\"\u003ehttps://iscinumpy.dev/post/packaging-faster\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/900\"\u003epypa/packaging#900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata by \u003ca href=\"https://github.com/brettcannon\"\u003e\u003ccode\u003e@​brettcannon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/948\"\u003epypa/packaging#948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport writing metadata by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/846\"\u003epypa/packaging#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e for \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1003\"\u003epypa/packaging#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifier\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1004\"\u003epypa/packaging#1004\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/897\"\u003epypa/packaging#897\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/942\"\u003epypa/packaging#942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/951\"\u003epypa/packaging#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/932\"\u003epypa/packaging#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/954\"\u003epypa/packaging#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparsions by \u003ca href=\"https://github.com/JP-Ellis\"\u003e\u003ccode\u003e@​JP-Ellis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/939\"\u003epypa/packaging#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e by \u003ca href=\"https://github.com/dholth\"\u003e\u003ccode\u003e@​dholth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/860\"\u003epypa/packaging#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/896\"\u003epypa/packaging#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/868\"\u003epypa/packaging#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e by \u003ca href=\"https://github.com/bwoodsend\"\u003e\u003ccode\u003e@​bwoodsend\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/879\"\u003epypa/packaging#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format by \u003ca href=\"https://github.com/di\"\u003e\u003ccode\u003e@​di\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/925\"\u003epypa/packaging#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon by \u003ca href=\"https://github.com/pradyunsg\"\u003e\u003ccode\u003e@​pradyunsg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/833\"\u003epypa/packaging#833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/931\"\u003epypa/packaging#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/953\"\u003epypa/packaging#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA root logger use found by ruff LOG, use \u003ccode\u003epackaging\u003c/code\u003e logger instead by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/965\"\u003epypa/packaging#965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1022\"\u003epypa/packaging#1022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1024\"\u003epypa/packaging#1024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1033\"\u003epypa/packaging#1033\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup by \u003ca href=\"https://github.com/hauntsaninja\"\u003e\u003ccode\u003e@​hauntsaninja\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1019\"\u003epypa/packaging#1019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/869\"\u003epypa/packaging#869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/bearomorphism\"\u003e\u003ccode\u003e@​bearomorphism\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/913\"\u003epypa/packaging#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003es in specifier comparison by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/986\"\u003epypa/packaging#986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eSpecifier\u003c/code\u003e's Version by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/985\"\u003epypa/packaging#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/987\"\u003epypa/packaging#987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/990\"\u003epypa/packaging#990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/988\"\u003epypa/packaging#988\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1055\"\u003epypa/packaging#1055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/989\"\u003epypa/packaging#989\u003c/a\u003e and regression for \u003ccode\u003epackaging_legacy\u003c/code\u003e fixed by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1048\"\u003epypa/packaging#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/993\"\u003epypa/packaging#993\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efullmatch\u003c/code\u003e in a couple more places by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/992\"\u003epypa/packaging#992\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/blob/main/CHANGELOG.rst\"\u003epackaging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e26.0 - 2026-01-20\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nFeatures:\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock (:pull:\u003ccode\u003e900\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata (:pull:\u003ccode\u003e948\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport for writing metadata to a file (:pull:\u003ccode\u003e846\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e on Version (:pull:\u003ccode\u003e1003\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e1004\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e897\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e951\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version (:pull:\u003ccode\u003e932\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. (:pull:\u003ccode\u003e954\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparisons (:pull:\u003ccode\u003e939\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e (:pull:\u003ccode\u003e860\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e (:pull:\u003ccode\u003e896\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e (:pull:\u003ccode\u003e868\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e (:pull:\u003ccode\u003e879\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format (:pull:\u003ccode\u003e925\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon (:pull:\u003ccode\u003e833\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions (:pull:\u003ccode\u003e931\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string (:pull:\u003ccode\u003e953\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eA root logger use found, use a \u003ccode\u003epackaging\u003c/code\u003e logger instead (:pull:\u003ccode\u003e965\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e (:pull:\u003ccode\u003e1022\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first (:pull:\u003ccode\u003e1024\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct (:pull:\u003ccode\u003e1033\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup (:pull:\u003ccode\u003e1019\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e (:pull:\u003ccode\u003e869\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e913\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003e's in specifier comparison (:pull:\u003ccode\u003e986\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCache the \u003ccode\u003eSpecifier\u003c/code\u003e's \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e985\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster (:pull:\u003ccode\u003e987\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup (:pull:\u003ccode\u003e990\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ for \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e988\u003c/code\u003e, :pull:\u003ccode\u003e1055\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e989\u003c/code\u003e, :pull:\u003ccode\u003e1048\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e (:pull:\u003ccode\u003e993\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ere.fullmatch\u003c/code\u003e in a couple more places (:pull:\u003ccode\u003e992\u003c/code\u003e, :pull:\u003ccode\u003e1029\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003emap\u003c/code\u003e instead of generator (:pull:\u003ccode\u003e996\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003e._version\u003c/code\u003e (\u003ccode\u003e_Version\u003c/code\u003e, a \u003ccode\u003eNamedTuple\u003c/code\u003e) (:pull:\u003ccode\u003e995\u003c/code\u003e, :pull:\u003ccode\u003e106...\n\n_Description has been truncated_","html_url":"https://github.com/microsoft/physical-ai-toolchain/pull/286","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fphysical-ai-toolchain/issues/286","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/286/packages"},{"uuid":"4085856754","node_id":"PR_kwDORckIoM7LF2od","number":285,"state":"closed","title":"chore(deps): bump the training-dependencies group across 1 directory with 57 updates","user":"dependabot[bot]","labels":["dependencies","python","training"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-03-17T04:01:06.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-17T02:36:10.000Z","updated_at":"2026-03-17T04:38:38.000Z","time_to_close":5096,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"training-dependencies","update_count":57,"packages":[{"name":"numpy","old_version":"1.26.4","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"azure-core","old_version":"1.38.1","new_version":"1.38.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-blob","old_version":"12.19.0","new_version":"12.28.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-identity","old_version":"1.25.2","new_version":"1.25.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-ai-ml","old_version":"1.31.0","new_version":"1.32.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"marshmallow","old_version":"3.26.2","new_version":"4.2.2","repository_url":"https://github.com/marshmallow-code/marshmallow"},{"name":"mlflow","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"azureml-mlflow","old_version":"1.61.0.post1","new_version":"1.62.0","repository_url":"https://github.com/Azure/MachineLearningNotebooks"},{"name":"rsl-rl-lib","old_version":"4.0.1","new_version":"5.0.1","repository_url":"https://github.com/leggedrobotics/rsl_rl"},{"name":"azure-storage-file-datalake","old_version":"12.14.0","new_version":"12.23.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"cachetools","old_version":"6.2.6","new_version":"7.0.5","repository_url":"https://github.com/tkem/cachetools"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.6","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"croniter","old_version":"6.0.0","new_version":"6.2.2","repository_url":"https://github.com/pallets-eco/croniter"},{"name":"cyclopts","old_version":"4.6.0","new_version":"4.10.0","repository_url":"https://github.com/BrianPugh/cyclopts"},{"name":"databricks-sdk","old_version":"0.96.0","new_version":"0.100.0","repository_url":"https://github.com/databricks/databricks-sdk-py"},{"name":"fastmcp","old_version":"2.14.5","new_version":"3.1.1","repository_url":"https://github.com/PrefectHQ/fastmcp"},{"name":"filelock","old_version":"3.25.0","new_version":"3.25.2","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"google-auth","old_version":"2.48.0","new_version":"2.49.1","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"graphql-core","old_version":"3.2.7","new_version":"3.2.8","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"gunicorn","old_version":"23.0.0","new_version":"25.1.0","repository_url":"https://github.com/benoitc/gunicorn"},{"name":"jaraco-context","old_version":"6.1.0","new_version":"6.1.1","repository_url":"https://github.com/jaraco/jaraco.context"},{"name":"kiwisolver","old_version":"1.4.9","new_version":"1.5.0","repository_url":"https://github.com/nucleic/kiwi"},{"name":"mlflow-skinny","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mlflow-tracing","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/mpmath/mpmath"},{"name":"msal","old_version":"1.35.0","new_version":"1.35.1","repository_url":"https://github.com/AzureAD/microsoft-authentication-library-for-python"},{"name":"opentelemetry-api","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-asgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-dbapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-django","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-fastapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-flask","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-psycopg2","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-wsgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-util-http","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"platformdirs","old_version":"4.9.2","new_version":"4.9.4","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"protobuf","old_version":"6.33.5","new_version":"7.34.0","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"py-key-value-aio","old_version":"0.3.0","new_version":"0.4.4"},{"name":"pyarrow","old_version":"21.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"pyasn1","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pydocket","old_version":"0.18.0","new_version":"0.18.2","repository_url":"https://github.com/chrisguidry/docket"},{"name":"pytz","old_version":"2025.2","new_version":"2026.1.post1","repository_url":"https://github.com/stub42/pytz"},{"name":"redis","old_version":"7.2.1","new_version":"7.3.0","repository_url":"https://github.com/redis/redis-py"},{"name":"setuptools","old_version":"82.0.0","new_version":"82.0.1","repository_url":"https://github.com/pypa/setuptools"},{"name":"smmap","old_version":"5.0.2","new_version":"5.0.3","repository_url":"https://github.com/gitpython-developers/smmap"},{"name":"uvicorn","old_version":"0.41.0","new_version":"0.42.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"wrapt","old_version":"1.17.3","new_version":"2.1.2","repository_url":"https://github.com/GrahamDumpleton/wrapt"}],"path":null,"ecosystem":"pip"},"body":"Bumps the training-dependencies group with 57 updates in the /training/rl directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.4.3` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.1` | `1.38.3` |\n| [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python) | `12.19.0` | `12.28.0` |\n| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.25.2` | `1.25.3` |\n| [azure-ai-ml](https://github.com/Azure/azure-sdk-for-python) | `1.31.0` | `1.32.0` |\n| [marshmallow](https://github.com/marshmallow-code/marshmallow) | `3.26.2` | `4.2.2` |\n| [mlflow](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [azureml-mlflow](https://github.com/Azure/MachineLearningNotebooks) | `1.61.0.post1` | `1.62.0` |\n| [rsl-rl-lib](https://github.com/leggedrobotics/rsl_rl) | `4.0.1` | `5.0.1` |\n| [azure-storage-file-datalake](https://github.com/Azure/azure-sdk-for-python) | `12.14.0` | `12.23.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.6` | `7.0.5` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.6` |\n| [croniter](https://github.com/pallets-eco/croniter) | `6.0.0` | `6.2.2` |\n| [cyclopts](https://github.com/BrianPugh/cyclopts) | `4.6.0` | `4.10.0` |\n| [databricks-sdk](https://github.com/databricks/databricks-sdk-py) | `0.96.0` | `0.100.0` |\n| [fastmcp](https://github.com/PrefectHQ/fastmcp) | `2.14.5` | `3.1.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.25.0` | `3.25.2` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.1` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.48.0` | `2.49.1` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.7` | `3.2.8` |\n| [gunicorn](https://github.com/benoitc/gunicorn) | `23.0.0` | `25.1.0` |\n| [jaraco-context](https://github.com/jaraco/jaraco.context) | `6.1.0` | `6.1.1` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.9` | `1.5.0` |\n| [mlflow-skinny](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mlflow-tracing](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.1` |\n| [msal](https://github.com/AzureAD/microsoft-authentication-library-for-python) | `1.35.0` | `1.35.1` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-asgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-dbapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-django](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-flask](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-psycopg2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-wsgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b0` | `0.61b0` |\n| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.9.2` | `4.9.4` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.5` | `7.34.0` |\n| py-key-value-aio | `0.3.0` | `0.4.4` |\n| [pyarrow](https://github.com/apache/arrow) | `21.0.0` | `23.0.1` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.6.2` | `0.6.3` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| [pydocket](https://github.com/chrisguidry/docket) | `0.18.0` | `0.18.2` |\n| [pytz](https://github.com/stub42/pytz) | `2025.2` | `2026.1.post1` |\n| [redis](https://github.com/redis/redis-py) | `7.2.1` | `7.3.0` |\n| [setuptools](https://github.com/pypa/setuptools) | `82.0.0` | `82.0.1` |\n| [smmap](https://github.com/gitpython-developers/smmap) | `5.0.2` | `5.0.3` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.41.0` | `0.42.0` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.2` |\n\n\nUpdates `numpy` from 1.26.4 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/v1.26.4...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-core` from 1.38.1 to 1.38.3\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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-core_1.38.3\u003c/h2\u003e\n\u003ch2\u003e1.38.3 (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ePipelineClient.format_url\u003c/code\u003e to preserve trailing slash in the base URL when the URL template is query-string-only (e.g., \u003ccode\u003e?key=value\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45365\"\u003e#45365\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSensitiveHeaderCleanupPolicy\u003c/code\u003e to persist the \u003ccode\u003einsecure_domain_change\u003c/code\u003e flag across retries after a cross-domain redirect. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45518\"\u003e#45518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded jitter to token refresh timing in \u003ccode\u003eBearerTokenCredentialPolicy\u003c/code\u003e and \u003ccode\u003eAsyncBearerTokenCredentialPolicy\u003c/code\u003e to prevent simultaneous token refresh attempts across multiple processes. This helps mitigate the thundering herd problem during token refresh operations. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43720\"\u003e#43720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eazure-core_1.38.2\u003c/h2\u003e\n\u003ch2\u003e1.38.2 (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ePipelineClient.format_url\u003c/code\u003e to preserve the leading slash when the URL template starts with \u003ccode\u003e/?\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45218\"\u003e#45218\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/Azure/azure-sdk-for-python/commit/c6e48b5cd71adf5728a5e2f33bc9f62fb221221f\"\u003e\u003ccode\u003ec6e48b5\u003c/code\u003e\u003c/a\u003e [Core] Prepare release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45656\"\u003e#45656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/079e76bb7bef96cf1027777afc69995b6024b857\"\u003e\u003ccode\u003e079e76b\u003c/code\u003e\u003c/a\u003e Port data-plane packages in sdk/core/ to pyproject.toml (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45556\"\u003e#45556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2117dfb31ed48fe429ef2604aeb89526e9496c66\"\u003e\u003ccode\u003e2117dfb\u003c/code\u003e\u003c/a\u003e [Core] Persist cross domain redirect flag (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45518\"\u003e#45518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2d0a9aa509c220d575c33e81207a5b6dedb5f148\"\u003e\u003ccode\u003e2d0a9aa\u003c/code\u003e\u003c/a\u003e [Core] Update pytest fixture scope (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45563\"\u003e#45563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/4c4c8698d61f2ad60296ef0cf7c64f7837cdc5a3\"\u003e\u003ccode\u003e4c4c869\u003c/code\u003e\u003c/a\u003e [Core] Add jitter to token refresh intervals (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43720\"\u003e#43720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/41391f1e7b5ad52e3d480a7adcbf3fa5b99e2326\"\u003e\u003ccode\u003e41391f1\u003c/code\u003e\u003c/a\u003e [azure-core] Fix \u003ccode\u003eformat_url\u003c/code\u003e dropping trailing slash when URL template is qu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/9fdb4f1a9764b466a408eeed45ce59da97e150a5\"\u003e\u003ccode\u003e9fdb4f1\u003c/code\u003e\u003c/a\u003e [Corehttp] Changelog update (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45113\"\u003e#45113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/f40b764989ce757cd35698cae9c91b3a52c0b7a9\"\u003e\u003ccode\u003ef40b764\u003c/code\u003e\u003c/a\u003e Increment package version after release of azure-core (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45246\"\u003e#45246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/3e9fec2338ae644e380401dec9e407706cb27115\"\u003e\u003ccode\u003e3e9fec2\u003c/code\u003e\u003c/a\u003e [Core] Update changelog (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45230\"\u003e#45230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/b5f8d700bf670c475692fd1de087d696af72b66c\"\u003e\u003ccode\u003eb5f8d70\u003c/code\u003e\u003c/a\u003e [Core] Fix format_url to allow leading slash if specified (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45218\"\u003e#45218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-core_1.38.1...azure-core_1.38.3\"\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.19.0 to 12.28.0\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.19.0...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 `azure-identity` from 1.25.2 to 1.25.3\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-identity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-identity_1.25.3\u003c/h2\u003e\n\u003ch2\u003e1.25.3 (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an expired token could skip refresh when a recent token request was made, due to the retry delay taking precedence over expiration. (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/45496\"\u003e#45496\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBumped minimum dependency on \u003ccode\u003emsal\u003c/code\u003e to \u003ccode\u003e\u0026gt;=1.35.1\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/Azure/azure-sdk-for-python/commit/a989ea467731265fdf097b622ba254703187746b\"\u003e\u003ccode\u003ea989ea4\u003c/code\u003e\u003c/a\u003e [Identity] Prep patch release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/79728834e7f38018d372860cf9117bf51d9ed417\"\u003e\u003ccode\u003e7972883\u003c/code\u003e\u003c/a\u003e [Identity] Adjust refresh logic (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45496\"\u003e#45496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/04764a9a8a0cb59aab6421b41152246853dfcfe8\"\u003e\u003ccode\u003e04764a9\u003c/code\u003e\u003c/a\u003e add psscript to convert apiview json files to md (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45589\"\u003e#45589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/50e01659d7204865dfa07c5ece1019ed9a229b4f\"\u003e\u003ccode\u003e50e0165\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 14461 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45646\"\u003e#45646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/5333117e0e181404ff4deaa757e9b6ef86dabf8b\"\u003e\u003ccode\u003e5333117\u003c/code\u003e\u003c/a\u003e Add Bo to /sdk/ai/azure-ai-projects owner list (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45664\"\u003e#45664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/775d6942e4335422fc69da8e997a6069e356b104\"\u003e\u003ccode\u003e775d694\u003c/code\u003e\u003c/a\u003e Doc and automation updates for .github sync directory changes (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45630\"\u003e#45630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/c6e48b5cd71adf5728a5e2f33bc9f62fb221221f\"\u003e\u003ccode\u003ec6e48b5\u003c/code\u003e\u003c/a\u003e [Core] Prepare release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45656\"\u003e#45656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/ae769c4e9379c8d309bffa5ccb76dcfba64e1f71\"\u003e\u003ccode\u003eae769c4\u003c/code\u003e\u003c/a\u003e Fix custom Memory Stores LRO poller operation (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45662\"\u003e#45662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/6074492844d670316eb171756483f1394a6c94c7\"\u003e\u003ccode\u003e6074492\u003c/code\u003e\u003c/a\u003e Add asset id none check in dt (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45618\"\u003e#45618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/e1a986aeb7a8001bd3a4f336cf096c2b050aa480\"\u003e\u003ccode\u003ee1a986a\u003c/code\u003e\u003c/a\u003e Bump tar from 7.5.10 to 7.5.11 in /eng/common/tsp-client (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45640\"\u003e#45640\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.25.2...azure-identity_1.25.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-ai-ml` from 1.31.0 to 1.32.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-ai-ml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-ai-ml_1.32.0\u003c/h2\u003e\n\u003ch2\u003e1.32.0 (2026-03-04)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip _list_secrets for identity-based datastores to prevent noisy telemetry traces.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4f79bdf278eaa55e855884dbd9bd841d62c7583c\"\u003e\u003ccode\u003e4f79bdf\u003c/code\u003e\u003c/a\u003e Remove empty 'Other Changes' section from CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/fe81c2e887e21aad87f63c476f71f4444f8deaab\"\u003e\u003ccode\u003efe81c2e\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 1.32.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/b5e228067bf3e66f04074a893e30eda239e13f0f\"\u003e\u003ccode\u003eb5e2280\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2ddc7b9c3d0c1f05304ff1bb53863b730e6edb1d\"\u003e\u003ccode\u003e2ddc7b9\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-artifactsigning]-generated-from-SDK Generation - Python-58...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/c270319e20141ce00ac29959f3a5aad1836c4176\"\u003e\u003ccode\u003ec270319\u003c/code\u003e\u003c/a\u003e App Configuration - Snapshot references (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44116\"\u003e#44116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/f6050668fd6308858a3dabc8e5d660c563b033b0\"\u003e\u003ccode\u003ef605066\u003c/code\u003e\u003c/a\u003e [CODEOWNERS Data Quality] Fix up CODEOWNERS (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44945\"\u003e#44945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/47e90c151dfde889db32985b8ec0b0d7edcfa167\"\u003e\u003ccode\u003e47e90c1\u003c/code\u003e\u003c/a\u003e Use azpysdk ApiStub in CI (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44439\"\u003e#44439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/7700f5a8eae238b6e9777da321cd20b5fe6a7100\"\u003e\u003ccode\u003e7700f5a\u003c/code\u003e\u003c/a\u003e [VoiceLive] Add code owners (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45191\"\u003e#45191\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/a9b472fb0526d64c3eb6d55d7d14ff63c8a761fe\"\u003e\u003ccode\u003ea9b472f\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-managedops]-generated-from-SDK Generation - Python-5788712...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/bef7492d4b2d346178adea165eff23fafe838c0c\"\u003e\u003ccode\u003ebef7492\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-postgresqlflexibleservers]-generated-from-SDK Generation -...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-ai-ml_1.31.0...azure-ai-ml_1.32.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marshmallow` from 3.26.2 to 4.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/marshmallow-code/marshmallow/blob/dev/CHANGELOG.rst\"\u003emarshmallow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.2 (2026-02-04)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix behavior of \u003ccode\u003efields.Contant(None)\u003c/code\u003e (:issue:\u003ccode\u003e2868\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for reporting and \u003ccode\u003eemmanuel-ferdman\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.1 (2026-01-23)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix validation of URLs beginning with uppercare \u003ccode\u003eFILE\u003c/code\u003e (:issue:\u003ccode\u003e2891\u003c/code\u003e).\nThanks :user:\u003ccode\u003ethanhlecongg\u003c/code\u003e for reporting and fixing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.0 (2026-01-04)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emany\u003c/code\u003e argument of \u003ccode\u003eNested\u003c/code\u003e properly overrides schema instance\nvalue (:pr:\u003ccode\u003e2854\u003c/code\u003e). Thanks :user:\u003ccode\u003ejafournier\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.2 (2025-12-19)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:cve:\u003ccode\u003e2025-68480\u003c/code\u003e: Merge error store messages without rebuilding collections.\nThanks 카푸치노 for reporting and :user:\u003ccode\u003edeckar01\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.1 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003eURL\u003c/code\u003e validator is case-insensitive when using custom schemes (:pr:\u003ccode\u003e2874\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.0 (2025-11-01)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e__len__\u003c/code\u003e implementation to \u003ccode\u003emissing\u003c/code\u003e so that it can be used with\n\u003ccode\u003evalidate.Length \u0026lt;marshmallow.validate.Length\u0026gt;\u003c/code\u003e (:pr:\u003ccode\u003e2861\u003c/code\u003e).\nThanks :user:\u003ccode\u003eagentgodzilla\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (:pr:\u003ccode\u003e2363\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/marshmallow-code/marshmallow/commit/2a3812d5049c83e98db60a0869919521f97cd77d\"\u003e\u003ccode\u003e2a3812d\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/19ca8dce2d5bde94509a4a89e495f35c695442d5\"\u003e\u003ccode\u003e19ca8dc\u003c/code\u003e\u003c/a\u003e Fix Constant field rejecting None values during load (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2894\"\u003e#2894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/213ee3a020e24fb26ead3a2285ba0402c90080ce\"\u003e\u003ccode\u003e213ee3a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2896\"\u003e#2896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/ba8b512b24ebf4789099f1afafe9256b1bda950e\"\u003e\u003ccode\u003eba8b512\u003c/code\u003e\u003c/a\u003e Update AUTHORS.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/40105adb3b3916dda5dcd16133d29ad44e7a33b9\"\u003e\u003ccode\u003e40105ad\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/39e7c833e9c8711a49d6d710f7e3ee5cf2effbbe\"\u003e\u003ccode\u003e39e7c83\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2892\"\u003e#2892\u003c/a\u003e from thanhlecongg/fix-2891\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/78a94ea0e7ee9f35f8322318064232fe6147f190\"\u003e\u003ccode\u003e78a94ea\u003c/code\u003e\u003c/a\u003e Fix docstring typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/8dc078e2b86312988e5f7ed32849ae0788779e81\"\u003e\u003ccode\u003e8dc078e\u003c/code\u003e\u003c/a\u003e fix issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c62b9113dc0ec136eb24214b6eb6f856af8f5df3\"\u003e\u003ccode\u003ec62b911\u003c/code\u003e\u003c/a\u003e add tests for issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/d07bf5e3d218cd5ffa1fcd1dce411f7a5c88e256\"\u003e\u003ccode\u003ed07bf5e\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2887\"\u003e#2887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/marshmallow-code/marshmallow/compare/3.26.2...4.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow` from 3.5.0 to 3.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/releases\"\u003emlflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gateway] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.10.0, which includes several notable updates:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.1 (2026-03-05)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.10.0 (2026-02-20)\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/mlflow/mlflow/commit/cadc323c059d08ee15c3a312afd0eefeeccedc94\"\u003e\u003ccode\u003ecadc323\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1 (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21396\"\u003e#21396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3d17d6c58e1e0078c062321322fc76b1b822ab6d\"\u003e\u003ccode\u003e3d17d6c\u003c/code\u003e\u003c/a\u003e Add back virtualenv to fix the docker build until the next release (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3cfc12fe1359afbade834a74f57e0bbe2ef4531c\"\u003e\u003ccode\u003e3cfc12f\u003c/code\u003e\u003c/a\u003e Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/bcaad26df7e825fe15d4deffa0f05478e010bc10\"\u003e\u003ccode\u003ebcaad26\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/ff3249ff8a5f62e344f382d5fcdb419379780c78\"\u003e\u003ccode\u003eff3249f\u003c/code\u003e\u003c/a\u003e Update GenAI link and video in the getting started page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1591d038ae47271382fddd2b8653286af7c31138\"\u003e\u003ccode\u003e1591d03\u003c/code\u003e\u003c/a\u003e Persist AI Gateway default passphrase security banner dismissal to localStora...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/32979c9e560346a54d05ba7ff53434f215c5958f\"\u003e\u003ccode\u003e32979c9\u003c/code\u003e\u003c/a\u003e Demote unused parameters log message from WARNING to DEBUG in instructions ju...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/18eeea03c3d0af5b915bb3880a71198b5123e0bd\"\u003e\u003ccode\u003e18eeea0\u003c/code\u003e\u003c/a\u003e Make simulator explicitly avoid stating goal in first message (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/42d4356e18c0c2548ff3b290b11f36a992530d9d\"\u003e\u003ccode\u003e42d4356\u003c/code\u003e\u003c/a\u003e Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1a14934cc0116ddd91fb693e2b52bed12683521a\"\u003e\u003ccode\u003e1a14934\u003c/code\u003e\u003c/a\u003e Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.5.0...v3.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 25.0 to 26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0\u003c/h2\u003e\n\u003cp\u003eRead about the performance improvements here: \u003ca href=\"https://iscinumpy.dev/post/packaging-faster\"\u003ehttps://iscinumpy.dev/post/packaging-faster\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/900\"\u003epypa/packaging#900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata by \u003ca href=\"https://github.com/brettcannon\"\u003e\u003ccode\u003e@​brettcannon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/948\"\u003epypa/packaging#948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport writing metadata by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/846\"\u003epypa/packaging#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e for \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1003\"\u003epypa/packaging#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifier\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1004\"\u003epypa/packaging#1004\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/897\"\u003epypa/packaging#897\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/942\"\u003epypa/packaging#942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/951\"\u003epypa/packaging#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/932\"\u003epypa/packaging#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/954\"\u003epypa/packaging#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparsions by \u003ca href=\"https://github.com/JP-Ellis\"\u003e\u003ccode\u003e@​JP-Ellis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/939\"\u003epypa/packaging#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e by \u003ca href=\"https://github.com/dholth\"\u003e\u003ccode\u003e@​dholth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/860\"\u003epypa/packaging#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/896\"\u003epypa/packaging#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/868\"\u003epypa/packaging#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e by \u003ca href=\"https://github.com/bwoodsend\"\u003e\u003ccode\u003e@​bwoodsend\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/879\"\u003epypa/packaging#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format by \u003ca href=\"https://github.com/di\"\u003e\u003ccode\u003e@​di\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/925\"\u003epypa/packaging#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon by \u003ca href=\"https://github.com/pradyunsg\"\u003e\u003ccode\u003e@​pradyunsg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/833\"\u003epypa/packaging#833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/931\"\u003epypa/packaging#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/953\"\u003epypa/packaging#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA root logger use found by ruff LOG, use \u003ccode\u003epackaging\u003c/code\u003e logger instead by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/965\"\u003epypa/packaging#965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1022\"\u003epypa/packaging#1022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1024\"\u003epypa/packaging#1024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1033\"\u003epypa/packaging#1033\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup by \u003ca href=\"https://github.com/hauntsaninja\"\u003e\u003ccode\u003e@​hauntsaninja\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1019\"\u003epypa/packaging#1019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/869\"\u003epypa/packaging#869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/bearomorphism\"\u003e\u003ccode\u003e@​bearomorphism\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/913\"\u003epypa/packaging#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003es in specifier comparison by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/986\"\u003epypa/packaging#986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eSpecifier\u003c/code\u003e's Version by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/985\"\u003epypa/packaging#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/987\"\u003epypa/packaging#987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/990\"\u003epypa/packaging#990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/988\"\u003epypa/packaging#988\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1055\"\u003epypa/packaging#1055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/989\"\u003epypa/packaging#989\u003c/a\u003e and regression for \u003ccode\u003epackaging_legacy\u003c/code\u003e fixed by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1048\"\u003epypa/packaging#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/993\"\u003epypa/packaging#993\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efullmatch\u003c/code\u003e in a couple more places by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/992\"\u003epypa/packa...\n\n_Description has been truncated_","html_url":"https://github.com/microsoft/physical-ai-toolchain/pull/285","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fphysical-ai-toolchain/issues/285","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/285/packages"},{"uuid":"4084790470","node_id":"PR_kwDORckIoM7LCgsA","number":281,"state":"open","title":"chore(deps): bump the training-dependencies group in /training/rl with 56 updates","user":"dependabot[bot]","labels":["dependencies","python","training"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-16T21:05:58.000Z","updated_at":"2026-03-16T21:06:33.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"training-dependencies","update_count":56,"packages":[{"name":"numpy","old_version":"1.26.4","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"azure-core","old_version":"1.38.1","new_version":"1.38.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-blob","old_version":"12.19.0","new_version":"12.28.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-identity","old_version":"1.25.2","new_version":"1.25.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-ai-ml","old_version":"1.31.0","new_version":"1.32.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"marshmallow","old_version":"3.26.2","new_version":"4.2.2","repository_url":"https://github.com/marshmallow-code/marshmallow"},{"name":"mlflow","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"azureml-mlflow","old_version":"1.61.0.post1","new_version":"1.62.0","repository_url":"https://github.com/Azure/MachineLearningNotebooks"},{"name":"rsl-rl-lib","old_version":"4.0.1","new_version":"5.0.1","repository_url":"https://github.com/leggedrobotics/rsl_rl"},{"name":"azure-storage-file-datalake","old_version":"12.14.0","new_version":"12.23.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"cachetools","old_version":"6.2.6","new_version":"7.0.5","repository_url":"https://github.com/tkem/cachetools"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.6","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"croniter","old_version":"6.0.0","new_version":"6.2.2","repository_url":"https://github.com/pallets-eco/croniter"},{"name":"cyclopts","old_version":"4.6.0","new_version":"4.10.0","repository_url":"https://github.com/BrianPugh/cyclopts"},{"name":"databricks-sdk","old_version":"0.96.0","new_version":"0.100.0","repository_url":"https://github.com/databricks/databricks-sdk-py"},{"name":"fastmcp","old_version":"2.14.5","new_version":"3.1.1","repository_url":"https://github.com/PrefectHQ/fastmcp"},{"name":"filelock","old_version":"3.25.0","new_version":"3.25.2","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"google-auth","old_version":"2.48.0","new_version":"2.49.1","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"graphql-core","old_version":"3.2.7","new_version":"3.2.8","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"gunicorn","old_version":"23.0.0","new_version":"25.1.0","repository_url":"https://github.com/benoitc/gunicorn"},{"name":"jaraco-context","old_version":"6.1.0","new_version":"6.1.1","repository_url":"https://github.com/jaraco/jaraco.context"},{"name":"kiwisolver","old_version":"1.4.9","new_version":"1.5.0","repository_url":"https://github.com/nucleic/kiwi"},{"name":"mlflow-skinny","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mlflow-tracing","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/mpmath/mpmath"},{"name":"msal","old_version":"1.35.0","new_version":"1.35.1","repository_url":"https://github.com/AzureAD/microsoft-authentication-library-for-python"},{"name":"opentelemetry-api","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-asgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-dbapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-django","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-fastapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-flask","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-psycopg2","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-wsgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-util-http","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"platformdirs","old_version":"4.9.2","new_version":"4.9.4","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"protobuf","old_version":"6.33.5","new_version":"7.34.0","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"py-key-value-aio","old_version":"0.3.0","new_version":"0.4.4"},{"name":"pyarrow","old_version":"21.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pydocket","old_version":"0.18.0","new_version":"0.18.2","repository_url":"https://github.com/chrisguidry/docket"},{"name":"pytz","old_version":"2025.2","new_version":"2026.1.post1","repository_url":"https://github.com/stub42/pytz"},{"name":"redis","old_version":"7.2.1","new_version":"7.3.0","repository_url":"https://github.com/redis/redis-py"},{"name":"setuptools","old_version":"82.0.0","new_version":"82.0.1","repository_url":"https://github.com/pypa/setuptools"},{"name":"smmap","old_version":"5.0.2","new_version":"5.0.3","repository_url":"https://github.com/gitpython-developers/smmap"},{"name":"uvicorn","old_version":"0.41.0","new_version":"0.42.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"wrapt","old_version":"1.17.3","new_version":"2.1.2","repository_url":"https://github.com/GrahamDumpleton/wrapt"}],"path":"/training/rl","ecosystem":"pip"},"body":"Bumps the training-dependencies group in /training/rl with 56 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.4.3` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.1` | `1.38.3` |\n| [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python) | `12.19.0` | `12.28.0` |\n| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.25.2` | `1.25.3` |\n| [azure-ai-ml](https://github.com/Azure/azure-sdk-for-python) | `1.31.0` | `1.32.0` |\n| [marshmallow](https://github.com/marshmallow-code/marshmallow) | `3.26.2` | `4.2.2` |\n| [mlflow](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [azureml-mlflow](https://github.com/Azure/MachineLearningNotebooks) | `1.61.0.post1` | `1.62.0` |\n| [rsl-rl-lib](https://github.com/leggedrobotics/rsl_rl) | `4.0.1` | `5.0.1` |\n| [azure-storage-file-datalake](https://github.com/Azure/azure-sdk-for-python) | `12.14.0` | `12.23.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.6` | `7.0.5` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.6` |\n| [croniter](https://github.com/pallets-eco/croniter) | `6.0.0` | `6.2.2` |\n| [cyclopts](https://github.com/BrianPugh/cyclopts) | `4.6.0` | `4.10.0` |\n| [databricks-sdk](https://github.com/databricks/databricks-sdk-py) | `0.96.0` | `0.100.0` |\n| [fastmcp](https://github.com/PrefectHQ/fastmcp) | `2.14.5` | `3.1.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.25.0` | `3.25.2` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.1` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.48.0` | `2.49.1` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.7` | `3.2.8` |\n| [gunicorn](https://github.com/benoitc/gunicorn) | `23.0.0` | `25.1.0` |\n| [jaraco-context](https://github.com/jaraco/jaraco.context) | `6.1.0` | `6.1.1` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.9` | `1.5.0` |\n| [mlflow-skinny](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mlflow-tracing](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.1` |\n| [msal](https://github.com/AzureAD/microsoft-authentication-library-for-python) | `1.35.0` | `1.35.1` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-asgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-dbapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-django](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-flask](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-psycopg2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-wsgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b0` | `0.61b0` |\n| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.9.2` | `4.9.4` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.5` | `7.34.0` |\n| py-key-value-aio | `0.3.0` | `0.4.4` |\n| [pyarrow](https://github.com/apache/arrow) | `21.0.0` | `23.0.1` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| [pydocket](https://github.com/chrisguidry/docket) | `0.18.0` | `0.18.2` |\n| [pytz](https://github.com/stub42/pytz) | `2025.2` | `2026.1.post1` |\n| [redis](https://github.com/redis/redis-py) | `7.2.1` | `7.3.0` |\n| [setuptools](https://github.com/pypa/setuptools) | `82.0.0` | `82.0.1` |\n| [smmap](https://github.com/gitpython-developers/smmap) | `5.0.2` | `5.0.3` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.41.0` | `0.42.0` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.2` |\n\nUpdates `numpy` from 1.26.4 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/v1.26.4...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-core` from 1.38.1 to 1.38.3\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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-core_1.38.3\u003c/h2\u003e\n\u003ch2\u003e1.38.3 (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ePipelineClient.format_url\u003c/code\u003e to preserve trailing slash in the base URL when the URL template is query-string-only (e.g., \u003ccode\u003e?key=value\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45365\"\u003e#45365\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSensitiveHeaderCleanupPolicy\u003c/code\u003e to persist the \u003ccode\u003einsecure_domain_change\u003c/code\u003e flag across retries after a cross-domain redirect. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45518\"\u003e#45518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded jitter to token refresh timing in \u003ccode\u003eBearerTokenCredentialPolicy\u003c/code\u003e and \u003ccode\u003eAsyncBearerTokenCredentialPolicy\u003c/code\u003e to prevent simultaneous token refresh attempts across multiple processes. This helps mitigate the thundering herd problem during token refresh operations. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43720\"\u003e#43720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eazure-core_1.38.2\u003c/h2\u003e\n\u003ch2\u003e1.38.2 (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ePipelineClient.format_url\u003c/code\u003e to preserve the leading slash when the URL template starts with \u003ccode\u003e/?\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45218\"\u003e#45218\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/Azure/azure-sdk-for-python/commit/c6e48b5cd71adf5728a5e2f33bc9f62fb221221f\"\u003e\u003ccode\u003ec6e48b5\u003c/code\u003e\u003c/a\u003e [Core] Prepare release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45656\"\u003e#45656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/079e76bb7bef96cf1027777afc69995b6024b857\"\u003e\u003ccode\u003e079e76b\u003c/code\u003e\u003c/a\u003e Port data-plane packages in sdk/core/ to pyproject.toml (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45556\"\u003e#45556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2117dfb31ed48fe429ef2604aeb89526e9496c66\"\u003e\u003ccode\u003e2117dfb\u003c/code\u003e\u003c/a\u003e [Core] Persist cross domain redirect flag (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45518\"\u003e#45518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2d0a9aa509c220d575c33e81207a5b6dedb5f148\"\u003e\u003ccode\u003e2d0a9aa\u003c/code\u003e\u003c/a\u003e [Core] Update pytest fixture scope (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45563\"\u003e#45563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/4c4c8698d61f2ad60296ef0cf7c64f7837cdc5a3\"\u003e\u003ccode\u003e4c4c869\u003c/code\u003e\u003c/a\u003e [Core] Add jitter to token refresh intervals (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43720\"\u003e#43720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/41391f1e7b5ad52e3d480a7adcbf3fa5b99e2326\"\u003e\u003ccode\u003e41391f1\u003c/code\u003e\u003c/a\u003e [azure-core] Fix \u003ccode\u003eformat_url\u003c/code\u003e dropping trailing slash when URL template is qu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/9fdb4f1a9764b466a408eeed45ce59da97e150a5\"\u003e\u003ccode\u003e9fdb4f1\u003c/code\u003e\u003c/a\u003e [Corehttp] Changelog update (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45113\"\u003e#45113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/f40b764989ce757cd35698cae9c91b3a52c0b7a9\"\u003e\u003ccode\u003ef40b764\u003c/code\u003e\u003c/a\u003e Increment package version after release of azure-core (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45246\"\u003e#45246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/3e9fec2338ae644e380401dec9e407706cb27115\"\u003e\u003ccode\u003e3e9fec2\u003c/code\u003e\u003c/a\u003e [Core] Update changelog (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45230\"\u003e#45230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/b5f8d700bf670c475692fd1de087d696af72b66c\"\u003e\u003ccode\u003eb5f8d70\u003c/code\u003e\u003c/a\u003e [Core] Fix format_url to allow leading slash if specified (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45218\"\u003e#45218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-core_1.38.1...azure-core_1.38.3\"\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.19.0 to 12.28.0\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.19.0...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 `azure-identity` from 1.25.2 to 1.25.3\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-identity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-identity_1.25.3\u003c/h2\u003e\n\u003ch2\u003e1.25.3 (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an expired token could skip refresh when a recent token request was made, due to the retry delay taking precedence over expiration. (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/45496\"\u003e#45496\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBumped minimum dependency on \u003ccode\u003emsal\u003c/code\u003e to \u003ccode\u003e\u0026gt;=1.35.1\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/Azure/azure-sdk-for-python/commit/a989ea467731265fdf097b622ba254703187746b\"\u003e\u003ccode\u003ea989ea4\u003c/code\u003e\u003c/a\u003e [Identity] Prep patch release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/79728834e7f38018d372860cf9117bf51d9ed417\"\u003e\u003ccode\u003e7972883\u003c/code\u003e\u003c/a\u003e [Identity] Adjust refresh logic (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45496\"\u003e#45496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/04764a9a8a0cb59aab6421b41152246853dfcfe8\"\u003e\u003ccode\u003e04764a9\u003c/code\u003e\u003c/a\u003e add psscript to convert apiview json files to md (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45589\"\u003e#45589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/50e01659d7204865dfa07c5ece1019ed9a229b4f\"\u003e\u003ccode\u003e50e0165\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 14461 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45646\"\u003e#45646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/5333117e0e181404ff4deaa757e9b6ef86dabf8b\"\u003e\u003ccode\u003e5333117\u003c/code\u003e\u003c/a\u003e Add Bo to /sdk/ai/azure-ai-projects owner list (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45664\"\u003e#45664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/775d6942e4335422fc69da8e997a6069e356b104\"\u003e\u003ccode\u003e775d694\u003c/code\u003e\u003c/a\u003e Doc and automation updates for .github sync directory changes (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45630\"\u003e#45630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/c6e48b5cd71adf5728a5e2f33bc9f62fb221221f\"\u003e\u003ccode\u003ec6e48b5\u003c/code\u003e\u003c/a\u003e [Core] Prepare release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45656\"\u003e#45656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/ae769c4e9379c8d309bffa5ccb76dcfba64e1f71\"\u003e\u003ccode\u003eae769c4\u003c/code\u003e\u003c/a\u003e Fix custom Memory Stores LRO poller operation (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45662\"\u003e#45662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/6074492844d670316eb171756483f1394a6c94c7\"\u003e\u003ccode\u003e6074492\u003c/code\u003e\u003c/a\u003e Add asset id none check in dt (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45618\"\u003e#45618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/e1a986aeb7a8001bd3a4f336cf096c2b050aa480\"\u003e\u003ccode\u003ee1a986a\u003c/code\u003e\u003c/a\u003e Bump tar from 7.5.10 to 7.5.11 in /eng/common/tsp-client (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45640\"\u003e#45640\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.25.2...azure-identity_1.25.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-ai-ml` from 1.31.0 to 1.32.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-ai-ml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-ai-ml_1.32.0\u003c/h2\u003e\n\u003ch2\u003e1.32.0 (2026-03-04)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip _list_secrets for identity-based datastores to prevent noisy telemetry traces.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4f79bdf278eaa55e855884dbd9bd841d62c7583c\"\u003e\u003ccode\u003e4f79bdf\u003c/code\u003e\u003c/a\u003e Remove empty 'Other Changes' section from CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/fe81c2e887e21aad87f63c476f71f4444f8deaab\"\u003e\u003ccode\u003efe81c2e\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 1.32.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/b5e228067bf3e66f04074a893e30eda239e13f0f\"\u003e\u003ccode\u003eb5e2280\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2ddc7b9c3d0c1f05304ff1bb53863b730e6edb1d\"\u003e\u003ccode\u003e2ddc7b9\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-artifactsigning]-generated-from-SDK Generation - Python-58...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/c270319e20141ce00ac29959f3a5aad1836c4176\"\u003e\u003ccode\u003ec270319\u003c/code\u003e\u003c/a\u003e App Configuration - Snapshot references (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44116\"\u003e#44116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/f6050668fd6308858a3dabc8e5d660c563b033b0\"\u003e\u003ccode\u003ef605066\u003c/code\u003e\u003c/a\u003e [CODEOWNERS Data Quality] Fix up CODEOWNERS (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44945\"\u003e#44945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/47e90c151dfde889db32985b8ec0b0d7edcfa167\"\u003e\u003ccode\u003e47e90c1\u003c/code\u003e\u003c/a\u003e Use azpysdk ApiStub in CI (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44439\"\u003e#44439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/7700f5a8eae238b6e9777da321cd20b5fe6a7100\"\u003e\u003ccode\u003e7700f5a\u003c/code\u003e\u003c/a\u003e [VoiceLive] Add code owners (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45191\"\u003e#45191\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/a9b472fb0526d64c3eb6d55d7d14ff63c8a761fe\"\u003e\u003ccode\u003ea9b472f\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-managedops]-generated-from-SDK Generation - Python-5788712...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/bef7492d4b2d346178adea165eff23fafe838c0c\"\u003e\u003ccode\u003ebef7492\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-postgresqlflexibleservers]-generated-from-SDK Generation -...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-ai-ml_1.31.0...azure-ai-ml_1.32.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marshmallow` from 3.26.2 to 4.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/marshmallow-code/marshmallow/blob/dev/CHANGELOG.rst\"\u003emarshmallow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.2 (2026-02-04)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix behavior of \u003ccode\u003efields.Contant(None)\u003c/code\u003e (:issue:\u003ccode\u003e2868\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for reporting and \u003ccode\u003eemmanuel-ferdman\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.1 (2026-01-23)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix validation of URLs beginning with uppercare \u003ccode\u003eFILE\u003c/code\u003e (:issue:\u003ccode\u003e2891\u003c/code\u003e).\nThanks :user:\u003ccode\u003ethanhlecongg\u003c/code\u003e for reporting and fixing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.0 (2026-01-04)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emany\u003c/code\u003e argument of \u003ccode\u003eNested\u003c/code\u003e properly overrides schema instance\nvalue (:pr:\u003ccode\u003e2854\u003c/code\u003e). Thanks :user:\u003ccode\u003ejafournier\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.2 (2025-12-19)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:cve:\u003ccode\u003e2025-68480\u003c/code\u003e: Merge error store messages without rebuilding collections.\nThanks 카푸치노 for reporting and :user:\u003ccode\u003edeckar01\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.1 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003eURL\u003c/code\u003e validator is case-insensitive when using custom schemes (:pr:\u003ccode\u003e2874\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.0 (2025-11-01)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e__len__\u003c/code\u003e implementation to \u003ccode\u003emissing\u003c/code\u003e so that it can be used with\n\u003ccode\u003evalidate.Length \u0026lt;marshmallow.validate.Length\u0026gt;\u003c/code\u003e (:pr:\u003ccode\u003e2861\u003c/code\u003e).\nThanks :user:\u003ccode\u003eagentgodzilla\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (:pr:\u003ccode\u003e2363\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/marshmallow-code/marshmallow/commit/2a3812d5049c83e98db60a0869919521f97cd77d\"\u003e\u003ccode\u003e2a3812d\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/19ca8dce2d5bde94509a4a89e495f35c695442d5\"\u003e\u003ccode\u003e19ca8dc\u003c/code\u003e\u003c/a\u003e Fix Constant field rejecting None values during load (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2894\"\u003e#2894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/213ee3a020e24fb26ead3a2285ba0402c90080ce\"\u003e\u003ccode\u003e213ee3a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2896\"\u003e#2896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/ba8b512b24ebf4789099f1afafe9256b1bda950e\"\u003e\u003ccode\u003eba8b512\u003c/code\u003e\u003c/a\u003e Update AUTHORS.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/40105adb3b3916dda5dcd16133d29ad44e7a33b9\"\u003e\u003ccode\u003e40105ad\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/39e7c833e9c8711a49d6d710f7e3ee5cf2effbbe\"\u003e\u003ccode\u003e39e7c83\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2892\"\u003e#2892\u003c/a\u003e from thanhlecongg/fix-2891\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/78a94ea0e7ee9f35f8322318064232fe6147f190\"\u003e\u003ccode\u003e78a94ea\u003c/code\u003e\u003c/a\u003e Fix docstring typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/8dc078e2b86312988e5f7ed32849ae0788779e81\"\u003e\u003ccode\u003e8dc078e\u003c/code\u003e\u003c/a\u003e fix issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c62b9113dc0ec136eb24214b6eb6f856af8f5df3\"\u003e\u003ccode\u003ec62b911\u003c/code\u003e\u003c/a\u003e add tests for issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/d07bf5e3d218cd5ffa1fcd1dce411f7a5c88e256\"\u003e\u003ccode\u003ed07bf5e\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2887\"\u003e#2887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/marshmallow-code/marshmallow/compare/3.26.2...4.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow` from 3.5.0 to 3.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/releases\"\u003emlflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gateway] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.10.0, which includes several notable updates:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.1 (2026-03-05)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.10.0 (2026-02-20)\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/mlflow/mlflow/commit/cadc323c059d08ee15c3a312afd0eefeeccedc94\"\u003e\u003ccode\u003ecadc323\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1 (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21396\"\u003e#21396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3d17d6c58e1e0078c062321322fc76b1b822ab6d\"\u003e\u003ccode\u003e3d17d6c\u003c/code\u003e\u003c/a\u003e Add back virtualenv to fix the docker build until the next release (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3cfc12fe1359afbade834a74f57e0bbe2ef4531c\"\u003e\u003ccode\u003e3cfc12f\u003c/code\u003e\u003c/a\u003e Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/bcaad26df7e825fe15d4deffa0f05478e010bc10\"\u003e\u003ccode\u003ebcaad26\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/ff3249ff8a5f62e344f382d5fcdb419379780c78\"\u003e\u003ccode\u003eff3249f\u003c/code\u003e\u003c/a\u003e Update GenAI link and video in the getting started page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1591d038ae47271382fddd2b8653286af7c31138\"\u003e\u003ccode\u003e1591d03\u003c/code\u003e\u003c/a\u003e Persist AI Gateway default passphrase security banner dismissal to localStora...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/32979c9e560346a54d05ba7ff53434f215c5958f\"\u003e\u003ccode\u003e32979c9\u003c/code\u003e\u003c/a\u003e Demote unused parameters log message from WARNING to DEBUG in instructions ju...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/18eeea03c3d0af5b915bb3880a71198b5123e0bd\"\u003e\u003ccode\u003e18eeea0\u003c/code\u003e\u003c/a\u003e Make simulator explicitly avoid stating goal in first message (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/42d4356e18c0c2548ff3b290b11f36a992530d9d\"\u003e\u003ccode\u003e42d4356\u003c/code\u003e\u003c/a\u003e Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1a14934cc0116ddd91fb693e2b52bed12683521a\"\u003e\u003ccode\u003e1a14934\u003c/code\u003e\u003c/a\u003e Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.5.0...v3.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 25.0 to 26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0\u003c/h2\u003e\n\u003cp\u003eRead about the performance improvements here: \u003ca href=\"https://iscinumpy.dev/post/packaging-faster\"\u003ehttps://iscinumpy.dev/post/packaging-faster\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/900\"\u003epypa/packaging#900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata by \u003ca href=\"https://github.com/brettcannon\"\u003e\u003ccode\u003e@​brettcannon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/948\"\u003epypa/packaging#948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport writing metadata by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/846\"\u003epypa/packaging#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e for \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1003\"\u003epypa/packaging#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifier\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1004\"\u003epypa/packaging#1004\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/897\"\u003epypa/packaging#897\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/942\"\u003epypa/packaging#942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/951\"\u003epypa/packaging#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/932\"\u003epypa/packaging#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/954\"\u003epypa/packaging#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparsions by \u003ca href=\"https://github.com/JP-Ellis\"\u003e\u003ccode\u003e@​JP-Ellis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/939\"\u003epypa/packaging#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e by \u003ca href=\"https://github.com/dholth\"\u003e\u003ccode\u003e@​dholth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/860\"\u003epypa/packaging#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/896\"\u003epypa/packaging#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/868\"\u003epypa/packaging#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e by \u003ca href=\"https://github.com/bwoodsend\"\u003e\u003ccode\u003e@​bwoodsend\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/879\"\u003epypa/packaging#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format by \u003ca href=\"https://github.com/di\"\u003e\u003ccode\u003e@​di\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/925\"\u003epypa/packaging#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon by \u003ca href=\"https://github.com/pradyunsg\"\u003e\u003ccode\u003e@​pradyunsg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/833\"\u003epypa/packaging#833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/931\"\u003epypa/packaging#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/953\"\u003epypa/packaging#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA root logger use found by ruff LOG, use \u003ccode\u003epackaging\u003c/code\u003e logger instead by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/965\"\u003epypa/packaging#965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1022\"\u003epypa/packaging#1022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1024\"\u003epypa/packaging#1024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1033\"\u003epypa/packaging#1033\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup by \u003ca href=\"https://github.com/hauntsaninja\"\u003e\u003ccode\u003e@​hauntsaninja\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1019\"\u003epypa/packaging#1019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/869\"\u003epypa/packaging#869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/bearomorphism\"\u003e\u003ccode\u003e@​bearomorphism\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/913\"\u003epypa/packaging#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003es in specifier comparison by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/986\"\u003epypa/packaging#986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eSpecifier\u003c/code\u003e's Version by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/985\"\u003epypa/packaging#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/987\"\u003epypa/packaging#987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/990\"\u003epypa/packaging#990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/988\"\u003epypa/packaging#988\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1055\"\u003epypa/packaging#1055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/989\"\u003epypa/packaging#989\u003c/a\u003e and regression for \u003ccode\u003epackaging_legacy\u003c/code\u003e fixed by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1048\"\u003epypa/packaging#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/993\"\u003epypa/packaging#993\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efullmatch\u003c/code\u003e in a couple more places by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/992\"\u003epypa/packaging#992\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)...\n\n_Description has been truncated_","html_url":"https://github.com/microsoft/physical-ai-toolchain/pull/281","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fphysical-ai-toolchain/issues/281","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/281/packages"},{"uuid":"4080029417","node_id":"PR_kwDORckIoM7KzCrU","number":276,"state":"closed","title":"chore(deps): bump the training-dependencies group across 1 directory with 55 updates","user":"dependabot[bot]","labels":["dependencies","python","training"],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":"2026-03-17T03:54:48.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-16T03:38:19.000Z","updated_at":"2026-03-17T03:54:57.000Z","time_to_close":87389,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"training-dependencies","update_count":55,"packages":[{"name":"numpy","old_version":"1.26.4","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"azure-core","old_version":"1.38.1","new_version":"1.38.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-blob","old_version":"12.19.0","new_version":"12.28.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-identity","old_version":"1.25.2","new_version":"1.25.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"marshmallow","old_version":"3.26.2","new_version":"4.2.2","repository_url":"https://github.com/marshmallow-code/marshmallow"},{"name":"mlflow","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"azureml-mlflow","old_version":"1.61.0.post1","new_version":"1.62.0","repository_url":"https://github.com/Azure/MachineLearningNotebooks"},{"name":"rsl-rl-lib","old_version":"4.0.1","new_version":"5.0.1","repository_url":"https://github.com/leggedrobotics/rsl_rl"},{"name":"azure-storage-file-datalake","old_version":"12.14.0","new_version":"12.23.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"cachetools","old_version":"6.2.6","new_version":"7.0.5","repository_url":"https://github.com/tkem/cachetools"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.6","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"croniter","old_version":"6.0.0","new_version":"6.2.2","repository_url":"https://github.com/pallets-eco/croniter"},{"name":"cyclopts","old_version":"4.6.0","new_version":"4.10.0","repository_url":"https://github.com/BrianPugh/cyclopts"},{"name":"databricks-sdk","old_version":"0.96.0","new_version":"0.99.0","repository_url":"https://github.com/databricks/databricks-sdk-py"},{"name":"fastmcp","old_version":"2.14.5","new_version":"3.1.1","repository_url":"https://github.com/PrefectHQ/fastmcp"},{"name":"filelock","old_version":"3.25.0","new_version":"3.25.2","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"google-auth","old_version":"2.48.0","new_version":"2.49.1","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"graphql-core","old_version":"3.2.7","new_version":"3.2.8","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"gunicorn","old_version":"23.0.0","new_version":"25.1.0","repository_url":"https://github.com/benoitc/gunicorn"},{"name":"jaraco-context","old_version":"6.1.0","new_version":"6.1.1","repository_url":"https://github.com/jaraco/jaraco.context"},{"name":"kiwisolver","old_version":"1.4.9","new_version":"1.5.0","repository_url":"https://github.com/nucleic/kiwi"},{"name":"mlflow-skinny","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mlflow-tracing","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/mpmath/mpmath"},{"name":"msal","old_version":"1.35.0","new_version":"1.35.1","repository_url":"https://github.com/AzureAD/microsoft-authentication-library-for-python"},{"name":"opentelemetry-api","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-asgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-dbapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-django","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-fastapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-flask","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-psycopg2","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-wsgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-util-http","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"platformdirs","old_version":"4.9.2","new_version":"4.9.4","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"protobuf","old_version":"6.33.5","new_version":"7.34.0","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"py-key-value-aio","old_version":"0.3.0","new_version":"0.4.4"},{"name":"pyarrow","old_version":"21.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pydocket","old_version":"0.18.0","new_version":"0.18.2","repository_url":"https://github.com/chrisguidry/docket"},{"name":"pyjwt","old_version":"2.11.0","new_version":"2.12.1","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pytz","old_version":"2025.2","new_version":"2026.1.post1","repository_url":"https://github.com/stub42/pytz"},{"name":"redis","old_version":"7.2.1","new_version":"7.3.0","repository_url":"https://github.com/redis/redis-py"},{"name":"setuptools","old_version":"82.0.0","new_version":"82.0.1","repository_url":"https://github.com/pypa/setuptools"},{"name":"smmap","old_version":"5.0.2","new_version":"5.0.3","repository_url":"https://github.com/gitpython-developers/smmap"},{"name":"wrapt","old_version":"1.17.3","new_version":"2.1.2","repository_url":"https://github.com/GrahamDumpleton/wrapt"}],"path":null,"ecosystem":"pip"},"body":"Bumps the training-dependencies group with 55 updates in the /src/training directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.4.3` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.1` | `1.38.3` |\n| [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python) | `12.19.0` | `12.28.0` |\n| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.25.2` | `1.25.3` |\n| [marshmallow](https://github.com/marshmallow-code/marshmallow) | `3.26.2` | `4.2.2` |\n| [mlflow](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [azureml-mlflow](https://github.com/Azure/MachineLearningNotebooks) | `1.61.0.post1` | `1.62.0` |\n| [rsl-rl-lib](https://github.com/leggedrobotics/rsl_rl) | `4.0.1` | `5.0.1` |\n| [azure-storage-file-datalake](https://github.com/Azure/azure-sdk-for-python) | `12.14.0` | `12.23.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.6` | `7.0.5` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.6` |\n| [croniter](https://github.com/pallets-eco/croniter) | `6.0.0` | `6.2.2` |\n| [cyclopts](https://github.com/BrianPugh/cyclopts) | `4.6.0` | `4.10.0` |\n| [databricks-sdk](https://github.com/databricks/databricks-sdk-py) | `0.96.0` | `0.99.0` |\n| [fastmcp](https://github.com/PrefectHQ/fastmcp) | `2.14.5` | `3.1.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.25.0` | `3.25.2` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.1` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.48.0` | `2.49.1` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.7` | `3.2.8` |\n| [gunicorn](https://github.com/benoitc/gunicorn) | `23.0.0` | `25.1.0` |\n| [jaraco-context](https://github.com/jaraco/jaraco.context) | `6.1.0` | `6.1.1` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.9` | `1.5.0` |\n| [mlflow-skinny](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mlflow-tracing](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.1` |\n| [msal](https://github.com/AzureAD/microsoft-authentication-library-for-python) | `1.35.0` | `1.35.1` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-asgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-dbapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-django](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-flask](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-psycopg2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-wsgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b0` | `0.61b0` |\n| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.9.2` | `4.9.4` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.5` | `7.34.0` |\n| py-key-value-aio | `0.3.0` | `0.4.4` |\n| [pyarrow](https://github.com/apache/arrow) | `21.0.0` | `23.0.1` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| [pydocket](https://github.com/chrisguidry/docket) | `0.18.0` | `0.18.2` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.11.0` | `2.12.1` |\n| [pytz](https://github.com/stub42/pytz) | `2025.2` | `2026.1.post1` |\n| [redis](https://github.com/redis/redis-py) | `7.2.1` | `7.3.0` |\n| [setuptools](https://github.com/pypa/setuptools) | `82.0.0` | `82.0.1` |\n| [smmap](https://github.com/gitpython-developers/smmap) | `5.0.2` | `5.0.3` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.2` |\n\n\nUpdates `numpy` from 1.26.4 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/v1.26.4...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-core` from 1.38.1 to 1.38.3\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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-core_1.38.3\u003c/h2\u003e\n\u003ch2\u003e1.38.3 (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ePipelineClient.format_url\u003c/code\u003e to preserve trailing slash in the base URL when the URL template is query-string-only (e.g., \u003ccode\u003e?key=value\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45365\"\u003e#45365\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSensitiveHeaderCleanupPolicy\u003c/code\u003e to persist the \u003ccode\u003einsecure_domain_change\u003c/code\u003e flag across retries after a cross-domain redirect. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45518\"\u003e#45518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded jitter to token refresh timing in \u003ccode\u003eBearerTokenCredentialPolicy\u003c/code\u003e and \u003ccode\u003eAsyncBearerTokenCredentialPolicy\u003c/code\u003e to prevent simultaneous token refresh attempts across multiple processes. This helps mitigate the thundering herd problem during token refresh operations. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43720\"\u003e#43720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eazure-core_1.38.2\u003c/h2\u003e\n\u003ch2\u003e1.38.2 (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ePipelineClient.format_url\u003c/code\u003e to preserve the leading slash when the URL template starts with \u003ccode\u003e/?\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45218\"\u003e#45218\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/Azure/azure-sdk-for-python/commit/c6e48b5cd71adf5728a5e2f33bc9f62fb221221f\"\u003e\u003ccode\u003ec6e48b5\u003c/code\u003e\u003c/a\u003e [Core] Prepare release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45656\"\u003e#45656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/079e76bb7bef96cf1027777afc69995b6024b857\"\u003e\u003ccode\u003e079e76b\u003c/code\u003e\u003c/a\u003e Port data-plane packages in sdk/core/ to pyproject.toml (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45556\"\u003e#45556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2117dfb31ed48fe429ef2604aeb89526e9496c66\"\u003e\u003ccode\u003e2117dfb\u003c/code\u003e\u003c/a\u003e [Core] Persist cross domain redirect flag (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45518\"\u003e#45518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2d0a9aa509c220d575c33e81207a5b6dedb5f148\"\u003e\u003ccode\u003e2d0a9aa\u003c/code\u003e\u003c/a\u003e [Core] Update pytest fixture scope (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45563\"\u003e#45563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/4c4c8698d61f2ad60296ef0cf7c64f7837cdc5a3\"\u003e\u003ccode\u003e4c4c869\u003c/code\u003e\u003c/a\u003e [Core] Add jitter to token refresh intervals (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43720\"\u003e#43720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/41391f1e7b5ad52e3d480a7adcbf3fa5b99e2326\"\u003e\u003ccode\u003e41391f1\u003c/code\u003e\u003c/a\u003e [azure-core] Fix \u003ccode\u003eformat_url\u003c/code\u003e dropping trailing slash when URL template is qu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/9fdb4f1a9764b466a408eeed45ce59da97e150a5\"\u003e\u003ccode\u003e9fdb4f1\u003c/code\u003e\u003c/a\u003e [Corehttp] Changelog update (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45113\"\u003e#45113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/f40b764989ce757cd35698cae9c91b3a52c0b7a9\"\u003e\u003ccode\u003ef40b764\u003c/code\u003e\u003c/a\u003e Increment package version after release of azure-core (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45246\"\u003e#45246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/3e9fec2338ae644e380401dec9e407706cb27115\"\u003e\u003ccode\u003e3e9fec2\u003c/code\u003e\u003c/a\u003e [Core] Update changelog (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45230\"\u003e#45230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/b5f8d700bf670c475692fd1de087d696af72b66c\"\u003e\u003ccode\u003eb5f8d70\u003c/code\u003e\u003c/a\u003e [Core] Fix format_url to allow leading slash if specified (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45218\"\u003e#45218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-core_1.38.1...azure-core_1.38.3\"\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.19.0 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-file-share_12.25.0b1\u003c/h2\u003e\n\u003ch2\u003e12.25.0b1 (2026-01-27)\u003c/h2\u003e\n\u003ch3\u003eFeatures Added\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for service version 2026-04-06.\u003c/li\u003e\n\u003cli\u003eAdded support for improved error handling for file share provisioning.\u003c/li\u003e\n\u003cli\u003eAdded support for the keyword \u003ccode\u003euser_delegation_tid\u003c/code\u003e to \u003ccode\u003eShareServiceClient.get_user_delegation_key\u003c/code\u003e API, which\ncan be used in \u003ccode\u003egenerate_share_sas\u003c/code\u003e and \u003ccode\u003egenerate_file_sas\u003c/code\u003e to specify the Tenant ID that is authorized\nto use the generated SAS URL. Note that \u003ccode\u003euser_delegation_tid\u003c/code\u003e must be used together with \u003ccode\u003euser_delegation_oid\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBumped minimum \u003ccode\u003eazure-core\u003c/code\u003e dependency to 1.37.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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.19.0...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 `azure-identity` from 1.25.2 to 1.25.3\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-identity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-identity_1.25.3\u003c/h2\u003e\n\u003ch2\u003e1.25.3 (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an expired token could skip refresh when a recent token request was made, due to the retry delay taking precedence over expiration. (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/45496\"\u003e#45496\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBumped minimum dependency on \u003ccode\u003emsal\u003c/code\u003e to \u003ccode\u003e\u0026gt;=1.35.1\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/Azure/azure-sdk-for-python/commit/a989ea467731265fdf097b622ba254703187746b\"\u003e\u003ccode\u003ea989ea4\u003c/code\u003e\u003c/a\u003e [Identity] Prep patch release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/79728834e7f38018d372860cf9117bf51d9ed417\"\u003e\u003ccode\u003e7972883\u003c/code\u003e\u003c/a\u003e [Identity] Adjust refresh logic (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45496\"\u003e#45496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/04764a9a8a0cb59aab6421b41152246853dfcfe8\"\u003e\u003ccode\u003e04764a9\u003c/code\u003e\u003c/a\u003e add psscript to convert apiview json files to md (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45589\"\u003e#45589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/50e01659d7204865dfa07c5ece1019ed9a229b4f\"\u003e\u003ccode\u003e50e0165\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 14461 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45646\"\u003e#45646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/5333117e0e181404ff4deaa757e9b6ef86dabf8b\"\u003e\u003ccode\u003e5333117\u003c/code\u003e\u003c/a\u003e Add Bo to /sdk/ai/azure-ai-projects owner list (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45664\"\u003e#45664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/775d6942e4335422fc69da8e997a6069e356b104\"\u003e\u003ccode\u003e775d694\u003c/code\u003e\u003c/a\u003e Doc and automation updates for .github sync directory changes (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45630\"\u003e#45630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/c6e48b5cd71adf5728a5e2f33bc9f62fb221221f\"\u003e\u003ccode\u003ec6e48b5\u003c/code\u003e\u003c/a\u003e [Core] Prepare release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45656\"\u003e#45656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/ae769c4e9379c8d309bffa5ccb76dcfba64e1f71\"\u003e\u003ccode\u003eae769c4\u003c/code\u003e\u003c/a\u003e Fix custom Memory Stores LRO poller operation (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45662\"\u003e#45662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/6074492844d670316eb171756483f1394a6c94c7\"\u003e\u003ccode\u003e6074492\u003c/code\u003e\u003c/a\u003e Add asset id none check in dt (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45618\"\u003e#45618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/e1a986aeb7a8001bd3a4f336cf096c2b050aa480\"\u003e\u003ccode\u003ee1a986a\u003c/code\u003e\u003c/a\u003e Bump tar from 7.5.10 to 7.5.11 in /eng/common/tsp-client (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45640\"\u003e#45640\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.25.2...azure-identity_1.25.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marshmallow` from 3.26.2 to 4.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/marshmallow-code/marshmallow/blob/dev/CHANGELOG.rst\"\u003emarshmallow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.2 (2026-02-04)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix behavior of \u003ccode\u003efields.Contant(None)\u003c/code\u003e (:issue:\u003ccode\u003e2868\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for reporting and \u003ccode\u003eemmanuel-ferdman\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.1 (2026-01-23)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix validation of URLs beginning with uppercare \u003ccode\u003eFILE\u003c/code\u003e (:issue:\u003ccode\u003e2891\u003c/code\u003e).\nThanks :user:\u003ccode\u003ethanhlecongg\u003c/code\u003e for reporting and fixing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.0 (2026-01-04)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emany\u003c/code\u003e argument of \u003ccode\u003eNested\u003c/code\u003e properly overrides schema instance\nvalue (:pr:\u003ccode\u003e2854\u003c/code\u003e). Thanks :user:\u003ccode\u003ejafournier\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.2 (2025-12-19)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:cve:\u003ccode\u003e2025-68480\u003c/code\u003e: Merge error store messages without rebuilding collections.\nThanks 카푸치노 for reporting and :user:\u003ccode\u003edeckar01\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.1 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003eURL\u003c/code\u003e validator is case-insensitive when using custom schemes (:pr:\u003ccode\u003e2874\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.0 (2025-11-01)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e__len__\u003c/code\u003e implementation to \u003ccode\u003emissing\u003c/code\u003e so that it can be used with\n\u003ccode\u003evalidate.Length \u0026lt;marshmallow.validate.Length\u0026gt;\u003c/code\u003e (:pr:\u003ccode\u003e2861\u003c/code\u003e).\nThanks :user:\u003ccode\u003eagentgodzilla\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (:pr:\u003ccode\u003e2363\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/marshmallow-code/marshmallow/commit/2a3812d5049c83e98db60a0869919521f97cd77d\"\u003e\u003ccode\u003e2a3812d\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/19ca8dce2d5bde94509a4a89e495f35c695442d5\"\u003e\u003ccode\u003e19ca8dc\u003c/code\u003e\u003c/a\u003e Fix Constant field rejecting None values during load (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2894\"\u003e#2894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/213ee3a020e24fb26ead3a2285ba0402c90080ce\"\u003e\u003ccode\u003e213ee3a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2896\"\u003e#2896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/ba8b512b24ebf4789099f1afafe9256b1bda950e\"\u003e\u003ccode\u003eba8b512\u003c/code\u003e\u003c/a\u003e Update AUTHORS.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/40105adb3b3916dda5dcd16133d29ad44e7a33b9\"\u003e\u003ccode\u003e40105ad\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/39e7c833e9c8711a49d6d710f7e3ee5cf2effbbe\"\u003e\u003ccode\u003e39e7c83\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2892\"\u003e#2892\u003c/a\u003e from thanhlecongg/fix-2891\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/78a94ea0e7ee9f35f8322318064232fe6147f190\"\u003e\u003ccode\u003e78a94ea\u003c/code\u003e\u003c/a\u003e Fix docstring typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/8dc078e2b86312988e5f7ed32849ae0788779e81\"\u003e\u003ccode\u003e8dc078e\u003c/code\u003e\u003c/a\u003e fix issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c62b9113dc0ec136eb24214b6eb6f856af8f5df3\"\u003e\u003ccode\u003ec62b911\u003c/code\u003e\u003c/a\u003e add tests for issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/d07bf5e3d218cd5ffa1fcd1dce411f7a5c88e256\"\u003e\u003ccode\u003ed07bf5e\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2887\"\u003e#2887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/marshmallow-code/marshmallow/compare/3.26.2...4.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow` from 3.5.0 to 3.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/releases\"\u003emlflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gateway] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.10.0, which includes several notable updates:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.1 (2026-03-05)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.10.0 (2026-02-20)\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/mlflow/mlflow/commit/cadc323c059d08ee15c3a312afd0eefeeccedc94\"\u003e\u003ccode\u003ecadc323\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1 (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21396\"\u003e#21396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3d17d6c58e1e0078c062321322fc76b1b822ab6d\"\u003e\u003ccode\u003e3d17d6c\u003c/code\u003e\u003c/a\u003e Add back virtualenv to fix the docker build until the next release (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3cfc12fe1359afbade834a74f57e0bbe2ef4531c\"\u003e\u003ccode\u003e3cfc12f\u003c/code\u003e\u003c/a\u003e Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/bcaad26df7e825fe15d4deffa0f05478e010bc10\"\u003e\u003ccode\u003ebcaad26\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/ff3249ff8a5f62e344f382d5fcdb419379780c78\"\u003e\u003ccode\u003eff3249f\u003c/code\u003e\u003c/a\u003e Update GenAI link and video in the getting started page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1591d038ae47271382fddd2b8653286af7c31138\"\u003e\u003ccode\u003e1591d03\u003c/code\u003e\u003c/a\u003e Persist AI Gateway default passphrase security banner dismissal to localStora...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/32979c9e560346a54d05ba7ff53434f215c5958f\"\u003e\u003ccode\u003e32979c9\u003c/code\u003e\u003c/a\u003e Demote unused parameters log message from WARNING to DEBUG in instructions ju...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/18eeea03c3d0af5b915bb3880a71198b5123e0bd\"\u003e\u003ccode\u003e18eeea0\u003c/code\u003e\u003c/a\u003e Make simulator explicitly avoid stating goal in first message (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/42d4356e18c0c2548ff3b290b11f36a992530d9d\"\u003e\u003ccode\u003e42d4356\u003c/code\u003e\u003c/a\u003e Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1a14934cc0116ddd91fb693e2b52bed12683521a\"\u003e\u003ccode\u003e1a14934\u003c/code\u003e\u003c/a\u003e Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.5.0...v3.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 25.0 to 26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0\u003c/h2\u003e\n\u003cp\u003eRead about the performance improvements here: \u003ca href=\"https://iscinumpy.dev/post/packaging-faster\"\u003ehttps://iscinumpy.dev/post/packaging-faster\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/900\"\u003epypa/packaging#900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata by \u003ca href=\"https://github.com/brettcannon\"\u003e\u003ccode\u003e@​brettcannon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/948\"\u003epypa/packaging#948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport writing metadata by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/846\"\u003epypa/packaging#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e for \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1003\"\u003epypa/packaging#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifier\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1004\"\u003epypa/packaging#1004\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/897\"\u003epypa/packaging#897\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/942\"\u003epypa/packaging#942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/951\"\u003epypa/packaging#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/932\"\u003epypa/packaging#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/954\"\u003epypa/packaging#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparsions by \u003ca href=\"https://github.com/JP-Ellis\"\u003e\u003ccode\u003e@​JP-Ellis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/939\"\u003epypa/packaging#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e by \u003ca href=\"https://github.com/dholth\"\u003e\u003ccode\u003e@​dholth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/860\"\u003epypa/packaging#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/896\"\u003epypa/packaging#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/868\"\u003epypa/packaging#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e by \u003ca href=\"https://github.com/bwoodsend\"\u003e\u003ccode\u003e@​bwoodsend\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/879\"\u003epypa/packaging#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format by \u003ca href=\"https://github.com/di\"\u003e\u003ccode\u003e@​di\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/925\"\u003epypa/packaging#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon by \u003ca href=\"https://github.com/pradyunsg\"\u003e\u003ccode\u003e@​pradyunsg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/833\"\u003epypa/packaging#833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/931\"\u003epypa/packaging#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/953\"\u003epypa/packaging#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA root logger use found by ruff LOG, use \u003ccode\u003epackaging\u003c/code\u003e logger instead by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/965\"\u003epypa/packaging#965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1022\"\u003epypa/packaging#1022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1024\"\u003epypa/packaging#1024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1033\"\u003epypa/packaging#1033\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup by \u003ca href=\"https://github.com/hauntsaninja\"\u003e\u003ccode\u003e@​hauntsaninja\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1019\"\u003epypa/packaging#1019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/869\"\u003epypa/packaging#869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/bearomorphism\"\u003e\u003ccode\u003e@​bearomorphism\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/913\"\u003epypa/packaging#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003es in specifier comparison by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/986\"\u003epypa/packaging#986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eSpecifier\u003c/code\u003e's Version by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/985\"\u003epypa/packaging#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/987\"\u003epypa/packaging#987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/990\"\u003epypa/packaging#990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/988\"\u003epypa/packaging#988\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1055\"\u003epypa/packaging#1055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/989\"\u003epypa/packaging#989\u003c/a\u003e and regression for \u003ccode\u003epackaging_legacy\u003c/code\u003e fixed by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1048\"\u003epypa/packaging#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/993\"\u003epypa/packaging#993\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efullmatch\u003c/code\u003e in a couple more places by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/992\"\u003epypa/packaging#992\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/blob/main/CHANGELOG.rst\"\u003epackaging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e26.0 - 2026-01-20\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nFeatures:\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock (:pull:\u003ccode\u003e900\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata (:pull:\u003ccode\u003e948\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport for writing metadata to a file (:pull:\u003ccode\u003e846\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e on Version (:pull:\u003ccode\u003e1003\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e1004\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e897\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e951\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version (:pull:\u003ccode\u003e932\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. (:pull:\u003ccode\u003e954\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparisons (:pull:\u003ccode\u003e939\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e (:pull:\u003ccode\u003e860\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e (:pull:\u003ccode\u003e896\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e (:pull:\u003ccode\u003e868\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e (:pull:\u003ccod...\n\n_Description has been truncated_","html_url":"https://github.com/microsoft/physical-ai-toolchain/pull/276","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fphysical-ai-toolchain/issues/276","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/276/packages"},{"uuid":"4073839049","node_id":"PR_kwDORRYE587KgREi","number":75,"state":"closed","title":"chore(deps-dev): update pyarrow requirement from \u003c20.0,\u003e=15.0 to \u003e=15.0,\u003c24.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-06T12:13:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-13T23:15:57.000Z","updated_at":"2026-04-06T12:13:53.000Z","time_to_close":2033875,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): update","packages":[{"name":"pyarrow","old_version":"\u003c20.0,\u003e=15.0","new_version":"\u003e=15.0,\u003c24.0","repository_url":"https://github.com/apache/arrow"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [pyarrow](https://github.com/apache/arrow) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/go/v15.0.0...apache-arrow-23.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/tollama/tollama/pull/75","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tollama%2Ftollama/issues/75","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/75/packages"},{"uuid":"4047761870","node_id":"PR_kwDOP9ZDic7JLz99","number":509,"state":"open","title":"chore(deps): bump the training-dependencies group across 1 directory with 53 updates","user":"dependabot[bot]","labels":["dependencies","python","training"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-09T20:31:32.000Z","updated_at":"2026-03-09T20:31:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"training-dependencies","update_count":53,"packages":[{"name":"numpy","old_version":"1.26.4","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"azure-core","old_version":"1.38.1","new_version":"1.38.2","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-blob","old_version":"12.19.0","new_version":"12.28.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"marshmallow","old_version":"3.26.2","new_version":"4.2.2","repository_url":"https://github.com/marshmallow-code/marshmallow"},{"name":"mlflow","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"azureml-mlflow","old_version":"1.61.0.post1","new_version":"1.62.0","repository_url":"https://github.com/Azure/MachineLearningNotebooks"},{"name":"rsl-rl-lib","old_version":"4.0.1","new_version":"5.0.1","repository_url":"https://github.com/leggedrobotics/rsl_rl"},{"name":"azure-storage-file-datalake","old_version":"12.14.0","new_version":"12.23.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"cachetools","old_version":"6.2.6","new_version":"7.0.4","repository_url":"https://github.com/tkem/cachetools"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.5","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"cryptography","old_version":"45.0.7","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"cyclopts","old_version":"4.6.0","new_version":"4.8.0","repository_url":"https://github.com/BrianPugh/cyclopts"},{"name":"databricks-sdk","old_version":"0.96.0","new_version":"0.97.0","repository_url":"https://github.com/databricks/databricks-sdk-py"},{"name":"fastmcp","old_version":"2.14.5","new_version":"3.1.0","repository_url":"https://github.com/PrefectHQ/fastmcp"},{"name":"filelock","old_version":"3.25.0","new_version":"3.25.1","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.0","repository_url":"https://github.com/fonttools/fonttools"},{"name":"google-auth","old_version":"2.48.0","new_version":"2.49.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"graphql-core","old_version":"3.2.7","new_version":"3.2.8","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"gunicorn","old_version":"23.0.0","new_version":"25.1.0","repository_url":"https://github.com/benoitc/gunicorn"},{"name":"jaraco-context","old_version":"6.1.0","new_version":"6.1.1","repository_url":"https://github.com/jaraco/jaraco.context"},{"name":"kiwisolver","old_version":"1.4.9","new_version":"1.5.0","repository_url":"https://github.com/nucleic/kiwi"},{"name":"mlflow-skinny","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mlflow-tracing","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/mpmath/mpmath"},{"name":"msal","old_version":"1.35.0","new_version":"1.35.1","repository_url":"https://github.com/AzureAD/microsoft-authentication-library-for-python"},{"name":"opentelemetry-api","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-asgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-dbapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-django","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-fastapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-flask","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-psycopg2","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-wsgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-util-http","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"platformdirs","old_version":"4.9.2","new_version":"4.9.4","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"protobuf","old_version":"6.33.5","new_version":"7.34.0","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"py-key-value-aio","old_version":"0.3.0","new_version":"0.4.4"},{"name":"pyarrow","old_version":"21.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pydocket","old_version":"0.18.0","new_version":"0.18.1","repository_url":"https://github.com/chrisguidry/docket"},{"name":"pytz","old_version":"2025.2","new_version":"2026.1.post1","repository_url":"https://github.com/stub42/pytz"},{"name":"redis","old_version":"7.2.1","new_version":"7.3.0","repository_url":"https://github.com/redis/redis-py"},{"name":"setuptools","old_version":"82.0.0","new_version":"82.0.1","repository_url":"https://github.com/pypa/setuptools"},{"name":"smmap","old_version":"5.0.2","new_version":"5.0.3","repository_url":"https://github.com/gitpython-developers/smmap"},{"name":"wrapt","old_version":"1.17.3","new_version":"2.1.2","repository_url":"https://github.com/GrahamDumpleton/wrapt"}],"path":null,"ecosystem":"pip"},"body":"Bumps the training-dependencies group with 53 updates in the /src/training directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.4.3` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.1` | `1.38.2` |\n| [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python) | `12.19.0` | `12.28.0` |\n| [marshmallow](https://github.com/marshmallow-code/marshmallow) | `3.26.2` | `4.2.2` |\n| [mlflow](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [azureml-mlflow](https://github.com/Azure/MachineLearningNotebooks) | `1.61.0.post1` | `1.62.0` |\n| [rsl-rl-lib](https://github.com/leggedrobotics/rsl_rl) | `4.0.1` | `5.0.1` |\n| [azure-storage-file-datalake](https://github.com/Azure/azure-sdk-for-python) | `12.14.0` | `12.23.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.6` | `7.0.4` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.5` |\n| [cryptography](https://github.com/pyca/cryptography) | `45.0.7` | `46.0.5` |\n| [cyclopts](https://github.com/BrianPugh/cyclopts) | `4.6.0` | `4.8.0` |\n| [databricks-sdk](https://github.com/databricks/databricks-sdk-py) | `0.96.0` | `0.97.0` |\n| [fastmcp](https://github.com/PrefectHQ/fastmcp) | `2.14.5` | `3.1.0` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.25.0` | `3.25.1` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.48.0` | `2.49.0` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.7` | `3.2.8` |\n| [gunicorn](https://github.com/benoitc/gunicorn) | `23.0.0` | `25.1.0` |\n| [jaraco-context](https://github.com/jaraco/jaraco.context) | `6.1.0` | `6.1.1` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.9` | `1.5.0` |\n| [mlflow-skinny](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mlflow-tracing](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.0` |\n| [msal](https://github.com/AzureAD/microsoft-authentication-library-for-python) | `1.35.0` | `1.35.1` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-asgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-dbapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-django](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-flask](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-psycopg2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-wsgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b0` | `0.61b0` |\n| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.9.2` | `4.9.4` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.5` | `7.34.0` |\n| py-key-value-aio | `0.3.0` | `0.4.4` |\n| [pyarrow](https://github.com/apache/arrow) | `21.0.0` | `23.0.1` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| [pydocket](https://github.com/chrisguidry/docket) | `0.18.0` | `0.18.1` |\n| [pytz](https://github.com/stub42/pytz) | `2025.2` | `2026.1.post1` |\n| [redis](https://github.com/redis/redis-py) | `7.2.1` | `7.3.0` |\n| [setuptools](https://github.com/pypa/setuptools) | `82.0.0` | `82.0.1` |\n| [smmap](https://github.com/gitpython-developers/smmap) | `5.0.2` | `5.0.3` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.2` |\n\n\nUpdates `numpy` from 1.26.4 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/v1.26.4...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-core` from 1.38.1 to 1.38.2\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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-core_1.38.2\u003c/h2\u003e\n\u003ch2\u003e1.38.2 (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ePipelineClient.format_url\u003c/code\u003e to preserve the leading slash when the URL template starts with \u003ccode\u003e/?\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45218\"\u003e#45218\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/Azure/azure-sdk-for-python/commit/3e9fec2338ae644e380401dec9e407706cb27115\"\u003e\u003ccode\u003e3e9fec2\u003c/code\u003e\u003c/a\u003e [Core] Update changelog (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45230\"\u003e#45230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/b5f8d700bf670c475692fd1de087d696af72b66c\"\u003e\u003ccode\u003eb5f8d70\u003c/code\u003e\u003c/a\u003e [Core] Fix format_url to allow leading slash if specified (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45218\"\u003e#45218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/f04a541627a9bfc54de599731f9e804cee4e09d2\"\u003e\u003ccode\u003ef04a541\u003c/code\u003e\u003c/a\u003e Increment package version after release of azure-core (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45127\"\u003e#45127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-core_1.38.1...azure-core_1.38.2\"\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.19.0 to 12.28.0\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.19.0...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 `marshmallow` from 3.26.2 to 4.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/marshmallow-code/marshmallow/blob/dev/CHANGELOG.rst\"\u003emarshmallow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.2 (2026-02-04)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix behavior of \u003ccode\u003efields.Contant(None)\u003c/code\u003e (:issue:\u003ccode\u003e2868\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for reporting and \u003ccode\u003eemmanuel-ferdman\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.1 (2026-01-23)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix validation of URLs beginning with uppercare \u003ccode\u003eFILE\u003c/code\u003e (:issue:\u003ccode\u003e2891\u003c/code\u003e).\nThanks :user:\u003ccode\u003ethanhlecongg\u003c/code\u003e for reporting and fixing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.0 (2026-01-04)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emany\u003c/code\u003e argument of \u003ccode\u003eNested\u003c/code\u003e properly overrides schema instance\nvalue (:pr:\u003ccode\u003e2854\u003c/code\u003e). Thanks :user:\u003ccode\u003ejafournier\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.2 (2025-12-19)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:cve:\u003ccode\u003e2025-68480\u003c/code\u003e: Merge error store messages without rebuilding collections.\nThanks 카푸치노 for reporting and :user:\u003ccode\u003edeckar01\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.1 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003eURL\u003c/code\u003e validator is case-insensitive when using custom schemes (:pr:\u003ccode\u003e2874\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.0 (2025-11-01)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e__len__\u003c/code\u003e implementation to \u003ccode\u003emissing\u003c/code\u003e so that it can be used with\n\u003ccode\u003evalidate.Length \u0026lt;marshmallow.validate.Length\u0026gt;\u003c/code\u003e (:pr:\u003ccode\u003e2861\u003c/code\u003e).\nThanks :user:\u003ccode\u003eagentgodzilla\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (:pr:\u003ccode\u003e2363\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/marshmallow-code/marshmallow/commit/2a3812d5049c83e98db60a0869919521f97cd77d\"\u003e\u003ccode\u003e2a3812d\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/19ca8dce2d5bde94509a4a89e495f35c695442d5\"\u003e\u003ccode\u003e19ca8dc\u003c/code\u003e\u003c/a\u003e Fix Constant field rejecting None values during load (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2894\"\u003e#2894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/213ee3a020e24fb26ead3a2285ba0402c90080ce\"\u003e\u003ccode\u003e213ee3a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2896\"\u003e#2896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/ba8b512b24ebf4789099f1afafe9256b1bda950e\"\u003e\u003ccode\u003eba8b512\u003c/code\u003e\u003c/a\u003e Update AUTHORS.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/40105adb3b3916dda5dcd16133d29ad44e7a33b9\"\u003e\u003ccode\u003e40105ad\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/39e7c833e9c8711a49d6d710f7e3ee5cf2effbbe\"\u003e\u003ccode\u003e39e7c83\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2892\"\u003e#2892\u003c/a\u003e from thanhlecongg/fix-2891\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/78a94ea0e7ee9f35f8322318064232fe6147f190\"\u003e\u003ccode\u003e78a94ea\u003c/code\u003e\u003c/a\u003e Fix docstring typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/8dc078e2b86312988e5f7ed32849ae0788779e81\"\u003e\u003ccode\u003e8dc078e\u003c/code\u003e\u003c/a\u003e fix issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c62b9113dc0ec136eb24214b6eb6f856af8f5df3\"\u003e\u003ccode\u003ec62b911\u003c/code\u003e\u003c/a\u003e add tests for issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/d07bf5e3d218cd5ffa1fcd1dce411f7a5c88e256\"\u003e\u003ccode\u003ed07bf5e\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2887\"\u003e#2887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/marshmallow-code/marshmallow/compare/3.26.2...4.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow` from 3.5.0 to 3.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/releases\"\u003emlflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gateway] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.10.0, which includes several notable updates:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.1 (2026-03-05)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.10.0 (2026-02-20)\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/mlflow/mlflow/commit/cadc323c059d08ee15c3a312afd0eefeeccedc94\"\u003e\u003ccode\u003ecadc323\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1 (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21396\"\u003e#21396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3d17d6c58e1e0078c062321322fc76b1b822ab6d\"\u003e\u003ccode\u003e3d17d6c\u003c/code\u003e\u003c/a\u003e Add back virtualenv to fix the docker build until the next release (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3cfc12fe1359afbade834a74f57e0bbe2ef4531c\"\u003e\u003ccode\u003e3cfc12f\u003c/code\u003e\u003c/a\u003e Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/bcaad26df7e825fe15d4deffa0f05478e010bc10\"\u003e\u003ccode\u003ebcaad26\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/ff3249ff8a5f62e344f382d5fcdb419379780c78\"\u003e\u003ccode\u003eff3249f\u003c/code\u003e\u003c/a\u003e Update GenAI link and video in the getting started page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1591d038ae47271382fddd2b8653286af7c31138\"\u003e\u003ccode\u003e1591d03\u003c/code\u003e\u003c/a\u003e Persist AI Gateway default passphrase security banner dismissal to localStora...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/32979c9e560346a54d05ba7ff53434f215c5958f\"\u003e\u003ccode\u003e32979c9\u003c/code\u003e\u003c/a\u003e Demote unused parameters log message from WARNING to DEBUG in instructions ju...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/18eeea03c3d0af5b915bb3880a71198b5123e0bd\"\u003e\u003ccode\u003e18eeea0\u003c/code\u003e\u003c/a\u003e Make simulator explicitly avoid stating goal in first message (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/42d4356e18c0c2548ff3b290b11f36a992530d9d\"\u003e\u003ccode\u003e42d4356\u003c/code\u003e\u003c/a\u003e Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1a14934cc0116ddd91fb693e2b52bed12683521a\"\u003e\u003ccode\u003e1a14934\u003c/code\u003e\u003c/a\u003e Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.5.0...v3.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 25.0 to 26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0\u003c/h2\u003e\n\u003cp\u003eRead about the performance improvements here: \u003ca href=\"https://iscinumpy.dev/post/packaging-faster\"\u003ehttps://iscinumpy.dev/post/packaging-faster\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/900\"\u003epypa/packaging#900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata by \u003ca href=\"https://github.com/brettcannon\"\u003e\u003ccode\u003e@​brettcannon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/948\"\u003epypa/packaging#948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport writing metadata by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/846\"\u003epypa/packaging#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e for \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1003\"\u003epypa/packaging#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifier\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1004\"\u003epypa/packaging#1004\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/897\"\u003epypa/packaging#897\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/942\"\u003epypa/packaging#942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/951\"\u003epypa/packaging#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/932\"\u003epypa/packaging#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/954\"\u003epypa/packaging#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparsions by \u003ca href=\"https://github.com/JP-Ellis\"\u003e\u003ccode\u003e@​JP-Ellis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/939\"\u003epypa/packaging#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e by \u003ca href=\"https://github.com/dholth\"\u003e\u003ccode\u003e@​dholth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/860\"\u003epypa/packaging#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/896\"\u003epypa/packaging#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/868\"\u003epypa/packaging#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e by \u003ca href=\"https://github.com/bwoodsend\"\u003e\u003ccode\u003e@​bwoodsend\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/879\"\u003epypa/packaging#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format by \u003ca href=\"https://github.com/di\"\u003e\u003ccode\u003e@​di\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/925\"\u003epypa/packaging#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon by \u003ca href=\"https://github.com/pradyunsg\"\u003e\u003ccode\u003e@​pradyunsg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/833\"\u003epypa/packaging#833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/931\"\u003epypa/packaging#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/953\"\u003epypa/packaging#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA root logger use found by ruff LOG, use \u003ccode\u003epackaging\u003c/code\u003e logger instead by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/965\"\u003epypa/packaging#965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1022\"\u003epypa/packaging#1022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1024\"\u003epypa/packaging#1024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1033\"\u003epypa/packaging#1033\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup by \u003ca href=\"https://github.com/hauntsaninja\"\u003e\u003ccode\u003e@​hauntsaninja\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1019\"\u003epypa/packaging#1019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/869\"\u003epypa/packaging#869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/bearomorphism\"\u003e\u003ccode\u003e@​bearomorphism\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/913\"\u003epypa/packaging#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003es in specifier comparison by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/986\"\u003epypa/packaging#986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eSpecifier\u003c/code\u003e's Version by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/985\"\u003epypa/packaging#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/987\"\u003epypa/packaging#987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/990\"\u003epypa/packaging#990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/988\"\u003epypa/packaging#988\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1055\"\u003epypa/packaging#1055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/989\"\u003epypa/packaging#989\u003c/a\u003e and regression for \u003ccode\u003epackaging_legacy\u003c/code\u003e fixed by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1048\"\u003epypa/packaging#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/993\"\u003epypa/packaging#993\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efullmatch\u003c/code\u003e in a couple more places by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/992\"\u003epypa/packaging#992\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/blob/main/CHANGELOG.rst\"\u003epackaging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e26.0 - 2026-01-20\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nFeatures:\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock (:pull:\u003ccode\u003e900\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata (:pull:\u003ccode\u003e948\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport for writing metadata to a file (:pull:\u003ccode\u003e846\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e on Version (:pull:\u003ccode\u003e1003\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e1004\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e897\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e951\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version (:pull:\u003ccode\u003e932\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. (:pull:\u003ccode\u003e954\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparisons (:pull:\u003ccode\u003e939\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e (:pull:\u003ccode\u003e860\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e (:pull:\u003ccode\u003e896\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e (:pull:\u003ccode\u003e868\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e (:pull:\u003ccode\u003e879\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format (:pull:\u003ccode\u003e925\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon (:pull:\u003ccode\u003e833\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions (:pull:\u003ccode\u003e931\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string (:pull:\u003ccode\u003e953\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eA root logger use found, use a \u003ccode\u003epackaging\u003c/code\u003e logger instead (:pull:\u003ccode\u003e965\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e (:pull:\u003ccode\u003e1022\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first (:pull:\u003ccode\u003e1024\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct (:pull:\u003ccode\u003e1033\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup (:pull:\u003ccode\u003e1019\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e (:pull:\u003ccode\u003e869\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e913\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003e's in specifier comparison (:pull:\u003ccode\u003e986\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCache the \u003ccode\u003eSpecifier\u003c/code\u003e's \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e985\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster (:pull:\u003ccode\u003e987\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup (:pull:\u003ccode\u003e990\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ for \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e988\u003c/code\u003e, :pull:\u003ccode\u003e1055\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e989\u003c/code\u003e, :pull:\u003ccode\u003e1048\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e (:pull:\u003ccode\u003e993\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ere.fullmatch\u003c/code\u003e in a couple more places (:pull:\u003ccode\u003e992\u003c/code\u003e, :pull:\u003ccode\u003e1029\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003emap\u003c/code\u003e instead of generator (:pull:\u003ccode\u003e996\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003e._version\u003c/code\u003e (\u003ccode\u003e_Version\u003c/code\u003e, a \u003ccode\u003eNamedTuple\u003c/code\u003e) (:pull:\u003ccode\u003e995\u003c/code\u003e, :pull:\u003ccode\u003e1062\u003c/code\u003e)\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/3b77a26f5a27473ad3b08194d773f325d018a2d0\"\u003e\u003ccode\u003e3b77a26\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/31371cce593d2bde0dd8c436ecfb7d53cb91cfb6\"\u003e\u003ccode\u003e31371cc\u003c/code\u003e\u003c/a\u003e docs: prepare for 26.0 final (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/9627a8821f09e4c55cd6e9daadb617b67c4741c2\"\u003e\u003ccode\u003e9627a88\u003c/code\u003e\u003c/a\u003e perf: dual replace (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1064\"\u003e#1064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/d5398b8bc19f3fad7b035ceb83023caf06d6e2da\"\u003e\u003ccode\u003ed5398b8\u003c/code\u003e\u003c/a\u003e fix: restore ._version as a compat shim (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1062\"\u003e#1062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/3a7b600a126d237b2ad3cd7e25d2cb5c176276af\"\u003e\u003ccode\u003e3a7b600\u003c/code\u003e\u003c/a\u003e Bump for development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/d4eefdccf992e963c48011875301d93df6a7f2cc\"\u003e\u003ccode\u003ed4eefdc\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/46189124fb43d8989d370902c80ab156eb83a45d\"\u003e\u003ccode\u003e4618912\u003c/code\u003e\u003c/a\u003e docs: prepare for 26.0rc3 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1060\"\u003e#1060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/0cf1b41b4b321ae08cad7d3e49cfaff5578fe813\"\u003e\u003ccode\u003e0cf1b41\u003c/code\u003e\u003c/a\u003e ci: test on first public release of CPythons (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1056\"\u003e#1056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/716beb1c0a5d7a398bf57fbd80bc2501811e616b\"\u003e\u003ccode\u003e716beb1\u003c/code\u003e\u003c/a\u003e perf:  10% faster stripping zeros (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/350a2306700b738f487f251efa278f532b263dee\"\u003e\u003ccode\u003e350a230\u003c/code\u003e\u003c/a\u003e fix: support CPython 3.11.0-3.11.4 and older PyPy3.11 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/packaging/compare/25.0...26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azureml-mlflow` from 1.61.0.post1 to 1.62.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Azure/MachineLearningNotebooks/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rsl-rl-lib` from 4.0.1 to 5.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/leggedrobotics/rsl_rl/releases\"\u003ersl-rl-lib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.1\u003c/h2\u003e\n\u003ch2\u003eOverview\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/leggedrobotics/rsl_rl/compare/v5.0.0...v5.0.1\"\u003ehttps://github.com/leggedrobotics/rsl_rl/compare/v5.0.0...v5.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes shared CNN modules in _OnnxCNNModel and _TorchCNNModel by \u003ca href=\"https://github.com/kevinzakka\"\u003e\u003ccode\u003e@​kevinzakka\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/leggedrobotics/rsl_rl/pull/189\"\u003eleggedrobotics/rsl_rl#189\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes _OnnxCNNModel forward signature for ONNX export by \u003ca href=\"https://github.com/kevinzakka\"\u003e\u003ccode\u003e@​kevinzakka\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/leggedrobotics/rsl_rl/pull/187\"\u003eleggedrobotics/rsl_rl#187\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.0.0\u003c/h2\u003e\n\u003ch2\u003eOverview\u003c/h2\u003e\n\u003cp\u003eThis release introduces a new \u003ccode\u003eBatch\u003c/code\u003e class and a new \u003ccode\u003eDistribution\u003c/code\u003e class. The \u003ccode\u003eBatch\u003c/code\u003e class eliminates the possibility of switching tensors due to incorrect positional argument ordering. The \u003ccode\u003eDistribution\u003c/code\u003e class makes it easy to add new distributions without modifying the models directly. Furthermore, the library now has a small documentation that can be found \u003ca href=\"https://leggedrobotics.github.io/rsl_rl/\"\u003ehere\u003c/a\u003e, as well as a test suite. Lastly, a new NAN check makes it easier to detect and debug NAN values from the environment. With this release, the main structural changes to the library are complete, and the library will be more stable going forward.\u003c/p\u003e\n\u003cp\u003eIsaac Lab users can refer to this \u003ca href=\"https://redirect.github.com/isaac-sim/IsaacLab/pull/4379\"\u003ePR\u003c/a\u003e until it is merged, which automatically converts old configurations to the new structure.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/leggedrobotics/rsl_rl/compare/v4.0.1...v5.0.0\"\u003ehttps://github.com/leggedrobotics/rsl_rl/compare/v4.0.1...v5.0.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdds a batch class to avoid positional arguments in generators by \u003ca href=\"https://github.com/ClemensSchwarke\"\u003e\u003ccode\u003e@​ClemensSchwarke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/leggedrobotics/rsl_rl/pull/172\"\u003eleggedrobotics/rsl_rl#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds a distribution class for easier adaptability by \u003ca href=\"https://github.com/ClemensSchwarke\"\u003e\u003ccode\u003e@​ClemensSchwarke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/leggedrobotics/rsl_rl/pull/173\"\u003eleggedrobotics/rsl_rl#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds a small documentation by \u003ca href=\"https://github.com/ClemensSchwarke\"\u003e\u003ccode\u003e@​ClemensSchwarke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/leggedrobotics/rsl_rl/pull/183\"\u003eleggedrobotics/rsl_rl#183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds tests to the library by \u003ca href=\"https://github.com/Cleme...\n\n_Description has been truncated_","html_url":"https://github.com/Azure-Samples/azure-nvidia-robotics-reference-architecture/pull/509","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure-Samples%2Fazure-nvidia-robotics-reference-architecture/issues/509","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/509/packages"},{"uuid":"4044402854","node_id":"PR_kwDONr1Vks7JAv4d","number":534,"state":"closed","title":"Bump the all-python-packages group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-23T09:18:07.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-09T09:22:28.000Z","updated_at":"2026-03-23T09:18:09.000Z","time_to_close":1209339,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all-python-packages","update_count":24,"packages":[{"name":"accelerate","old_version":"1.10.1","new_version":"1.13.0","repository_url":"https://github.com/huggingface/accelerate"},{"name":"datasets","old_version":"4.2.0","new_version":"4.6.1","repository_url":"https://github.com/huggingface/datasets"},{"name":"flwr","old_version":"1.22.0","new_version":"1.26.1","repository_url":"https://github.com/adap/flower"},{"name":"pyarrow","old_version":"21.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"pydantic","old_version":"2.12.0","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-settings","old_version":"2.11.0","new_version":"2.13.1","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"torch","old_version":"2.8.0","new_version":"2.10.0","repository_url":"https://github.com/pytorch/pytorch"},{"name":"peft","old_version":"0.17.1","new_version":"0.18.1","repository_url":"https://github.com/huggingface/peft"},{"name":"transformers","old_version":"4.56.2","new_version":"5.3.0","repository_url":"https://github.com/huggingface/transformers"},{"name":"grpcio","old_version":"1.75.1","new_version":"1.78.0","repository_url":"https://github.com/grpc/grpc"},{"name":"llama-index-core","old_version":"0.14.4","new_version":"0.14.15","repository_url":"https://github.com/run-llama/llama_index"},{"name":"langchain-core","old_version":"0.3.79","new_version":"1.2.17","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"codespell","old_version":"2.4.1","new_version":"2.4.2","repository_url":"https://github.com/codespell-project/codespell"},{"name":"isort","old_version":"7.0.0","new_version":"8.0.1","repository_url":"https://github.com/PyCQA/isort"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"pre-commit","old_version":"4.3.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"pytest","old_version":"8.4.2","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"ruff","old_version":"0.14.0","new_version":"0.15.5","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mkdocs-material","old_version":"9.6.21","new_version":"9.7.4","repository_url":"https://github.com/squidfunk/mkdocs-material"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-python-packages group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [accelerate](https://github.com/huggingface/accelerate) | `1.10.1` | `1.13.0` |\n| [datasets](https://github.com/huggingface/datasets) | `4.2.0` | `4.6.1` |\n| [flwr](https://github.com/adap/flower) | `1.22.0` | `1.26.1` |\n| [pyarrow](https://github.com/apache/arrow) | `21.0.0` | `23.0.1` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.0` | `2.12.5` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.11.0` | `2.13.1` |\n| [torch](https://github.com/pytorch/pytorch) | `2.8.0` | `2.10.0` |\n| [peft](https://github.com/huggingface/peft) | `0.17.1` | `0.18.1` |\n| [transformers](https://github.com/huggingface/transformers) | `4.56.2` | `5.3.0` |\n| [grpcio](https://github.com/grpc/grpc) | `1.75.1` | `1.78.0` |\n| [llama-index-core](https://github.com/run-llama/llama_index) | `0.14.4` | `0.14.15` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `0.3.79` | `1.2.17` |\n| [codespell](https://github.com/codespell-project/codespell) | `2.4.1` | `2.4.2` |\n| [isort](https://github.com/PyCQA/isort) | `7.0.0` | `8.0.1` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.1` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.3.0` | `4.5.1` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.0` | `0.15.5` |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.6.21` | `9.7.4` |\n\n\nUpdates `accelerate` from 1.10.1 to 1.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/huggingface/accelerate/releases\"\u003eaccelerate's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.13.0: Neuron support, IPEX removal, and distributed training fixes\u003c/h2\u003e\n\u003ch2\u003eAWS Neuron support\u003c/h2\u003e\n\u003cp\u003eWe now have support for  AWS Neuron (Trainium/Inferentia) devices. Thanks \u003ca href=\"https://github.com/michaelbenayoun\"\u003e\u003ccode\u003e@​michaelbenayoun\u003c/code\u003e\u003c/a\u003e for adding this.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNeuron integration by \u003ca href=\"https://github.com/michaelbenayoun\"\u003e\u003ccode\u003e@​michaelbenayoun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3935\"\u003ehuggingface/accelerate#3935\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eXPU Improvements\u003c/h3\u003e\n\u003cp\u003eWe've removed IPEX dependency and improved device-agnostic code for XPU.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eusing spawn instead of fork for XPU device by \u003ca href=\"https://github.com/kaixuanliu\"\u003e\u003ccode\u003e@​kaixuanliu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3884\"\u003ehuggingface/accelerate#3884\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove ipex by \u003ca href=\"https://github.com/yao-matrix\"\u003e\u003ccode\u003e@​yao-matrix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3883\"\u003ehuggingface/accelerate#3883\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eenhance new codes to XPU, and make them be device agnostic by \u003ca href=\"https://github.com/yao-matrix\"\u003e\u003ccode\u003e@​yao-matrix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3890\"\u003ehuggingface/accelerate#3890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix KMP_AFFINITY incorrectly set for non-CPU training by \u003ca href=\"https://github.com/hexfaker\"\u003e\u003ccode\u003e@​hexfaker\u003c/code\u003e\u003c/a\u003e in\n\u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3912\"\u003ehuggingface/accelerate#3912\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFSDP2 Improvements\u003c/h2\u003e\n\u003cp\u003eWe've added a bunch of important fixes for FSDP2 users: upcasting only grad-requiring params, better tied embedding errors, DCP optimizer loading, bf16 optimizer step crash fix, and torch \u0026lt; 2.7.0 compatibility.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpcast FSDP2 parameters only if requires_grad by \u003ca href=\"https://github.com/ojh31\"\u003e\u003ccode\u003e@​ojh31\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3848\"\u003ehuggingface/accelerate#3848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix FSDP2 tied embedding errors with targeted ValueError guidance by \u003ca href=\"https://github.com/amanzoni1\"\u003e\u003ccode\u003e@​amanzoni1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3878\"\u003ehuggingface/accelerate#3878\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebug: fsdp cannot load optimizer state using dcp by \u003ca href=\"https://github.com/flymin\"\u003e\u003ccode\u003e@​flymin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3904\"\u003ehuggingface/accelerate#3904\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix crash in optimizer.step when fsdp2 is enabled and model is bfloat16 by \u003ca href=\"https://github.com/sywangyi\"\u003e\u003ccode\u003e@​sywangyi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3905\"\u003ehuggingface/accelerate#3905\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix FSDP2 crash with ignored_params on torch \u0026lt; 2.7.0 by \u003ca href=\"https://github.com/Mr-Neutr0n\"\u003e\u003ccode\u003e@​Mr-Neutr0n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3924\"\u003ehuggingface/accelerate#3924\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeepSpeed Sequence Parallelism\u003c/h2\u003e\n\u003cp\u003eWe've added several fixes to the DeepSpeed + Sequence Parallelism integration introduced in v1.12.0, including evaluation support during SP training and proper process group handling.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[SP] fix loss computation example by \u003ca href=\"https://github.com/kashif\"\u003e\u003ccode\u003e@​kashif\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3858\"\u003ehuggingface/accelerate#3858\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[SP and CP] error out if both CP and SP enabled by \u003ca href=\"https://github.com/kashif\"\u003e\u003ccode\u003e@​kashif\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3862\"\u003ehuggingface/accelerate#3862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeepSpeed has its own process group by \u003ca href=\"https://github.com/kashif\"\u003e\u003ccode\u003e@​kashif\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3916\"\u003ehuggingface/accelerate#3916\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Deepspeed] skip device mesh creation when deepspeed and sp_size \u0026gt;1 by \u003ca href=\"https://github.com/kashif\"\u003e\u003ccode\u003e@​kashif\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3914\"\u003ehuggingface/accelerate#3914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable evaluation during deepspeed Sequence Parallel by \u003ca href=\"https://github.com/jp1924\"\u003e\u003ccode\u003e@​jp1924\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3917\"\u003ehuggingface/accelerate#3917\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFP8\u003c/h3\u003e\n\u003cp\u003eWe've enhanced FP8 training. Thanks \u003ca href=\"https://github.com/shimizust\"\u003e\u003ccode\u003e@​shimizust\u003c/code\u003e\u003c/a\u003e for fixing torchao support.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix FP8 torchao default config with padding and FSDP2 all-gather support by \u003ca href=\"https://github.com/shimizust\"\u003e\u003ccode\u003e@​shimizust\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3831\"\u003ehuggingface/accelerate#3831\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix execution with Transformer Engine by \u003ca href=\"https://github.com/ksivaman\"\u003e\u003ccode\u003e@​ksivaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3852\"\u003ehuggingface/accelerate#3852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd MS-AMP deprecation warnings by \u003ca href=\"https://github.com/neha222222\"\u003e\u003ccode\u003e@​neha222222\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3857\"\u003ehuggingface/accelerate#3857\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cp\u003eAccelerate now imports faster by deferring heavy dependencies, and torch.compile hooks are disabled lazily.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFaster import by \u003ca href=\"https://github.com/SunMarc\"\u003e\u003ccode\u003e@​SunMarc\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3953\"\u003ehuggingface/accelerate#3953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elazy compile disable by \u003ca href=\"https://github.com/SunMarc\"\u003e\u003ccode\u003e@​SunMarc\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3947\"\u003ehuggingface/accelerate#3947\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable hook compile by \u003ca href=\"https://github.com/SunMarc\"\u003e\u003ccode\u003e@​SunMarc\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3888\"\u003ehuggingface/accelerate#3888\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMinor fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow non-Tensor values in a batch with dispatch_batches=True by \u003ca href=\"https://github.com/tomaarsen\"\u003e\u003ccode\u003e@​tomaarsen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3850\"\u003ehuggingface/accelerate#3850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix module and optimizer parameter mismatch before prepare_tp_ by \u003ca href=\"https://github.com/naomili0924\"\u003e\u003ccode\u003e@​naomili0924\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3845\"\u003ehuggingface/accelerate#3845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix KeyError in extract_model_from_parallel for partial torch.compile by \u003ca href=\"https://github.com/amanzoni1\"\u003e\u003ccode\u003e@​amanzoni1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3881\"\u003ehuggingface/accelerate#3881\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix hf_device_map device index comparison in prepare_model by \u003ca href=\"https://github.com/rezaqorbani\"\u003e\u003ccode\u003e@​rezaqorbani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3895\"\u003ehuggingface/accelerate#3895\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix StatefulDataLoader KeyError with num_workers \u0026gt; 0 by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3931\"\u003ehuggingface/accelerate#3931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix stateful dataloader DDP by \u003ca href=\"https://github.com/SunMarc\"\u003e\u003ccode\u003e@​SunMarc\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3952\"\u003ehuggingface/accelerate#3952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Remove duplicate W\u0026amp;B initialization in offline mode by \u003ca href=\"https://github.com/shantanugupta2004\"\u003e\u003ccode\u003e@​shantanugupta2004\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3886\"\u003ehuggingface/accelerate#3886\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/huggingface/accelerate/commit/e6ee1337014f6f97c3cf58f806aa28a0109f09a5\"\u003e\u003ccode\u003ee6ee133\u003c/code\u003e\u003c/a\u003e Release: v1.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/accelerate/commit/2a7e27f75d25def4c2cd6011afe56c47b7b9438b\"\u003e\u003ccode\u003e2a7e27f\u003c/code\u003e\u003c/a\u003e Fix testing ci (\u003ca href=\"https://redirect.github.com/huggingface/accelerate/issues/3955\"\u003e#3955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/accelerate/commit/0990ded55acd8c4f363e767e6c851cc3701d1c20\"\u003e\u003ccode\u003e0990ded\u003c/code\u003e\u003c/a\u003e Faster import (\u003ca href=\"https://redirect.github.com/huggingface/accelerate/issues/3953\"\u003e#3953\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/accelerate/commit/5cf9cf88a4deeb7d627fc3efadd9af5a77353888\"\u003e\u003ccode\u003e5cf9cf8\u003c/code\u003e\u003c/a\u003e fix-stateful-dataloader (\u003ca href=\"https://redirect.github.com/huggingface/accelerate/issues/3952\"\u003e#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/accelerate/commit/beed693e4f58820ad97c79e4373af944c8fdb3d4\"\u003e\u003ccode\u003ebeed693\u003c/code\u003e\u003c/a\u003e Prepare TP fix (\u003ca href=\"https://redirect.github.com/huggingface/accelerate/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/accelerate/commit/8067abae81abbd176af65dc9694f9f99dacf3985\"\u003e\u003ccode\u003e8067aba\u003c/code\u003e\u003c/a\u003e Fix StatefulDataLoader KeyError with num_workers \u0026gt; 0 (\u003ca href=\"https://redirect.github.com/huggingface/accelerate/issues/3931\"\u003e#3931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/accelerate/commit/8ec83c8aa264baf04a298e02aa07d1540463cce2\"\u003e\u003ccode\u003e8ec83c8\u003c/code\u003e\u003c/a\u003e Fix FSDP2 crash with ignored_params on torch \u0026lt; 2.7.0 (\u003ca href=\"https://redirect.github.com/huggingface/accelerate/issues/3924\"\u003e#3924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/accelerate/commit/7554afbc7acb936cf888e68421012654f4e2016c\"\u003e\u003ccode\u003e7554afb\u003c/code\u003e\u003c/a\u003e Fix mutable default in Megatron init and IndexError on empty ModuleList (\u003ca href=\"https://redirect.github.com/huggingface/accelerate/issues/3944\"\u003e#3944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/accelerate/commit/23f2ab396713bc915f726c1af4a066e1654f854c\"\u003e\u003ccode\u003e23f2ab3\u003c/code\u003e\u003c/a\u003e Fix logging logic when in_order is set to True (\u003ca href=\"https://redirect.github.com/huggingface/accelerate/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/accelerate/commit/58c3605fee95c81633a5619af8f823a3cb0610cb\"\u003e\u003ccode\u003e58c3605\u003c/code\u003e\u003c/a\u003e docs: update low-precision training docs to reflect MS-AMP deprecation (\u003ca href=\"https://redirect.github.com/huggingface/accelerate/issues/3929\"\u003e#3929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/huggingface/accelerate/compare/v1.10.1...v1.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `datasets` from 4.2.0 to 4.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/huggingface/datasets/releases\"\u003edatasets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.6.1\u003c/h2\u003e\n\u003ch2\u003eBug fix\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove tmp file in push to hub by \u003ca href=\"https://github.com/lhoestq\"\u003e\u003ccode\u003e@​lhoestq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/datasets/pull/8030\"\u003ehuggingface/datasets#8030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/huggingface/datasets/compare/4.6.0...4.6.1\"\u003ehttps://github.com/huggingface/datasets/compare/4.6.0...4.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.6.0\u003c/h2\u003e\n\u003ch2\u003eDataset Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Image, Video and Audio types in Lance datasets\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInfer types from lance blobs by \u003ca href=\"https://github.com/lhoestq\"\u003e\u003ccode\u003e@​lhoestq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/datasets/pull/7966\"\u003ehuggingface/datasets#7966\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e\u0026gt;\u0026gt;\u0026gt; from datasets import load_dataset\r\n\u0026gt;\u0026gt;\u0026gt; ds = load_dataset(\u0026quot;lance-format/Openvid-1M\u0026quot;, streaming=True, split=\u0026quot;train\u0026quot;)\r\n\u0026gt;\u0026gt;\u0026gt; ds.features\r\n{'video_blob': Video(),\r\n 'video_path': Value('string'),\r\n 'caption': Value('string'),\r\n 'aesthetic_score': Value('float64'),\r\n 'motion_score': Value('float64'),\r\n 'temporal_consistency_score': Value('float64'),\r\n 'camera_motion': Value('string'),\r\n 'frame': Value('int64'),\r\n 'fps': Value('float64'),\r\n 'seconds': Value('float64'),\r\n 'embedding': List(Value('float32'), length=1024)}\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePush to hub now supports Video types\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003epush_to_hub() for videos by \u003ca href=\"https://github.com/lhoestq\"\u003e\u003ccode\u003e@​lhoestq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/datasets/pull/7971\"\u003ehuggingface/datasets#7971\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e \u0026gt;\u0026gt;\u0026gt; from datasets import Dataset, Video\r\n\u0026gt;\u0026gt;\u0026gt; ds = Dataset.from_dict({\u0026quot;video\u0026quot;: [\u0026quot;path/to/video.mp4\u0026quot;]})\r\n\u0026gt;\u0026gt;\u0026gt; ds = ds.cast_column(\u0026quot;video\u0026quot;, Video())\r\n\u0026gt;\u0026gt;\u0026gt; ds.push_to_hub(\u0026quot;username/my-video-dataset\u0026quot;)\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWrite image/audio/video blobs as is in parquet (PLAIN) in \u003ccode\u003epush_to_hub()\u003c/code\u003e by \u003ca href=\"https://github.com/lhoestq\"\u003e\u003ccode\u003e@​lhoestq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/datasets/pull/7976\"\u003ehuggingface/datasets#7976\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ethis enables cross-format Xet deduplication for image/audio/video, e.g. deduplicate videos between Lance, WebDataset, Parquet files and plain video files and make downloads and uploads faster to Hugging Face\u003c/li\u003e\n\u003cli\u003eE.g. if you convert a Lance video dataset to a Parquet video dataset on Hugging Face, the upload will be much faster since videos don't need to be reuploaded. Under the hood, the Xet storage reuses the binary chunks from the videos in Lance format for the videos in Parquet format\u003c/li\u003e\n\u003cli\u003eSee more info here: \u003ca href=\"https://huggingface.co/docs/hub/en/xet/deduplication\"\u003ehttps://huggingface.co/docs/hub/en/xet/deduplication\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eIterableDataset.reshard()\u003c/code\u003e by \u003ca href=\"https://github.com/lhoestq\"\u003e\u003ccode\u003e@​lhoestq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/datasets/pull/7992\"\u003ehuggingface/datasets#7992\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/huggingface/datasets/commit/7afef69924fd7443f6bbd5f154751ed2bb3c5cd7\"\u003e\u003ccode\u003e7afef69\u003c/code\u003e\u003c/a\u003e release: 4.6.1 (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/8031\"\u003e#8031\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/datasets/commit/a00be0312aa6570db0e2d99c0deafdb618956275\"\u003e\u003ccode\u003ea00be03\u003c/code\u003e\u003c/a\u003e Remove tmp file in push to hub (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/8030\"\u003e#8030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/datasets/commit/6e8eaeed4d202b72eff44ba1a9ec5b7d81d2d3e6\"\u003e\u003ccode\u003e6e8eaee\u003c/code\u003e\u003c/a\u003e set dev version (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/8026\"\u003e#8026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/datasets/commit/c02b8630a8a423629558f7afea3464ff32eb321f\"\u003e\u003ccode\u003ec02b863\u003c/code\u003e\u003c/a\u003e release: 4.6.0 (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/8025\"\u003e#8025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/datasets/commit/bd43ab9dc92a4da027351207de66a2c1bf5faa19\"\u003e\u003ccode\u003ebd43ab9\u003c/code\u003e\u003c/a\u003e Allow import polars in map() (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/8024\"\u003e#8024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/datasets/commit/f428626f27514aa9fcbd1dd3f40c38e34e27f12b\"\u003e\u003ccode\u003ef428626\u003c/code\u003e\u003c/a\u003e Support empty shard in from_generator (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/8023\"\u003e#8023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/datasets/commit/fe7353a478c1bd25873fad210ac4bdd4bb0c63cc\"\u003e\u003ccode\u003efe7353a\u003c/code\u003e\u003c/a\u003e More IterableDataset.from_x methods and docs and polars.Lazyframe support (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/8\"\u003e#8\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/datasets/commit/d58f2ccc4045a5f3ab80162af2d7589c37be9658\"\u003e\u003ccode\u003ed58f2cc\u003c/code\u003e\u003c/a\u003e Fix: make environment variable naming consistent (issue \u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/7998\"\u003e#7998\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/8000\"\u003e#8000\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/datasets/commit/8f566df0595928d852d4de422ed25d7531e9e3fb\"\u003e\u003ccode\u003e8f566df\u003c/code\u003e\u003c/a\u003e Bump fsspec upper bound to 2026.2.0 (fixes \u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/7994\"\u003e#7994\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/7995\"\u003e#7995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/datasets/commit/3495e43586704e6bbf05b05bd4ae9620392bd794\"\u003e\u003ccode\u003e3495e43\u003c/code\u003e\u003c/a\u003e very basic support for more hf urls (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/8003\"\u003e#8003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/huggingface/datasets/compare/4.2.0...4.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flwr` from 1.22.0 to 1.26.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/adap/flower/releases\"\u003eflwr's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eFlower 1.26.1\u003c/h2\u003e\n\u003ch3\u003eThanks to our contributors\u003c/h3\u003e\n\u003cp\u003eWe would like to give our special thanks to all the contributors who made the new version of Flower possible (in \u003ccode\u003egit shortlog\u003c/code\u003e order):\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eCharles Beauville\u003c/code\u003e, \u003ccode\u003eChong Shen Ng\u003c/code\u003e, \u003ccode\u003eCopilot\u003c/code\u003e, \u003ccode\u003eDaniel J. Beutel\u003c/code\u003e, \u003ccode\u003eHeng Pan\u003c/code\u003e, \u003ccode\u003eJavier\u003c/code\u003e, \u003ccode\u003eTaner Topal\u003c/code\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's new?\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix client resource handling in local simulations\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/pull/6536\"\u003e#6536\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eFix an issue in local simulations where backend configuration is not correctly propagated, causing virtual client resource settings such as CPU and GPU allocations in the Flower Configuration to be ignored.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eUpdate framework documentation\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/pull/6528\"\u003e#6528\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6530\"\u003e#6530\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eGeneral improvements\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/pull/6526\"\u003e#6526\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6493\"\u003e#6493\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6534\"\u003e#6534\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6531\"\u003e#6531\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6523\"\u003e#6523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6529\"\u003e#6529\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6501\"\u003e#6501\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFlower 1.26.0\u003c/h2\u003e\n\u003ch3\u003eThanks to our contributors\u003c/h3\u003e\n\u003cp\u003eWe would like to give our special thanks to all the contributors who made the new version of Flower possible (in \u003ccode\u003egit shortlog\u003c/code\u003e order):\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eCharles Beauville\u003c/code\u003e, \u003ccode\u003eChong Shen Ng\u003c/code\u003e, \u003ccode\u003eDaniel J. Beutel\u003c/code\u003e, \u003ccode\u003eFlippchen\u003c/code\u003e, \u003ccode\u003eHeng Pan\u003c/code\u003e, \u003ccode\u003eIason Ofeidis\u003c/code\u003e, \u003ccode\u003eJavier\u003c/code\u003e, \u003ccode\u003eJun S\u003c/code\u003e, \u003ccode\u003eSoumik Sarker\u003c/code\u003e, \u003ccode\u003eTaner Topal\u003c/code\u003e, \u003ccode\u003eYan Gao\u003c/code\u003e, \u003ccode\u003enihonge\u003c/code\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's new?\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eIntroduce centralized \u003ccode\u003eflwr\u003c/code\u003e CLI configuration\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/pull/6240\"\u003e#6240\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6338\"\u003e#6338\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6343\"\u003e#6343\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6349\"\u003e#6349\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6354\"\u003e#6354\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6356\"\u003e#6356\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6357\"\u003e#6357\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6359\"\u003e#6359\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6362\"\u003e#6362\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6364\"\u003e#6364\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6365\"\u003e#6365\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6366\"\u003e#6366\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6367\"\u003e#6367\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6372\"\u003e#6372\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6376\"\u003e#6376\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6381\"\u003e#6381\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6382\"\u003e#6382\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6385\"\u003e#6385\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6386\"\u003e#6386\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6390\"\u003e#6390\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6400\"\u003e#6400\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6422\"\u003e#6422\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6423\"\u003e#6423\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6435\"\u003e#6435\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6439\"\u003e#6439\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6440\"\u003e#6440\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6441\"\u003e#6441\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6446\"\u003e#6446\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6481\"\u003e#6481\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6492\"\u003e#6492\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6502\"\u003e#6502\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6509\"\u003e#6509\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6513\"\u003e#6513\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6519\"\u003e#6519\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eChanges Flower CLI (\u003ccode\u003eflwr\u003c/code\u003e) configuration to introduce a new way to manage SuperLink connections and simulation settings in a central place (instead of Flower app's \u003ccode\u003epyproject.toml\u003c/code\u003e). This enables \u003ccode\u003eflwr\u003c/code\u003e commands to be executed from any directory and allow reuse of named connections across different Flower apps. This change also removes the now obsolete \u003ccode\u003eenable-account-auth\u003c/code\u003e option. The central Flower CLI config fully replaces the legacy \u003ccode\u003efederation\u003c/code\u003e configuration in \u003ccode\u003epyproject.toml\u003c/code\u003e, which is automatically migrated to the new Flower configuration format when running \u003ccode\u003eflwr\u003c/code\u003e commands. For usage details, see the \u003ca href=\"https://flower.ai/docs/framework/main/en/ref-api-cli.html\"\u003eFlower CLI reference\u003c/a\u003e and the \u003ca href=\"https://flower.ai/docs/framework/main/en/ref-flower-configuration.html\"\u003eFlower configuration documentation\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eEnable automated database migrations on Flower version upgrades\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/pull/6345\"\u003e#6345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6355\"\u003e#6355\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6370\"\u003e#6370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6371\"\u003e#6371\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6378\"\u003e#6378\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6379\"\u003e#6379\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6380\"\u003e#6380\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6383\"\u003e#6383\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6384\"\u003e#6384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6387\"\u003e#6387\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6388\"\u003e#6388\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6389\"\u003e#6389\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6396\"\u003e#6396\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6398\"\u003e#6398\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6402\"\u003e#6402\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6403\"\u003e#6403\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6404\"\u003e#6404\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6406\"\u003e#6406\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6407\"\u003e#6407\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6408\"\u003e#6408\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6410\"\u003e#6410\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6411\"\u003e#6411\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6424\"\u003e#6424\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6425\"\u003e#6425\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6426\"\u003e#6426\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6433\"\u003e#6433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6436\"\u003e#6436\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6448\"\u003e#6448\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6450\"\u003e#6450\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6457\"\u003e#6457\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6459\"\u003e#6459\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6460\"\u003e#6460\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6469\"\u003e#6469\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6477\"\u003e#6477\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6478\"\u003e#6478\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6521\"\u003e#6521\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eRefactors Flower's internal states implementations to introduce Alembic-based schema migrations with automatic upgrades. This ensures database compatibility across Flower versions and lays the groundwork for supporting more types of databases. See the \u003ca href=\"https://flower.ai/docs/framework/contributor-how-to-migrate-database.html\"\u003edatabase migration guide\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImprove CLI error handling and usability\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/pull/6432\"\u003e#6432\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6437\"\u003e#6437\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6444\"\u003e#6444\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6462\"\u003e#6462\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6467\"\u003e#6467\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6505\"\u003e#6505\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eUpdates \u003ccode\u003eflwr\u003c/code\u003e CLI to provide clearer and more consistent error formatting, improves CLI error messages and logging, and shows command aliases.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImprove reliability of network stack, \u003ccode\u003eServerApp\u003c/code\u003e shutdown and Windows support\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/pull/6342\"\u003e#6342\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6430\"\u003e#6430\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6447\"\u003e#6447\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6456\"\u003e#6456\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6490\"\u003e#6490\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6504\"\u003e#6504\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eImproves the reliability of message transmission and capacity tracking under unstable network conditions and high concurrency, improves Windows process handling and address resolution, and ensures graceful shutdown of \u003ccode\u003eflwr-serverapp\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix and improve framework documentation\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/pull/6312\"\u003e#6312\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6336\"\u003e#6336\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6351\"\u003e#6351\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6397\"\u003e#6397\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6401\"\u003e#6401\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6434\"\u003e#6434\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6455\"\u003e#6455\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6470\"\u003e#6470\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6485\"\u003e#6485\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6506\"\u003e#6506\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6508\"\u003e#6508\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6511\"\u003e#6511\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6512\"\u003e#6512\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6516\"\u003e#6516\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eFixes an incorrect learning rate key in the tutorial series, updates the \u003ccode\u003eclientappio\u003c/code\u003e address in the auth example, and improves the documentation UI by making the versioning sidebar scrollable to show all versions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eUpdate and maintain examples\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/pull/6331\"\u003e#6331\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6334\"\u003e#6334\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6369\"\u003e#6369\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6395\"\u003e#6395\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6419\"\u003e#6419\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6474\"\u003e#6474\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6488\"\u003e#6488\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eUpdates the JAX quickstart, bumps example dependencies, makes the certificate generation script cross-platform, normalizes training loss in the PyTorch quickstart, and marks the legacy \u003ccode\u003equickstart-pytorch\u003c/code\u003e example as deprecated.\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/adap/flower/commit/18f6f47a023d354be3cd72fddc4df04d513b66cd\"\u003e\u003ccode\u003e18f6f47\u003c/code\u003e\u003c/a\u003e feat(framework): Update changelog for \u003ccode\u003ev1.26.1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6539\"\u003e#6539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adap/flower/commit/ff86cbb603da4d78157d30f40930e73c06ec5af9\"\u003e\u003ccode\u003eff86cbb\u003c/code\u003e\u003c/a\u003e refactor(*:skip): Bump dev versions to \u003ccode\u003e1.26.1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6538\"\u003e#6538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adap/flower/commit/c1d047ae9aa236e0ee11dd3f6fd4240c8d65fdcc\"\u003e\u003ccode\u003ec1d047a\u003c/code\u003e\u003c/a\u003e fix(framework): Fix passing backend config to Simulation Engine (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6536\"\u003e#6536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adap/flower/commit/abeab799adb1e95f910e835ef9877fa1aca3b5d6\"\u003e\u003ccode\u003eabeab79\u003c/code\u003e\u003c/a\u003e refactor(examples): Remove \u003ccode\u003eapp-pytorch\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6534\"\u003e#6534\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adap/flower/commit/e689ced8922de16e5ab12ef200348b3d44af2f74\"\u003e\u003ccode\u003ee689ced\u003c/code\u003e\u003c/a\u003e refactor(examples): Remove \u003ccode\u003etoml-federations\u003c/code\u003e from examples (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6501\"\u003e#6501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adap/flower/commit/3dc0067d8588ab22e48d80adb7f5b033519319a6\"\u003e\u003ccode\u003e3dc0067\u003c/code\u003e\u003c/a\u003e docs(framework): Update Helm parameters for 1.26.0 (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6530\"\u003e#6530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adap/flower/commit/48d86681c357e8c901c72eda9b00c1cbf9959cbf\"\u003e\u003ccode\u003e48d8668\u003c/code\u003e\u003c/a\u003e refactor(framework): Reduce dependency on \u003ccode\u003eGrpcClientProxy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6526\"\u003e#6526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adap/flower/commit/de40f8fe66d1a672ad5531ccf6d5c7c01bef0de1\"\u003e\u003ccode\u003ede40f8f\u003c/code\u003e\u003c/a\u003e refactor(framework): Use versioned doc links in changelog (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6531\"\u003e#6531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adap/flower/commit/cc63cfb2465a901536735d7e23ab55a7dbe9feb2\"\u003e\u003ccode\u003ecc63cfb\u003c/code\u003e\u003c/a\u003e ci(framework): Fix auto translation PR generation (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6529\"\u003e#6529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adap/flower/commit/68015e619378978bca04dc2a36b8326e98fe4467\"\u003e\u003ccode\u003e68015e6\u003c/code\u003e\u003c/a\u003e Update text and language files (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6528\"\u003e#6528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/adap/flower/compare/v1.22.0...v1.26.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 21.0.0 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.0.html\"\u003ehttps://arrow.apache.org/release/23.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.0 RC2\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.0 RC2\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/22.0.0.html\"\u003ehttps://arrow.apache.org/release/22.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0 RC1\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 22.0.0 RC1\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 22.0.0 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-21.0.0...apache-arrow-23.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.12.0 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.12.0...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.11.0 to 2.13.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.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Deterministic alias selection when using validate_by_name 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/707\"\u003epydantic/pydantic-settings#707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deep merge functionality to config file sources by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for AWS Secrets Manager VersionId parameter by \u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: Return \u003ccode\u003eNone\u003c/code\u003e for inaccessible GCP Secret Manager secrets by \u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix for cli_kebab_case=\u0026quot;all\u0026quot; and CliImplicitFlag[bool] by \u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnpack type alisases when looking for \u003ccode\u003eNoDecode\u003c/code\u003e 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/695\"\u003epydantic/pydantic-settings#695\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCliToggleFlag and CliDualFlag 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/717\"\u003epydantic/pydantic-settings#717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for CLI duplicate enum field 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/722\"\u003epydantic/pydantic-settings#722\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efixed load nested config from env by \u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd non-Path files support (for example Traversable) and open files using Path.open method by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd one more traversable test by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/725\"\u003epydantic/pydantic-settings#725\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI fix fox external list args. 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/727\"\u003epydantic/pydantic-settings#727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: handle case-insensitive retrieval in GoogleSecretManagerSettingsSource by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/730\"\u003epydantic/pydantic-settings#730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI test fixes for help text formatting. 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/735\"\u003epydantic/pydantic-settings#735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid conflicts with the \u003ccode\u003eNAME\u003c/code\u003e environment variable in WSL by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: When restoring init kwargs, use deterministic order 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/746\"\u003epydantic/pydantic-settings#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd env_prefix_target by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/749\"\u003epydantic/pydantic-settings#749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e(default: …)\u003c/code\u003e in the help message for \u003ccode\u003eCliToggleFlag\u003c/code\u003e by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/740\"\u003epydantic/pydantic-settings#740\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for CLI serialize styles. 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/755\"\u003epydantic/pydantic-settings#755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for overriding default help on CLI internal parser. 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/758\"\u003epydantic/pydantic-settings#758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI format_help method 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/759\"\u003epydantic/pydantic-settings#759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(gcp): support SecretVersion annotation for per-field secret versioning by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/763\"\u003epydantic/pydantic-settings#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003esnake_case_conversion\u003c/code\u003e with \u003ccode\u003eenv_prefix\u003c/code\u003e for Azure Key Vault source by \u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Only override preferred_key when no value was found 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/767\"\u003epydantic/pydantic-settings#767\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/768\"\u003epydantic/pydantic-settings#768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI coerce numeric types. 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/769\"\u003epydantic/pydantic-settings#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Union Discriminator Choices in 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/764\"\u003epydantic/pydantic-settings#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) by \u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.13.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/777\"\u003epydantic/pydantic-settings#777\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/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\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.12.0...v2.13.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.0\u003c/a\u003e\u003c/p\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\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/e87d12df0f42f7f72a3eb6d830cfbfb1d68b4496\"\u003e\u003ccode\u003ee87d12d\u003c/code\u003e\u003c/a\u003e v2.13.1 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/acf8c14f5ec314799f5bd0d3f6a1591c4ed2ec97\"\u003e\u003ccode\u003eacf8c14\u003c/code\u003e\u003c/a\u003e Fix JSON decoding for parameterized PEP 695 type aliases (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/58b236a36473e01bfe42e5f75d39d46721e0593d\"\u003e\u003ccode\u003e58b236a\u003c/code\u003e\u003c/a\u003e Fix AttributeError with nested env vars for dict fields (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/785\"\u003e#785\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/786\"\u003e#786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4933f06402ed55e32bcdcefd6c8f59ffe1fefd24\"\u003e\u003ccode\u003e4933f06\u003c/code\u003e\u003c/a\u003e Fix CLI parsing error for set field types since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/787\"\u003e#787\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/bd0ebe6215cf215d716e33d833cc2589a1d00a17\"\u003e\u003ccode\u003ebd0ebe6\u003c/code\u003e\u003c/a\u003e Fix RecursionError with self-referential models in CliApp (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/783\"\u003e#783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/eb7840e9f59a7969b23afdbcc4e5081e037736d8\"\u003e\u003ccode\u003eeb7840e\u003c/code\u003e\u003c/a\u003e Fix regression for bool fields since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/784\"\u003e#784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/198e71cf0cd570501535de7ae93a70953150f073\"\u003e\u003ccode\u003e198e71c\u003c/code\u003e\u003c/a\u003e Prepare release 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/777\"\u003e#777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/de71e84057b63b251ec84883b5e2ae886f82084f\"\u003e\u003ccode\u003ede71e84\u003c/code\u003e\u003c/a\u003e Add nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/773\"\u003e#773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/0f8f951b89b137bd563ce74dac016ba2c4cdc7a2\"\u003e\u003ccode\u003e0f8f951\u003c/code\u003e\u003c/a\u003e CLI Union Discriminator Choices in Help (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/764\"\u003e#764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/ce9804c4620d38f0c3b3c1e3ebe10d934fd4ba2e\"\u003e\u003ccode\u003ece9804c\u003c/code\u003e\u003c/a\u003e CLI coerce numeric types. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/769\"\u003e#769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.13.1\"\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.10.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\u003ch1\u003ePyTorch 2.10.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-10-release-blog/\"\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\u003ch2\u003eDataloader Frontend\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved unused \u003ccode\u003edata_source\u003c/code\u003e argument from Sampler (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/pull/163134\"\u003e#163134\u003c/a\u003e). This is a no-op, unless you have a custom sampler that uses this argument. Please update your custom sampler accordingly.\u003c/li\u003e\n\u003cli\u003eRemoved deprecated imports for torch.utils.data.datapipes.iter.grouping (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/pull/163438\"\u003e#163438\u003c/a\u003e). \u003ccode\u003efrom torch.utils.data.datapipes.iter.grouping import SHARDING_PRIORITIES, ShardingFilterIterDataPipe\u003c/code\u003e is no longer supported. Please import from \u003ccode\u003etorch.utils.data.datapipes.iter.sharding\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etorch.nn\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove Nested Jagged Tensor support from \u003ccode\u003enn.attention.flex_attention\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/pull/161734\"\u003e#161734\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/pytorch/pytorch/commit/449b1768410104d3ed79d3bcfe4ba1d65c7f22c0\"\u003e\u003ccode\u003e449b176\u003c/code\u003e\u003c/a\u003e Add Jo...\n\n_Description has been truncated_","html_url":"https://github.com/VectorInstitute/fed-rag/pull/534","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/VectorInstitute%2Ffed-rag/issues/534","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/534/packages"},{"uuid":"4029364789","node_id":"PR_kwDOQFtGkc7IQot7","number":277,"state":"closed","title":"build(deps): bump the production group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-09T23:58:45.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-05T16:34:30.000Z","updated_at":"2026-03-09T23:58:48.000Z","time_to_close":372255,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"production","update_count":9,"packages":[{"name":"pandera","old_version":"0.22.1","new_version":"0.29.0","repository_url":"https://github.com/pandera-dev/pandera"},{"name":"numpy","old_version":"1.26.4","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"logbook","old_version":"1.8.2","new_version":"1.9.2","repository_url":"https://github.com/getlogbook/logbook"},{"name":"jaxtyping","old_version":"0.2.38","new_version":"0.3.9","repository_url":"https://github.com/patrick-kidger/jaxtyping"},{"name":"polars","old_version":"1.37.1","new_version":"1.38.1","repository_url":"https://github.com/pola-rs/polars"},{"name":"pyarrow","old_version":"23.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"fsspec","old_version":"2026.1.0","new_version":"2026.2.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"protobuf","old_version":"5.29.6","new_version":"6.33.5","repository_url":"https://github.com/protocolbuffers/protobuf"}],"path":null,"ecosystem":"pip"},"body":"Bumps the production group with 9 updates in the /packages/interfaces_pkg directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pandera](https://github.com/pandera-dev/pandera) | `0.22.1` | `0.29.0` |\n| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.4.2` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [logbook](https://github.com/getlogbook/logbook) | `1.8.2` | `1.9.2` |\n| [jaxtyping](https://github.com/patrick-kidger/jaxtyping) | `0.2.38` | `0.3.9` |\n| [polars](https://github.com/pola-rs/polars) | `1.37.1` | `1.38.1` |\n| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `23.0.1` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2026.1.0` | `2026.2.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `5.29.6` | `6.33.5` |\n\n\nUpdates `pandera` from 0.22.1 to 0.29.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandera-dev/pandera/releases\"\u003epandera's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.29.0: support list, dict, and tuple of dataframes\u003c/h2\u003e\n\u003ch2\u003e⭐️ Highlight\u003c/h2\u003e\n\u003cp\u003ePandera now supports collection types containing dataframes, shoutout to \u003ca href=\"https://github.com/garethellis0\"\u003e\u003ccode\u003e@​garethellis0\u003c/code\u003e\u003c/a\u003e with an amazing first contribution!\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e@pa.check_types\r\ndef process_tuple_and_return_dict(\r\n    dfs: tuple[DataFrame[OnlyZeroesSchema], DataFrame[OnlyOnesSchema]],\r\n) -\u0026gt; dict[str, DataFrame[OnlyZeroesSchema]]:\r\n    return {\r\n        \u0026quot;foo\u0026quot;: dfs[0],\r\n        \u0026quot;bar\u0026quot;: dfs[0]\r\n    }\r\n\u003cp\u003eresult = process_tuple_and_return_dict((\npd.DataFrame({\u0026quot;a\u0026quot;: [0, 0]}),\npd.DataFrame({\u0026quot;a\u0026quot;: [1, 1]}),\n))\nprint(result)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeature/1078: Added Support For List, Dict, And Tuples Of Dataframes by \u003ca href=\"https://github.com/garethellis0\"\u003e\u003ccode\u003e@​garethellis0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2204\"\u003eunionai-oss/pandera#2204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epin sphinx version by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2208\"\u003eunionai-oss/pandera#2208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd map datatype to the Ibis engine implementation by \u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2206\"\u003eunionai-oss/pandera#2206\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/garethellis0\"\u003e\u003ccode\u003e@​garethellis0\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2204\"\u003eunionai-oss/pandera#2204\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.28.1...v0.29.0\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.28.1...v0.29.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.28.1: Fix regressions in Check behavior\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix bugs in Check interface and Field by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2203\"\u003eunionai-oss/pandera#2203\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.28.0...v0.28.1\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.28.0...v0.28.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease 0.28.0: Add support for Pyspark 4\u003c/h2\u003e\n\u003ch2\u003e⭐️ Highlight\u003c/h2\u003e\n\u003cp\u003ePandera now supports Pyspark 4 🚀\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(pyspark): restructure pyspark components by \u003ca href=\"https://github.com/ELC\"\u003e\u003ccode\u003e@​ELC\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2007\"\u003eunionai-oss/pandera#2007\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd support for pyspark 4 by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2193\"\u003eunionai-oss/pandera#2193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDecouple import dependencies for io serialization formats by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2195\"\u003eunionai-oss/pandera#2195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eget_annotations\u003c/code\u003e instead of direct \u003ccode\u003e__annotations__\u003c/code\u003e access by \u003ca href=\"https://github.com/amerberg\"\u003e\u003ccode\u003e@​amerberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2196\"\u003eunionai-oss/pandera#2196\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/unionai-oss/pandera/commit/7614754cb29f3495b1c1bc342e79176ebfa815be\"\u003e\u003ccode\u003e7614754\u003c/code\u003e\u003c/a\u003e Add map datatype to the Ibis engine implementation (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2206\"\u003e#2206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/8b87d0fd66a98a8525cfa6aae26facd566863712\"\u003e\u003ccode\u003e8b87d0f\u003c/code\u003e\u003c/a\u003e pin sphinx version (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2208\"\u003e#2208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/dc109085066c408a88a4d78e8b5a5daa06a55045\"\u003e\u003ccode\u003edc10908\u003c/code\u003e\u003c/a\u003e feature/1078: Added Support For List, Dict, And Tuples Of Dataframes (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2204\"\u003e#2204\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/71f860aa59ff6477134a1190d656f9d678574c9d\"\u003e\u003ccode\u003e71f860a\u003c/code\u003e\u003c/a\u003e fix bugs in Check interface and Field (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2203\"\u003e#2203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/82096dd7974de7531532ea7734c70030c27b859b\"\u003e\u003ccode\u003e82096dd\u003c/code\u003e\u003c/a\u003e schema descriptor should raise AttributeError if build_schema_ is not impleme...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/7055cbd38ee65259975249c48b25aa4c5b2a8327\"\u003e\u003ccode\u003e7055cbd\u003c/code\u003e\u003c/a\u003e Avoid full materialization of levels in failing MultiIndex validations (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2187\"\u003e#2187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/b69c6fa232d5e9bea39c84d1fb9116d95603043a\"\u003e\u003ccode\u003eb69c6fa\u003c/code\u003e\u003c/a\u003e Update .git-blame-ignore-revs to add Ruff refactor (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2199\"\u003e#2199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/42a2b3446eaf2a60d7945a5127072e720cc595b9\"\u003e\u003ccode\u003e42a2b34\u003c/code\u003e\u003c/a\u003e Support the \u003ccode\u003eDecimal\u003c/code\u003e data type in the Ibis engine (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2194\"\u003e#2194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/8c3b46ce02e5f723841072af4d2f5d280d11cca5\"\u003e\u003ccode\u003e8c3b46c\u003c/code\u003e\u003c/a\u003e Re-implement improvements to str_length check (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2198\"\u003e#2198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/8abbf2617918808e347c495f0270635c3ca10b73\"\u003e\u003ccode\u003e8abbf26\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003eget_annotations\u003c/code\u003e instead of direct \u003ccode\u003e__annotations__\u003c/code\u003e access (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2196\"\u003e#2196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandera-dev/pandera/compare/v0.22.1...v0.29.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 1.26.4 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\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/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/v1.26.4...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 2.3.3 to 3.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epandas 3.0.1\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.1.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/dev/whatsnew/v3.0.1.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003epandas 3.0.0\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.0, a major release from the pandas 2.x series. This release includes various new features, bug fixes, and performance improvements, as well as possible breaking changes.\u003c/p\u003e\n\u003cp\u003eThe pandas 3.0 release removed a functionality that was deprecated in previous releases. It is recommended to first upgrade to pandas 2.3 and to ensure your code is working without warnings, before upgrading to pandas 3.0.\u003c/p\u003e\n\u003cp\u003eHighlights include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-enhancements-string-dtype\"\u003eDedicated string data type by default\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-enhancements-copy_on_write\"\u003eConsistent copy/view behaviour with Copy-on-Write\u003c/a\u003e (CoW) (a.k.a. getting rid of the SettingWithCopyWarning)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-api-breaking-datetime-resolution-inference\"\u003eNew default resolution for datetime-like data\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-enhancements-col\"\u003eInitial support for the new \u003ccode\u003epd.col\u003c/code\u003e syntax\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/community/blog/pandas-3.0.html\"\u003eannouncement blog post\u003c/a\u003e and the \u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html\"\u003edetailed release notes\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues/new/choose\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003ePandas 3.0.0rc2\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ePandas 3.0.0rc1\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/pandas-dev/pandas/commit/e04b26f375035e5106cb913e47b6db612f4ebb11\"\u003e\u003ccode\u003ee04b26f\u003c/code\u003e\u003c/a\u003e RLS: 3.0.1  (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64206\"\u003e#64206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/47909e67760389ad32094b586eadcfceb52235b8\"\u003e\u003ccode\u003e47909e6\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] ENH: Add item() method to ExtensionArray class (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64134\"\u003e#64134\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64\"\u003e#64\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/a061bfd2f31ebba410ab87db475df651d02f8bcd\"\u003e\u003ccode\u003ea061bfd\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64199\"\u003e#64199\u003c/a\u003e on branch 3.0.x (DOC: cleanup 3.0.1 whatsnew) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64201\"\u003e#64201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/085a3856d362c4b849d84754cbc7005f2539dc54\"\u003e\u003ccode\u003e085a385\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: Fix read_hdf failing on generic datetime64 dtype (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/6400\"\u003e#6400\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/5f1704777bc2fe4864875d49b87d4e4cab417f30\"\u003e\u003ccode\u003e5f17047\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: use fill_null fallback for bug in pyarrow 21 on Windows...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/0d3a8cba13397e84606716f545f0afdce26172c4\"\u003e\u003ccode\u003e0d3a8cb\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64122\"\u003e#64122\u003c/a\u003e on branch 3.0.x (REG: Allow RE2 syntax in str.contains and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/78e1917e4d45dbea16636194b240a18b1a42bc97\"\u003e\u003ccode\u003e78e1917\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64185\"\u003e#64185\u003c/a\u003e on branch 3.0.x (TST: remove fixed xfail for PyArrow 23.0....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/75a42cabc9ff39b1ade4afabd0bc54b972d326b7\"\u003e\u003ccode\u003e75a42ca\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64168\"\u003e#64168\u003c/a\u003e on branch 3.0.x (TST: add legacy file generation and tests...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/46d443f9d603a0f65672182133e0e83f108afdcc\"\u003e\u003ccode\u003e46d443f\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64092\"\u003e#64092\u003c/a\u003e on branch 3.0.x (BUG: DataFrame.loc fills b'' instead of N...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/9d6793220be57edda0b9abb68dfa0b1740baf569\"\u003e\u003ccode\u003e9d67932\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64068\"\u003e#64068\u003c/a\u003e on branch 3.0.x (BUG: fixed to_timedelta with list of int ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v2.3.3...v3.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `logbook` from 1.8.2 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/getlogbook/logbook/releases\"\u003elogbook's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.2\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/getlogbook/logbook/blob/main/CHANGES\"\u003eCHANGES\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/getlogbook/logbook/blob/main/CHANGES\"\u003eCHANGES\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/getlogbook/logbook/blob/main/CHANGES\"\u003eCHANGES\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/getlogbook/logbook/blob/main/CHANGES\"\u003elogbook's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.2\u003c/h2\u003e\n\u003cp\u003eFixed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- When used as a context manager, handlers, flags, and processors would swallow\n  a raised ``BaseException`` and raise a ``TypeError`` `[#500](https://github.com/getlogbook/logbook/issues/500) \u0026lt;https://github.com/getlogbook/logbook/issues/500\u0026gt;`_.\n\u003ch2\u003eVersion 1.9.1\u003c/h2\u003e\n\u003cp\u003eFixed\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequired files were missing from the source distribution (sdist).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0\u003c/h2\u003e\n\u003cp\u003eAdded\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Python 3.14 support\n- Python 3.14 free-threading support (beta). This does not extend to all optional\n  dependencies. At the time of writing, the following extras are not supported due\n  to their dependencies pulling in C extensions which do not support free-threading:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebrotli\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enteventlog\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esqlalchemy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWheels are built for Windows ARM64\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanged\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe way handlers, flags, and processors are activated is now based on\n:mod:\u003ccode\u003econtextvars\u003c/code\u003e, and has been completely rewritten. See deprecations since\nmany methods have been deprecated and are mere aliases to the new defaults.\u003c/li\u003e\n\u003cli\u003eCython has been replaced with Rust for the speedups module.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLogbook[brotli]\u003c/code\u003e depends on \u003ccode\u003ebrotlicffi\u003c/code\u003e on non-CPython implementations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecated\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- ``logbook.__version__``. Use :mod:`importlib.metadata` instead.\n- There are now only two ways to activate :class:`~logbook.Handler`,\n  :class:`~logbook.Flags`, and :class:`~logbook.Processor` instances.\n\u003cp\u003eEither globally:\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/ab46a87502ed5bd5e83ee208aa6dabb05adece36\"\u003e\u003ccode\u003eab46a87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/502\"\u003e#502\u003c/a\u003e from getlogbook/feature/prepare-1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/d720c277fb2bf5a179fda8e097b8986db9465029\"\u003e\u003ccode\u003ed720c27\u003c/code\u003e\u003c/a\u003e Bump version to 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/4815c8a10c7bed301d8f00fa8502340e96e24c44\"\u003e\u003ccode\u003e4815c8a\u003c/code\u003e\u003c/a\u003e Update CHANGES\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/3899e0b8a15e9a881f679d92424510c401cce14d\"\u003e\u003ccode\u003e3899e0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/501\"\u003e#501\u003c/a\u003e from getlogbook/fix/stacked-object-base-exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/c9f59b635e3a81177525064f22577f6090792e0a\"\u003e\u003ccode\u003ec9f59b6\u003c/code\u003e\u003c/a\u003e Fix BaseException handling in Rust extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/e6b04a0fcc35cdc1935ce7cb835c93ce75d3a239\"\u003e\u003ccode\u003ee6b04a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/498\"\u003e#498\u003c/a\u003e from getlogbook/dependabot/cargo/syn-2.0.111\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/3ca9aeb888ba615af017621a273094476d37fd5c\"\u003e\u003ccode\u003e3ca9aeb\u003c/code\u003e\u003c/a\u003e Bump syn from 2.0.110 to 2.0.111\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/60dc16cc0f3ac736f2fec699d7bbf34f45281b52\"\u003e\u003ccode\u003e60dc16c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/496\"\u003e#496\u003c/a\u003e from getlogbook/dependabot/github_actions/actions/che...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/849bfa354b0e221ec66acc1deed3cff60de2808b\"\u003e\u003ccode\u003e849bfa3\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.0 to 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/14eddd9fa8e2e6c0b42ea868cd3323c8189ec947\"\u003e\u003ccode\u003e14eddd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/497\"\u003e#497\u003c/a\u003e from getlogbook/dependabot/github_actions/dtolnay/rus...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getlogbook/logbook/compare/1.8.2...1.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jaxtyping` from 0.2.38 to 0.3.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/releases\"\u003ejaxtyping's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejaxtyping v0.3.9\u003c/h2\u003e\n\u003cp\u003eBugfix: typechecking of pytrees of \u003ccode\u003e|\u003c/code\u003e-style unions, e.g. \u003ccode\u003eisinstance(..., PyTree[int | bool])\u003c/code\u003e, will no longer silently always pass. \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/381\"\u003epatrick-kidger/jaxtyping#381\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.8...v0.3.9\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.8...v0.3.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.8\u003c/h2\u003e\n\u003cp\u003eAnother bugfix release for \u003ccode\u003enumpy.typing.ArrayLike\u003c/code\u003e on numpy 2.4.0, I think this time only needed Python 3.13+. \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/380\"\u003e#380\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.7...v0.3.8\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.7...v0.3.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.7\u003c/h2\u003e\n\u003cp\u003eBugfix: \u003ccode\u003eSomeDtype[Union[numpy.typing.ArrayLike, ...], ...]\u003c/code\u003e will no longer crash in numpy 2.4.0. (\u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/374\"\u003e#374\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.6...v0.3.7\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.6...v0.3.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfix: \u003ccode\u003e@typing.no_type_check\u003c/code\u003e is now respected on dataclasses. (Thanks \u003ca href=\"https://github.com/jeertmans\"\u003e\u003ccode\u003e@​jeertmans\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/370\"\u003epatrick-kidger/jaxtyping#370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: the pytest plugin is now exected before pytest \u003ccode\u003econftest.py\u003c/code\u003e is ran, making it usable even if the package under test is imported inside \u003ccode\u003econftest.py\u003c/code\u003e. (Thanks \u003ca href=\"https://github.com/jeertmans\"\u003e\u003ccode\u003e@​jeertmans\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/371\"\u003epatrick-kidger/jaxtyping#371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: the pytest plugin supports typecheckers that call multi-argument constructors. (Thanks \u003ca href=\"https://github.com/jeertmans\"\u003e\u003ccode\u003e@​jeertmans\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/369\"\u003epatrick-kidger/jaxtyping#369\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.5...v0.3.6\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.5...v0.3.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature: support \u003ccode\u003eTypeAliasType\u003c/code\u003es as array types. For example:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003etype Foo = np.ndarray | int\r\nFloat[Foo, \u0026quot;\u0026quot;]\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eIn particular, this re-enables support for \u003ccode\u003enumpy.typing.ArrayLike\u003c/code\u003e, which recently switched from being a union to a type alias.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs: big update to emphasize the way in which we are framework-agnostic.\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/patrick-kidger/jaxtyping/compare/v0.3.4...v0.3.5\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.4...v0.3.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd fp4e2m1fn type (Thanks \u003ca href=\"https://github.com/vincentlo-a\"\u003e\u003ccode\u003e@​vincentlo-a\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/353\"\u003epatrick-kidger/jaxtyping#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNo longer crashing if \u003ccode\u003enumpy\u003c/code\u003e not available. (Thanks \u003ca href=\"https://github.com/charlesbmi\"\u003e\u003ccode\u003e@​charlesbmi\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/361\"\u003epatrick-kidger/jaxtyping#361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNo longer crashing when building documentation using either either \u003ccode\u003epytkdoc_tweaks\u003c/code\u003e or \u003ccode\u003ehippogriffe\u003c/code\u003e (=my internal doc libraries that probably no-one else uses 😁) and JAX is not available (\u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/362\"\u003e#362\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/vincentlo-a\"\u003e\u003ccode\u003e@​vincentlo-a\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/353\"\u003epatrick-kidger/jaxtyping#353\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charlesbmi\"\u003e\u003ccode\u003e@​charlesbmi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/361\"\u003epatrick-kidger/jaxtyping#361\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.3...v0.3.4\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.3...v0.3.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/f7e00886e6c79f4ddf11293c46fa2b6948ea6a72\"\u003e\u003ccode\u003ef7e0088\u003c/code\u003e\u003c/a\u003e 0.3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/aae2fa7da38ebfbebac70523e49814a7f32c576d\"\u003e\u003ccode\u003eaae2fa7\u003c/code\u003e\u003c/a\u003e Fix typechecking of pytree of new-style union.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/f6477d486c9deaeb5c1cd73443ef5cc5ba5ea128\"\u003e\u003ccode\u003ef6477d4\u003c/code\u003e\u003c/a\u003e bump release pipeline to 3.12 to avoid jax weirdness on 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/7d360677973772984ab71b99bfd7a3ed738e15fe\"\u003e\u003ccode\u003e7d36067\u003c/code\u003e\u003c/a\u003e 0.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/6c3f488a5a6269981388ae3af9f747a0b6b7bd95\"\u003e\u003ccode\u003e6c3f488\u003c/code\u003e\u003c/a\u003e Yet another fix for numpy 2.4.0, I think this time this is needed for Python ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/b3ad46f43b6a75a11a4ce880b0cb6eed883b88a3\"\u003e\u003ccode\u003eb3ad46f\u003c/code\u003e\u003c/a\u003e Numpy 2.4.0 compat: fix union of arraylike.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/103e004b2b8aba25afb7423ff6579c93bcd33da3\"\u003e\u003ccode\u003e103e004\u003c/code\u003e\u003c/a\u003e 0.3.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/4bb34ef92fc54baa2e2edc537255acec96e00fa4\"\u003e\u003ccode\u003e4bb34ef\u003c/code\u003e\u003c/a\u003e fix(lib): respect \u003ccode\u003e@no_type_check\u003c/code\u003e decorator on class (\u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/370\"\u003e#370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/9be85233d60c8c08167e24704b2af7b017478e2e\"\u003e\u003ccode\u003e9be8523\u003c/code\u003e\u003c/a\u003e fix(pytest): execute import hook before \u003ccode\u003econftest.py\u003c/code\u003e files are read\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/aec7db5977f54b332931b5f84fc75978e4b30f71\"\u003e\u003ccode\u003eaec7db5\u003c/code\u003e\u003c/a\u003e fix(pytest_plugin): avoid splitting typechecker constructor with commas\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.2.38...v0.3.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `polars` from 1.37.1 to 1.38.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pola-rs/polars/releases\"\u003epolars's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePython Polars 1.38.1\u003c/h2\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd get() to retrieve a byte from binary data (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26454\"\u003e#26454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove with_context in SQL lowering (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26416\"\u003e#26416\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐞 Bug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDo not overwrite used names in cluster_with_columns pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26467\"\u003e#26467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not mark output of concat_str on multiple inputs as sorted (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26468\"\u003e#26468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CSV schema inference content line duplication bug (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26452\"\u003e#26452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix InvalidOperationError using \u003ccode\u003escan_delta\u003c/code\u003e with filter (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26448\"\u003e#26448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlias giving missing column after streaming GroupBy CSE (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26447\"\u003e#26447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003eby_name\u003c/code\u003e selector selects only names (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26437\"\u003e#26437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestore compatibility of strings written to parquet with pyarrow filter (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26436\"\u003e#26436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate schema in cluster_with_columns optimization (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26430\"\u003e#26430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix negative slice in groups slicing (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26442\"\u003e#26442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't run CPU check on aarch64 musl (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26439\"\u003e#26439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed annotations shadowed by class methods (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26356\"\u003e#26356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003ePOLARS_IDEAL_MORSEL_SIZE\u003c/code\u003e monkeypatching in the parametric merge-join test (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26418\"\u003e#26418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eselector\u003c/code\u003e match patterns for multiline column names (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26320\"\u003e#26320\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003esink_delta\u003c/code\u003e to API reference (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26446\"\u003e#26446\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠️ Other improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCleanup unused attributes in optimizer (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26464\"\u003e#26464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eExpr::Display\u003c/code\u003e as catch all for IR - DSL asymmetry (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26471\"\u003e#26471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore pytz in mypy (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26441\"\u003e#26441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003ePOLARS_IDEAL_MORSEL_SIZE\u003c/code\u003e monkeypatching in the parametric merge-join test (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26418\"\u003e#26418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCleanup the parametric merge-join test (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26413\"\u003e#26413\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThank you to all our contributors for making this release possible!\n\u003ca href=\"https://github.com/Voultapher\"\u003e\u003ccode\u003e@​Voultapher\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/alexander-beedie\"\u003e\u003ccode\u003e@​alexander-beedie\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/azimafroozeh\"\u003e\u003ccode\u003e@​azimafroozeh\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cmdlineluser\"\u003e\u003ccode\u003e@​cmdlineluser\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/dsprenkels\"\u003e\u003ccode\u003e@​dsprenkels\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/hamdanal\"\u003e\u003ccode\u003e@​hamdanal\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/kdn36\"\u003e\u003ccode\u003e@​kdn36\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/nameexhaustion\"\u003e\u003ccode\u003e@​nameexhaustion\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/orlp\"\u003e\u003ccode\u003e@​orlp\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ritchie46\"\u003e\u003ccode\u003e@​ritchie46\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePython Polars 1.38.0\u003c/h2\u003e\n\u003ch2\u003e⚠️ Deprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eretries=n\u003c/code\u003e in favor of \u003ccode\u003estorage_options={\u0026quot;max_retries\u0026quot;: n}\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26155\"\u003e#26155\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 Performance improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable zero-copy object_store \u003ccode\u003eput\u003c/code\u003e upload for IPC sink (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26288\"\u003e#26288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve file schema's and metadata concurrently (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26325\"\u003e#26325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun elementwise CSEE for the streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26278\"\u003e#26278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable morsel splitting for fast-count on streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26245\"\u003e#26245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement streaming decompression for scan_ndjson and scan_lines (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26200\"\u003e#26200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove string slicing performance (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26206\"\u003e#26206\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/pola-rs/polars/commit/50a3bfbb4f663939a0868907ef1cc51c4288ce05\"\u003e\u003ccode\u003e50a3bfb\u003c/code\u003e\u003c/a\u003e Python Polars 1.38.1 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26472\"\u003e#26472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/420716860045b3d1e3fa59f7c4888719efe7c351\"\u003e\u003ccode\u003e4207168\u003c/code\u003e\u003c/a\u003e fix: Do not overwrite used names in cluster_with_columns pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26467\"\u003e#26467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/052e68fc47a7be9500c99da063eac41afa180449\"\u003e\u003ccode\u003e052e68f\u003c/code\u003e\u003c/a\u003e fix: Do not mark output of concat_str on multiple inputs as sorted (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26468\"\u003e#26468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/3832c8f82939d6564689ee14e403a1d76ce5fca6\"\u003e\u003ccode\u003e3832c8f\u003c/code\u003e\u003c/a\u003e refactor: Cleanup unused attributes in optimizer (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26464\"\u003e#26464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/a166aef2bef8563c7adea2cbf9c465721efa188f\"\u003e\u003ccode\u003ea166aef\u003c/code\u003e\u003c/a\u003e refactor: Use \u003ccode\u003eExpr::Display\u003c/code\u003e as catch all for IR - DSL asymmetry (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26471\"\u003e#26471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/d0ca22bf4f60f9f01cdbb4f09fcc1a66508c59d8\"\u003e\u003ccode\u003ed0ca22b\u003c/code\u003e\u003c/a\u003e fix: Fix CSV schema inference content line duplication bug (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26452\"\u003e#26452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/c4b5b1db2b5e66143b3e05ddefc13adb7595049e\"\u003e\u003ccode\u003ec4b5b1d\u003c/code\u003e\u003c/a\u003e fix: Fix InvalidOperationError using \u003ccode\u003escan_delta\u003c/code\u003e with filter (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26448\"\u003e#26448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/c0671246539906679742b5a03ba81fb95ff0a9c0\"\u003e\u003ccode\u003ec067124\u003c/code\u003e\u003c/a\u003e build: Bump time from 0.3.44 to 0.3.47 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26457\"\u003e#26457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/35b2edf2e333a08a9bb15f5ebf1b8b5efd4988f6\"\u003e\u003ccode\u003e35b2edf\u003c/code\u003e\u003c/a\u003e feat: Add get() to retrieve a byte from binary data (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26454\"\u003e#26454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/3a4528f96c49e05904b1f38e92db2239f55b9059\"\u003e\u003ccode\u003e3a4528f\u003c/code\u003e\u003c/a\u003e docs(python): Add \u003ccode\u003esink_delta\u003c/code\u003e to API reference (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26446\"\u003e#26446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pola-rs/polars/compare/py-1.37.1...py-1.38.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 23.0.0 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-23.0.0...apache-arrow-23.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fsspec` from 2026.1.0 to 2026.2.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/e6668a146cd07b9f50530c49ea3916d8ab13e169\"\u003e\u003ccode\u003ee6668a1\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1989\"\u003e#1989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/b6bd0752c1f133fb5005b4b21c065bde76f2c52b\"\u003e\u003ccode\u003eb6bd075\u003c/code\u003e\u003c/a\u003e fix parquet tests (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1988\"\u003e#1988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/6f825f3ba989893a283cb1f84abcb87953b4ca96\"\u003e\u003ccode\u003e6f825f3\u003c/code\u003e\u003c/a\u003e feat(compression): recover the support of the zstandard (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1986\"\u003e#1986\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1987\"\u003e#1987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/1de5e1db3bf6ba984a1386008f3fff97a406ec90\"\u003e\u003ccode\u003e1de5e1d\u003c/code\u003e\u003c/a\u003e Remove prefetching loop (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1984\"\u003e#1984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/9603a7c8329c7c24b476c77dcf924dda572113f0\"\u003e\u003ccode\u003e9603a7c\u003c/code\u003e\u003c/a\u003e fixes to parquet and known cache (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1982\"\u003e#1982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/2576617e5cbe441bcc53b021bccd85ff3489fde7\"\u003e\u003ccode\u003e2576617\u003c/code\u003e\u003c/a\u003e Support append and update for cached file systems (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1980\"\u003e#1980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/cea9d7c1fa3df31c02aa2ddd5df0cd06a9f4d1f4\"\u003e\u003ccode\u003ecea9d7c\u003c/code\u003e\u003c/a\u003e Return None for size if arrow file is not seekable (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1981\"\u003e#1981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/6e1196304d0ffdeb92372ff2f7ef154253afa92c\"\u003e\u003ccode\u003e6e11963\u003c/code\u003e\u003c/a\u003e Maybe fix column selection (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1979\"\u003e#1979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/635b2efb31d650c84405e97b6c26887361c3a973\"\u003e\u003ccode\u003e635b2ef\u003c/code\u003e\u003c/a\u003e Correct \u003ccode\u003efind\u003c/code\u003e behaviour with different combinations of arguments for `ZipFil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/8ce70ee802856daa540cdbc0bdde302a923288fb\"\u003e\u003ccode\u003e8ce70ee\u003c/code\u003e\u003c/a\u003e Implement created and modified methods from abstract filesystem class… (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1971\"\u003e#1971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/filesystem_spec/compare/2026.1.0...2026.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `protobuf` from 5.29.6 to 6.33.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/protocolbuffers/protobuf/releases\"\u003eprotobuf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eProtocol Buffers v34.0-rc1\u003c/h2\u003e\n\u003ch1\u003eAnnouncements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThis version includes breaking changes to: C++, Objective-C, PHP, Python.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e[Bazel] Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make generator headers private (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add a debug check that the target of CopyFrom is not a descendant of the source. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add [[nodiscard]] to many APIs. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make the arena-enabled constructors of \u003ccode\u003eRepeatedField\u003c/code\u003e, \u003ccode\u003eRepeatedPtrField\u003c/code\u003e, and \u003ccode\u003eMap\u003c/code\u003e private. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Removes proto2::util::MessageDifferencer::AddIgnoreCriteria that takes a raw pointer as an argument in favor of the overload that takes a unique_ptr. Remove macro PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::has_optional_keyword() in OSS. Use is_repeated() or has_presence() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove AddUnusedImportTrackFile() and ClearUnusedImportTrackFiles(). Remove PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use (!is_required() \u0026amp;\u0026amp; !is_repeated()) instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] All entity names have length limit (2afb0dc)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003egenerate_minimal_imports\u003c/code\u003e generation option warning (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Fix nullability annotations on some \u003ccode\u003eGPB*Dictionary\u003c/code\u003e types. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003e-[GPBFieldDescriptor optional]\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Other] Remove deprecated flag for enabling MSVC support (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  Add PHP typehints for setters and remove redundant GPBUtil checks (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25296\"\u003eprotocolbuffers/protobuf#25296\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  support default values for editions/proto2 (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25161\"\u003eprotocolbuffers/protobuf#25161\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise errors in OSS when assign bool to int/enum field in Python Proto. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_format/double_format from python proto text_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise TypeError when convert non-timedelta to Duration, or convert non-datetime to Timestamp in python proto. (Original code may raise ArributeError) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_precision from python proto json_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor.label (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/news/\"\u003eProtobuf News\u003c/a\u003e may include additional announcements or pre-announcements for upcoming changes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/support/migration/\"\u003eMigration Guide\u003c/a\u003e may include additional guidance for breaking changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBazel\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: cc_toolchain should prefer protoc when prebuilt flag is flipped. (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/25168\"\u003e#25168\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBreaking change: Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat(bazel): wire up prebuilt protoc toolchain (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/24115\"\u003e#24115\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate \u003ccode\u003eproto_descriptor_set\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/23369\"\u003e#23369\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eCompiler\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRuby codegen: support generation of rbs files (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/15633\"\u003e#15633\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid collision name problems between a message named \u003ccode\u003eXyz\u003c/code\u003e and a direct sibling enum named \u003ccode\u003eXyzView\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGeneralizing and implementing ValidateFeatureSupport for both Options and Features during proto parsing (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug with custom features outside of the \u003ccode\u003epb\u003c/code\u003e package. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix import option handling when include_imports isn't set. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug in STRICT check of namespaced enums to properly check for 'reserved 1 to max' (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent accidental stripping of \u003ccode\u003edebug_redact\u003c/code\u003e options via import option. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eC++\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd EnumerateEnumValues function. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\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\u003eSee full diff in \u003ca href=\"https://github.com/protocolbuffers/protobuf/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/eliagroup/ToOp/pull/277","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliagroup%2FToOp/issues/277","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/277/packages"},{"uuid":"4012476307","node_id":"PR_kwDOMJpKc87HZPJg","number":195,"state":"open","title":"chore(deps): bump the uv-non-breaking group with 6 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-02T17:39:09.000Z","updated_at":"2026-03-02T17:39:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"uv-non-breaking","update_count":6,"packages":[{"name":"pyarrow","old_version":"23.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"python-dotenv","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"basedpyright","old_version":"1.38.0","new_version":"1.38.2","repository_url":"https://github.com/detachhead/basedpyright"},{"name":"mkdocs-material","old_version":"9.7.1","new_version":"9.7.3","repository_url":"https://github.com/squidfunk/mkdocs-material"},{"name":"mkdocstrings-python","old_version":"2.0.2","new_version":"2.0.3","repository_url":"https://github.com/mkdocstrings/python"},{"name":"ruff","old_version":"0.15.0","new_version":"0.15.4","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv-non-breaking group with 6 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `23.0.1` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [basedpyright](https://github.com/detachhead/basedpyright) | `1.38.0` | `1.38.2` |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.7.1` | `9.7.3` |\n| [mkdocstrings-python](https://github.com/mkdocstrings/python) | `2.0.2` | `2.0.3` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.0` | `0.15.4` |\n\nUpdates `pyarrow` from 23.0.0 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-23.0.0...apache-arrow-23.0.1\"\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.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (#)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/607\"\u003etheskumar/python-dotenv#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e#790c5\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by \u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eskip 000 permission tests for root user by \u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/593\"\u003etheskumar/python-dotenv#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows testing to CI by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/604\"\u003etheskumar/python-dotenv#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove workflow efficiency with best practices by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/609\"\u003etheskumar/python-dotenv#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of \u003ccode\u003esh\u003c/code\u003e in tests by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/612\"\u003etheskumar/python-dotenv#612\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpackham-atlnz\"\u003e\u003ccode\u003e@​cpackham-atlnz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/597\"\u003etheskumar/python-dotenv#597\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.2] - 2026-03-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/607\"\u003e#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eDropped Support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in [790c5c0]\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by [\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/590\"\u003e#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d\"\u003e\u003ccode\u003e36004e0\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.1 → 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8\"\u003e\u003ccode\u003eeb20252\u003c/code\u003e\u003c/a\u003e docs: update changelog for v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e\u003ccode\u003e790c5c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1\"\u003e\u003ccode\u003e43340da\u003c/code\u003e\u003c/a\u003e Remove the use of \u003ccode\u003esh\u003c/code\u003e in tests (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c\"\u003e\u003ccode\u003e09d7cee\u003c/code\u003e\u003c/a\u003e docs: clarify override behavior and document FIFO support (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c\"\u003e\u003ccode\u003ec8de288\u003c/code\u003e\u003c/a\u003e ci: improve workflow efficiency with best practices (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4\"\u003e\u003ccode\u003e7bd9e3d\u003c/code\u003e\u003c/a\u003e Add Windows testing to CI (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81\"\u003e\u003ccode\u003e1baaf04\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 support and update to PyPy 3.11 (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc\"\u003e\u003ccode\u003e4a22cf8\u003c/code\u003e\u003c/a\u003e ci: enable testing on Python 3.14t (free-threaded) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4\"\u003e\u003ccode\u003ee2e8e77\u003c/code\u003e\u003c/a\u003e Fix license specifier (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `basedpyright` from 1.38.0 to 1.38.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/264b2472bf3c09522851bf7c7fa7d1c88bea044f\"\u003e\u003ccode\u003e264b247\u003c/code\u003e\u003c/a\u003e 1.38.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/e57065d9ef83e65f5f0f63f097ee2798d370b021\"\u003e\u003ccode\u003ee57065d\u003c/code\u003e\u003c/a\u003e Extract some duplicated test helpers and improve the \u003cstrong\u003ecall\u003c/strong\u003e tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/036be5e7af226708d3becdea4241d24508a13f8d\"\u003e\u003ccode\u003e036be5e\u003c/code\u003e\u003c/a\u003e Add a jump-to-definition test and make the messages/definitions less eager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/2ee6bbc5beaf7c23641ca397840bc09a2c25972f\"\u003e\u003ccode\u003e2ee6bbc\u003c/code\u003e\u003c/a\u003e Provide hover messages and jump-to-definition for call expressions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/d9e115df6c3b0b6bac366dc12703756096cbf2d7\"\u003e\u003ccode\u003ed9e115d\u003c/code\u003e\u003c/a\u003e Improved semantic tokens for keyword arguments (\u003ca href=\"https://redirect.github.com/detachhead/basedpyright/issues/1740\"\u003e#1740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/d9e88de73a9682663c40b668db6bc126edf24785\"\u003e\u003ccode\u003ed9e88de\u003c/code\u003e\u003c/a\u003e simplify uv commands in \u003ccode\u003egenerateAllDocstubs.sh\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/ce372dde9b384dfa25c0294dc637ce0ec4638a05\"\u003e\u003ccode\u003ece372dd\u003c/code\u003e\u003c/a\u003e 1.38.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/83c1dc799597a1d342caa9dc6476711c1086dde9\"\u003e\u003ccode\u003e83c1dc7\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e guards in match statements (\u003ca href=\"https://redirect.github.com/detachhead/basedpyright/issues/1726\"\u003e#1726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/41f6c01f71734513e6ac518d52e09fd905abae3d\"\u003e\u003ccode\u003e41f6c01\u003c/code\u003e\u003c/a\u003e fix docstubs not being generated for older python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/b00fdc450d57f58202bf37d641be0014a86c4952\"\u003e\u003ccode\u003eb00fdc4\u003c/code\u003e\u003c/a\u003e add tests to ensure that docstubs for multiple python versions are correctly ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/detachhead/basedpyright/compare/v1.38.0...v1.38.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-material` from 9.7.1 to 9.7.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.7.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGoing forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOpened up version ranges of optional dependencies for forward-compatibility\u003c/li\u003e\n\u003cli\u003eAdded warning to \u003ccode\u003emkdocs build\u003c/code\u003e about impending MkDocs 2.0 incompatibility (doesn't affect strict mode)\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/squidfunk/mkdocs-material/blob/master/CHANGELOG\"\u003emkdocs-material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emkdocs-material-9.7.3 (2026-02-24)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8567\"\u003e#8567\u003c/a\u003e: Print MkDocs 2.0 incompatibility warning to stderr\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.2 (2026-02-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpened up version ranges of optional dependencies for forward-compatibility\u003c/li\u003e\n\u003cli\u003eAdded warning to 'mkdocs build' about impending MkDocs 2.0 incompatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.1 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.0 (2025-11-11)\u003c/p\u003e\n\u003cp\u003e⚠️ Material for MkDocs is now in maintenance mode\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features.\nGoing forward, the Material for MkDocs team focuses on Zensical, a next-gen\nstatic site generator built from first principles. We will provide critical\nbug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003eRead the full announcement on our blog:\n\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003ehttps://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the\nInsiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003eNote on deprecated plugins: The projects and typeset plugins are included in\nthis release, but must be considered deprecated. Both plugins proved\nunsustainable to maintain and represent architectural dead ends. They are\nprovided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pinned blog posts and author profiles\u003c/li\u003e\n\u003cli\u003eAdded support for customizing pagination for blog index pages\u003c/li\u003e\n\u003cli\u003eAdded support for customizing blog category sort order\u003c/li\u003e\n\u003cli\u003eAdded support for staying on page when switching languages\u003c/li\u003e\n\u003cli\u003eAdded support for disabling tags in table of contents\u003c/li\u003e\n\u003cli\u003eAdded support for nested tags and shadow tags\u003c/li\u003e\n\u003cli\u003eAdded support for footnote tooltips\u003c/li\u003e\n\u003cli\u003eAdded support for instant previews\u003c/li\u003e\n\u003cli\u003eAdded support for instant prefetching\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card layouts\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card background images\u003c/li\u003e\n\u003cli\u003eAdded support for selectable rangs in code blocks\u003c/li\u003e\n\u003cli\u003eAdded support for custom selectors for code annotations\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/da5d442f904d0c938f4dadc384a7126e8ce30cd0\"\u003e\u003ccode\u003eda5d442\u003c/code\u003e\u003c/a\u003e Prepare 9.7.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/03e8baecdcb62bf3478b68487c2a1fa61a4c938c\"\u003e\u003ccode\u003e03e8bae\u003c/code\u003e\u003c/a\u003e Fixed order of imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/70dee38366615652d7198ae85ff208a4b4c0e80d\"\u003e\u003ccode\u003e70dee38\u003c/code\u003e\u003c/a\u003e Switched warning message to print to stderr\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/b78109b36b2aaf39a02eb2b75af6df856f0c5600\"\u003e\u003ccode\u003eb78109b\u003c/code\u003e\u003c/a\u003e Updated blog post on MkDocs 2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/e1dd2c88ecd26810050bacf2e67f47a0c2cee4ba\"\u003e\u003ccode\u003ee1dd2c8\u003c/code\u003e\u003c/a\u003e Updated blog post on MkDocs 2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/6972761d8202f0aafb6f3ea7177c39c65337a978\"\u003e\u003ccode\u003e6972761\u003c/code\u003e\u003c/a\u003e Updated blog post on MkDocs 2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/e21a119e38f7bca184e469eaeefa3d5535e5022b\"\u003e\u003ccode\u003ee21a119\u003c/code\u003e\u003c/a\u003e Updated changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/d5654b500a7021625d3c78f59842805c45e7b65a\"\u003e\u003ccode\u003ed5654b5\u003c/code\u003e\u003c/a\u003e Prepare 9.7.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/b18af2f74a98e0d54f7f11b4e029d7ea29166df3\"\u003e\u003ccode\u003eb18af2f\u003c/code\u003e\u003c/a\u003e Opened up version ranges in optional dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/39cdfbd87c80079cd06a6d2a953cd53f531db61d\"\u003e\u003ccode\u003e39cdfbd\u003c/code\u003e\u003c/a\u003e Added social card for blog post\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.7.1...9.7.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocstrings-python` from 2.0.2 to 2.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mkdocstrings/python/releases\"\u003emkdocstrings-python's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/python/releases/tag/2.0.3\"\u003e2.0.3\u003c/a\u003e - 2026-02-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/python/compare/2.0.2...2.0.3\"\u003eCompare with 2.0.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBuild\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDepend on griffelib instead of griffe (\u003ca href=\"https://github.com/mkdocstrings/python/commit/770a5f69d801f24f0b36d1e671a540196e06f710\"\u003e770a5f6\u003c/a\u003e by Timothée Mazzucotelli).\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/mkdocstrings/python/blob/main/CHANGELOG.md\"\u003emkdocstrings-python's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/python/releases/tag/2.0.3\"\u003e2.0.3\u003c/a\u003e - 2026-02-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/python/compare/2.0.2...2.0.3\"\u003eCompare with 2.0.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBuild\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDepend on griffelib instead of griffe (\u003ca href=\"https://github.com/mkdocstrings/python/commit/770a5f69d801f24f0b36d1e671a540196e06f710\"\u003e770a5f6\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/python/commit/a0b99c5ed6ac44b627e2e57375e474e0939ea02e\"\u003e\u003ccode\u003ea0b99c5\u003c/code\u003e\u003c/a\u003e chore: Prepare release 2.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/python/commit/770a5f69d801f24f0b36d1e671a540196e06f710\"\u003e\u003ccode\u003e770a5f6\u003c/code\u003e\u003c/a\u003e build: Depend on griffelib instead of griffe\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/python/commit/bf8caaf76efcfe3572b40f4129117ed32bdc2ee7\"\u003e\u003ccode\u003ebf8caaf\u003c/code\u003e\u003c/a\u003e Merge branch 'main' of github.com:mkdocstrings/python\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/python/commit/95f58aa56a78df160fc66892815cb4c49d291044\"\u003e\u003ccode\u003e95f58aa\u003c/code\u003e\u003c/a\u003e ci: Minor lint fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/python/commit/186d6cfac78dbc96bcb753473ceb68db5fa46f73\"\u003e\u003ccode\u003e186d6cf\u003c/code\u003e\u003c/a\u003e chore: Update sponsors section in README\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mkdocstrings/python/compare/2.0.2...2.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.0 to 0.15.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.4\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-26.\u003c/p\u003e\n\u003cp\u003eThis is a follow-up release to 0.15.3 that resolves a panic when the new rule \u003ccode\u003ePLR1712\u003c/code\u003e was enabled with any rule that analyzes definitions, such as many of the \u003ccode\u003eANN\u003c/code\u003e or \u003ccode\u003eD\u003c/code\u003e rules.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix panic on access to definitions after analyzing definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23588\"\u003e#23588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Suppress false positive in \u003ccode\u003eF821\u003c/code\u003e for names used before \u003ccode\u003edel\u003c/code\u003e in stub files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23550\"\u003e#23550\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify first-party import detection in Ruff (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23591\"\u003e#23591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect \u003ccode\u003eimport-heading\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23568\"\u003e#23568\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stakeswky\"\u003e\u003ccode\u003e@​stakeswky\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thejcannon\"\u003e\u003ccode\u003e@​thejcannon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GeObts\"\u003e\u003ccode\u003e@​GeObts\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.15.4\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.15.4\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-apple-darwin.tar.gz\"\u003eruff-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-apple-darwin.tar.gz\"\u003eruff-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-pc-windows-msvc.zip\"\u003eruff-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-pc-windows-msvc.zip\"\u003eruff-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-pc-windows-msvc.zip\"\u003eruff-x86_64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-unknown-linux-gnu.tar.gz\"\u003eruff-aarch64-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-unknown-linux-gnu.tar.gz\"\u003eruff-i686-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-powerpc64-unknown-linux-gnu.tar.gz\"\u003eruff-powerpc64-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePPC64 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-powerpc64-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.4\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-26.\u003c/p\u003e\n\u003cp\u003eThis is a follow-up release to 0.15.3 that resolves a panic when the new rule \u003ccode\u003ePLR1712\u003c/code\u003e was enabled with any rule that analyzes definitions, such as many of the \u003ccode\u003eANN\u003c/code\u003e or \u003ccode\u003eD\u003c/code\u003e rules.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix panic on access to definitions after analyzing definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23588\"\u003e#23588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Suppress false positive in \u003ccode\u003eF821\u003c/code\u003e for names used before \u003ccode\u003edel\u003c/code\u003e in stub files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23550\"\u003e#23550\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify first-party import detection in Ruff (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23591\"\u003e#23591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect \u003ccode\u003eimport-heading\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23568\"\u003e#23568\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stakeswky\"\u003e\u003ccode\u003e@​stakeswky\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thejcannon\"\u003e\u003ccode\u003e@​thejcannon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GeObts\"\u003e\u003ccode\u003e@​GeObts\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.3\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop explicit support for \u003ccode\u003e.qmd\u003c/code\u003e file extension (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23572\"\u003e#23572\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThis can now be enabled instead by setting the \u003ca href=\"https://docs.astral.sh/ruff/settings/#extension\"\u003e\u003ccode\u003eextension\u003c/code\u003e\u003c/a\u003e option:\u003c/p\u003e\n\u003cpre lang=\"toml\"\u003e\u003ccode\u003e# ruff.toml\nextension = { qmd = \u0026quot;markdown\u0026quot; }\n\u003ch1\u003epyproject.toml\u003c/h1\u003e\n\u003cp\u003e[tool.ruff]\nextension = { qmd = \u0026quot;markdown\u0026quot; }\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eInclude configured extensions in file discovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23400\"\u003e#23400\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Allow suspicious imports in \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ccode\u003eS401\u003c/code\u003e-\u003ccode\u003eS415\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23441\"\u003e#23441\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Allow \u003ccode\u003eB901\u003c/code\u003e in pytest hook wrappers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21931\"\u003e#21931\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-import-conventions\u003c/code\u003e] Add missing conventions from upstream (\u003ccode\u003eICN001\u003c/code\u003e, \u003ccode\u003eICN002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21373\"\u003e#21373\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f14edd8661e2803254f89265548c7487f47a09f6\"\u003e\u003ccode\u003ef14edd8\u003c/code\u003e\u003c/a\u003e Bump 0.15.4 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23595\"\u003e#23595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/fd09d370076ab585444fd39f0fee79bf29280b68\"\u003e\u003ccode\u003efd09d37\u003c/code\u003e\u003c/a\u003e Fix panic on access to definitions after analyzing definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23588\"\u003e#23588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/81d655fadce087b792e524ed1964e9bcc31b73cd\"\u003e\u003ccode\u003e81d655f\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyflakes\u003c/code\u003e] suppress false positive in \u003ccode\u003eF821\u003c/code\u003e for names used before \u003ccode\u003edel\u003c/code\u003e in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/625b4f5a672d1baaa6f25e0999ca428f3f2522f1\"\u003e\u003ccode\u003e625b4f5\u003c/code\u003e\u003c/a\u003e [ruff] docs: Clarify first-party import detection in Ruff (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23591\"\u003e#23591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/60facfa0bc02689637e25237f0df5abfc2f27054\"\u003e\u003ccode\u003e60facfa\u003c/code\u003e\u003c/a\u003e one word typo fix in a \u003ccode\u003ewhile_loop.md\u003c/code\u003e test case (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23589\"\u003e#23589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/fbb9fa75cc1915973a739da0ec469094176bfdc6\"\u003e\u003ccode\u003efbb9fa7\u003c/code\u003e\u003c/a\u003e docs: fix incorrect import-heading example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23568\"\u003e#23568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5bc49a941279c9100ff834edae1cb63053aeec93\"\u003e\u003ccode\u003e5bc49a9\u003c/code\u003e\u003c/a\u003e Increase the ruleset size to 16 bits (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23586\"\u003e#23586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a62ba8c6e2bac0b899d90fd30a1b26c07aac44bb\"\u003e\u003ccode\u003ea62ba8c\u003c/code\u003e\u003c/a\u003e [ty] Fix overloaded callable assignability for unary Callable targets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23277\"\u003e#23277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e5f2f36a3f49b45fd7506d42b12c495c2517e936\"\u003e\u003ccode\u003ee5f2f36\u003c/code\u003e\u003c/a\u003e Bump 0.15.3 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23585\"\u003e#23585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0e19fc9a61477e71abc4eb76f05a129b6b9ab873\"\u003e\u003ccode\u003e0e19fc9\u003c/code\u003e\u003c/a\u003e [ty] defer calculating conjunctions in narrowing constraints (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23552\"\u003e#23552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.0...0.15.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/kahojyun/fricon/pull/195","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kahojyun%2Ffricon/issues/195","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/195/packages"},{"uuid":"4007219597","node_id":"PR_kwDOLKGjv87HIK8o","number":286,"state":"closed","title":"Bump the production-dependencies group across 1 directory with 5 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-20T18:46:10.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-01T13:36:14.000Z","updated_at":"2026-03-20T18:46:11.000Z","time_to_close":1660196,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":5,"packages":[{"name":"polars","old_version":"1.37.1","new_version":"1.38.1","repository_url":"https://github.com/pola-rs/polars"},{"name":"pyarrow","old_version":"19.0.1","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"pydantic-settings","old_version":"2.12.0","new_version":"2.13.1","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"typer","old_version":"0.15.4","new_version":"0.24.1","repository_url":"https://github.com/fastapi/typer"},{"name":"rich","old_version":"14.3.1","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"}],"path":null,"ecosystem":"pip"},"body":"Bumps the production-dependencies group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [polars](https://github.com/pola-rs/polars) | `1.37.1` | `1.38.1` |\n| [pyarrow](https://github.com/apache/arrow) | `19.0.1` | `23.0.1` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.12.0` | `2.13.1` |\n| [typer](https://github.com/fastapi/typer) | `0.15.4` | `0.24.1` |\n| [rich](https://github.com/Textualize/rich) | `14.3.1` | `14.3.3` |\n\n\nUpdates `polars` from 1.37.1 to 1.38.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pola-rs/polars/releases\"\u003epolars's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePython Polars 1.38.1\u003c/h2\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd get() to retrieve a byte from binary data (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26454\"\u003e#26454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove with_context in SQL lowering (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26416\"\u003e#26416\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐞 Bug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDo not overwrite used names in cluster_with_columns pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26467\"\u003e#26467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not mark output of concat_str on multiple inputs as sorted (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26468\"\u003e#26468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CSV schema inference content line duplication bug (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26452\"\u003e#26452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix InvalidOperationError using \u003ccode\u003escan_delta\u003c/code\u003e with filter (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26448\"\u003e#26448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlias giving missing column after streaming GroupBy CSE (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26447\"\u003e#26447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003eby_name\u003c/code\u003e selector selects only names (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26437\"\u003e#26437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestore compatibility of strings written to parquet with pyarrow filter (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26436\"\u003e#26436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate schema in cluster_with_columns optimization (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26430\"\u003e#26430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix negative slice in groups slicing (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26442\"\u003e#26442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't run CPU check on aarch64 musl (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26439\"\u003e#26439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed annotations shadowed by class methods (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26356\"\u003e#26356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003ePOLARS_IDEAL_MORSEL_SIZE\u003c/code\u003e monkeypatching in the parametric merge-join test (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26418\"\u003e#26418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eselector\u003c/code\u003e match patterns for multiline column names (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26320\"\u003e#26320\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003esink_delta\u003c/code\u003e to API reference (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26446\"\u003e#26446\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠️ Other improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCleanup unused attributes in optimizer (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26464\"\u003e#26464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eExpr::Display\u003c/code\u003e as catch all for IR - DSL asymmetry (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26471\"\u003e#26471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore pytz in mypy (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26441\"\u003e#26441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003ePOLARS_IDEAL_MORSEL_SIZE\u003c/code\u003e monkeypatching in the parametric merge-join test (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26418\"\u003e#26418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCleanup the parametric merge-join test (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26413\"\u003e#26413\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThank you to all our contributors for making this release possible!\n\u003ca href=\"https://github.com/Voultapher\"\u003e\u003ccode\u003e@​Voultapher\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/alexander-beedie\"\u003e\u003ccode\u003e@​alexander-beedie\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/azimafroozeh\"\u003e\u003ccode\u003e@​azimafroozeh\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cmdlineluser\"\u003e\u003ccode\u003e@​cmdlineluser\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/dsprenkels\"\u003e\u003ccode\u003e@​dsprenkels\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/hamdanal\"\u003e\u003ccode\u003e@​hamdanal\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/kdn36\"\u003e\u003ccode\u003e@​kdn36\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/nameexhaustion\"\u003e\u003ccode\u003e@​nameexhaustion\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/orlp\"\u003e\u003ccode\u003e@​orlp\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ritchie46\"\u003e\u003ccode\u003e@​ritchie46\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePython Polars 1.38.0\u003c/h2\u003e\n\u003ch2\u003e⚠️ Deprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eretries=n\u003c/code\u003e in favor of \u003ccode\u003estorage_options={\u0026quot;max_retries\u0026quot;: n}\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26155\"\u003e#26155\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 Performance improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable zero-copy object_store \u003ccode\u003eput\u003c/code\u003e upload for IPC sink (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26288\"\u003e#26288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve file schema's and metadata concurrently (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26325\"\u003e#26325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun elementwise CSEE for the streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26278\"\u003e#26278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable morsel splitting for fast-count on streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26245\"\u003e#26245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement streaming decompression for scan_ndjson and scan_lines (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26200\"\u003e#26200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove string slicing performance (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26206\"\u003e#26206\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/pola-rs/polars/commit/50a3bfbb4f663939a0868907ef1cc51c4288ce05\"\u003e\u003ccode\u003e50a3bfb\u003c/code\u003e\u003c/a\u003e Python Polars 1.38.1 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26472\"\u003e#26472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/420716860045b3d1e3fa59f7c4888719efe7c351\"\u003e\u003ccode\u003e4207168\u003c/code\u003e\u003c/a\u003e fix: Do not overwrite used names in cluster_with_columns pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26467\"\u003e#26467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/052e68fc47a7be9500c99da063eac41afa180449\"\u003e\u003ccode\u003e052e68f\u003c/code\u003e\u003c/a\u003e fix: Do not mark output of concat_str on multiple inputs as sorted (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26468\"\u003e#26468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/3832c8f82939d6564689ee14e403a1d76ce5fca6\"\u003e\u003ccode\u003e3832c8f\u003c/code\u003e\u003c/a\u003e refactor: Cleanup unused attributes in optimizer (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26464\"\u003e#26464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/a166aef2bef8563c7adea2cbf9c465721efa188f\"\u003e\u003ccode\u003ea166aef\u003c/code\u003e\u003c/a\u003e refactor: Use \u003ccode\u003eExpr::Display\u003c/code\u003e as catch all for IR - DSL asymmetry (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26471\"\u003e#26471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/d0ca22bf4f60f9f01cdbb4f09fcc1a66508c59d8\"\u003e\u003ccode\u003ed0ca22b\u003c/code\u003e\u003c/a\u003e fix: Fix CSV schema inference content line duplication bug (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26452\"\u003e#26452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/c4b5b1db2b5e66143b3e05ddefc13adb7595049e\"\u003e\u003ccode\u003ec4b5b1d\u003c/code\u003e\u003c/a\u003e fix: Fix InvalidOperationError using \u003ccode\u003escan_delta\u003c/code\u003e with filter (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26448\"\u003e#26448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/c0671246539906679742b5a03ba81fb95ff0a9c0\"\u003e\u003ccode\u003ec067124\u003c/code\u003e\u003c/a\u003e build: Bump time from 0.3.44 to 0.3.47 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26457\"\u003e#26457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/35b2edf2e333a08a9bb15f5ebf1b8b5efd4988f6\"\u003e\u003ccode\u003e35b2edf\u003c/code\u003e\u003c/a\u003e feat: Add get() to retrieve a byte from binary data (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26454\"\u003e#26454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/3a4528f96c49e05904b1f38e92db2239f55b9059\"\u003e\u003ccode\u003e3a4528f\u003c/code\u003e\u003c/a\u003e docs(python): Add \u003ccode\u003esink_delta\u003c/code\u003e to API reference (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26446\"\u003e#26446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pola-rs/polars/compare/py-1.37.1...py-1.38.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 19.0.1 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.0.html\"\u003ehttps://arrow.apache.org/release/23.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.0 RC2\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.0 RC2\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/22.0.0.html\"\u003ehttps://arrow.apache.org/release/22.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0 RC1\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 22.0.0 RC1\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 22.0.0 RC0\u003c/p\u003e\n\u003ch2\u003eApache Arrow 21.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/21.0.0.html\"\u003ehttps://arrow.apache.org/release/21.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 21.0.0 RC6\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 21.0.0 RC6\u003c/p\u003e\n\u003ch2\u003eApache Arrow 21.0.0 RC5\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 21.0.0 RC5\u003c/p\u003e\n\u003ch2\u003eApache Arrow 21.0.0 RC4\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 21.0.0 RC4\u003c/p\u003e\n\u003ch2\u003eApache Arrow 21.0.0 RC3\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 21.0.0 RC3\u003c/p\u003e\n\u003ch2\u003eApache Arrow 21.0.0 RC2\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 21.0.0 RC2\u003c/p\u003e\n\u003ch2\u003eApache Arrow 20.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/20.0.0.html\"\u003ehttps://arrow.apache.org/release/20.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 20.0.0 RC2\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 20.0.0 RC2\u003c/p\u003e\n\u003ch2\u003eApache Arrow 20.0.0 RC1\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 20.0.0 RC1\u003c/p\u003e\n\u003ch2\u003eApache Arrow 20.0.0 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 20.0.0 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-19.0.1...apache-arrow-23.0.1\"\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.12.0 to 2.13.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.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Deterministic alias selection when using validate_by_name 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/707\"\u003epydantic/pydantic-settings#707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deep merge functionality to config file sources by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for AWS Secrets Manager VersionId parameter by \u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: Return \u003ccode\u003eNone\u003c/code\u003e for inaccessible GCP Secret Manager secrets by \u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix for cli_kebab_case=\u0026quot;all\u0026quot; and CliImplicitFlag[bool] by \u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnpack type alisases when looking for \u003ccode\u003eNoDecode\u003c/code\u003e 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/695\"\u003epydantic/pydantic-settings#695\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCliToggleFlag and CliDualFlag 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/717\"\u003epydantic/pydantic-settings#717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for CLI duplicate enum field 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/722\"\u003epydantic/pydantic-settings#722\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efixed load nested config from env by \u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd non-Path files support (for example Traversable) and open files using Path.open method by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd one more traversable test by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/725\"\u003epydantic/pydantic-settings#725\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI fix fox external list args. 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/727\"\u003epydantic/pydantic-settings#727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: handle case-insensitive retrieval in GoogleSecretManagerSettingsSource by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/730\"\u003epydantic/pydantic-settings#730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI test fixes for help text formatting. 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/735\"\u003epydantic/pydantic-settings#735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid conflicts with the \u003ccode\u003eNAME\u003c/code\u003e environment variable in WSL by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: When restoring init kwargs, use deterministic order 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/746\"\u003epydantic/pydantic-settings#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd env_prefix_target by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/749\"\u003epydantic/pydantic-settings#749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e(default: …)\u003c/code\u003e in the help message for \u003ccode\u003eCliToggleFlag\u003c/code\u003e by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/740\"\u003epydantic/pydantic-settings#740\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for CLI serialize styles. 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/755\"\u003epydantic/pydantic-settings#755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for overriding default help on CLI internal parser. 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/758\"\u003epydantic/pydantic-settings#758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI format_help method 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/759\"\u003epydantic/pydantic-settings#759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(gcp): support SecretVersion annotation for per-field secret versioning by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/763\"\u003epydantic/pydantic-settings#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003esnake_case_conversion\u003c/code\u003e with \u003ccode\u003eenv_prefix\u003c/code\u003e for Azure Key Vault source by \u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Only override preferred_key when no value was found 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/767\"\u003epydantic/pydantic-settings#767\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/768\"\u003epydantic/pydantic-settings#768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI coerce numeric types. 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/769\"\u003epydantic/pydantic-settings#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Union Discriminator Choices in 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/764\"\u003epydantic/pydantic-settings#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) by \u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.13.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/777\"\u003epydantic/pydantic-settings#777\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/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\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.12.0...v2.13.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/e87d12df0f42f7f72a3eb6d830cfbfb1d68b4496\"\u003e\u003ccode\u003ee87d12d\u003c/code\u003e\u003c/a\u003e v2.13.1 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/acf8c14f5ec314799f5bd0d3f6a1591c4ed2ec97\"\u003e\u003ccode\u003eacf8c14\u003c/code\u003e\u003c/a\u003e Fix JSON decoding for parameterized PEP 695 type aliases (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/58b236a36473e01bfe42e5f75d39d46721e0593d\"\u003e\u003ccode\u003e58b236a\u003c/code\u003e\u003c/a\u003e Fix AttributeError with nested env vars for dict fields (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/785\"\u003e#785\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/786\"\u003e#786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4933f06402ed55e32bcdcefd6c8f59ffe1fefd24\"\u003e\u003ccode\u003e4933f06\u003c/code\u003e\u003c/a\u003e Fix CLI parsing error for set field types since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/787\"\u003e#787\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/bd0ebe6215cf215d716e33d833cc2589a1d00a17\"\u003e\u003ccode\u003ebd0ebe6\u003c/code\u003e\u003c/a\u003e Fix RecursionError with self-referential models in CliApp (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/783\"\u003e#783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/eb7840e9f59a7969b23afdbcc4e5081e037736d8\"\u003e\u003ccode\u003eeb7840e\u003c/code\u003e\u003c/a\u003e Fix regression for bool fields since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/784\"\u003e#784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/198e71cf0cd570501535de7ae93a70953150f073\"\u003e\u003ccode\u003e198e71c\u003c/code\u003e\u003c/a\u003e Prepare release 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/777\"\u003e#777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/de71e84057b63b251ec84883b5e2ae886f82084f\"\u003e\u003ccode\u003ede71e84\u003c/code\u003e\u003c/a\u003e Add nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/773\"\u003e#773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/0f8f951b89b137bd563ce74dac016ba2c4cdc7a2\"\u003e\u003ccode\u003e0f8f951\u003c/code\u003e\u003c/a\u003e CLI Union Discriminator Choices in Help (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/764\"\u003e#764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/ce9804c4620d38f0c3b3c1e3ebe10d934fd4ba2e\"\u003e\u003ccode\u003ece9804c\u003c/code\u003e\u003c/a\u003e CLI coerce numeric types. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/769\"\u003e#769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typer` from 0.15.4 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/fastapi/typer/releases\"\u003etyper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.1\u003c/h2\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Fix CI, do not attempt to build \u003ccode\u003etyper-slim\u003c/code\u003e, nor \u003ccode\u003etyper-cli\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1569\"\u003e#1569\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➖ Drop support for \u003ccode\u003etyper-slim\u003c/code\u003e and \u003ccode\u003etyper-cli\u003c/code\u003e, no more versions will be released, use only \u003ccode\u003etyper\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1568\"\u003e#1568\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 rich from 14.3.2 to 14.3.3. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1565\"\u003e#1565\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic-settings from 2.13.0 to 2.13.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1566\"\u003e#1566\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.1 to 0.15.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1567\"\u003e#1567\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.1 to 9.7.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1561\"\u003e#1561\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pillow from 11.3.0 to 12.1.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1550\"\u003e#1550\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pytest from 8.4.2 to 9.0.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1551\"\u003e#1551\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic-settings from 2.12.0 to 2.13.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1552\"\u003e#1552\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 types for Python 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1549\"\u003e#1549\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 internal scripts to migrate docs from Python 3.9 to 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1547\"\u003e#1547\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 ty from 0.0.16 to 0.0.17. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1544\"\u003e#1544\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for Python 3.9. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1546\"\u003e#1546\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.23.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eTYPER_USE_RICH\u003c/code\u003e parsing to allow disabling Rich completely. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1539\"\u003e#1539\u003c/a\u003e by \u003ca href=\"https://github.com/bckohan\"\u003e\u003ccode\u003e@​bckohan\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📝 Remove documentation pages that reference using Click directly. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1538\"\u003e#1538\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ty from 0.0.15 to 0.0.16. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1533\"\u003e#1533\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.23.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ When printing error tracebacks with Rich, default to not showing locals, which are sometimes verbose. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1072\"\u003e#1072\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 more explicit deprecation note in shell packages. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1534\"\u003e#1534\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump cryptography from 46.0.4 to 46.0.5. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1532\"\u003e#1532\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🔨 Tweak PDM hook script, remove unnecessary default. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1536\"\u003e#1536\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♻️ Simplify build setup scripts and configs for deprecated wrapper packages. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1535\"\u003e#1535\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.22.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/fastapi/typer/blob/master/docs/release-notes.md\"\u003etyper's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.1\u003c/h2\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Fix CI, do not attempt to build \u003ccode\u003etyper-slim\u003c/code\u003e, nor \u003ccode\u003etyper-cli\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1569\"\u003e#1569\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➖ Drop support for \u003ccode\u003etyper-slim\u003c/code\u003e and \u003ccode\u003etyper-cli\u003c/code\u003e, no more versions will be released, use only \u003ccode\u003etyper\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1568\"\u003e#1568\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 rich from 14.3.2 to 14.3.3. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1565\"\u003e#1565\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic-settings from 2.13.0 to 2.13.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1566\"\u003e#1566\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.1 to 0.15.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1567\"\u003e#1567\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.1 to 9.7.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1561\"\u003e#1561\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pillow from 11.3.0 to 12.1.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1550\"\u003e#1550\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pytest from 8.4.2 to 9.0.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1551\"\u003e#1551\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic-settings from 2.12.0 to 2.13.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1552\"\u003e#1552\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 types for Python 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1549\"\u003e#1549\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 internal scripts to migrate docs from Python 3.9 to 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1547\"\u003e#1547\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 ty from 0.0.16 to 0.0.17. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1544\"\u003e#1544\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for Python 3.9. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1546\"\u003e#1546\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.23.2\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Monkeypatch console width to allow running \u003ccode\u003epytest\u003c/code\u003e directly. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1542\"\u003e#1542\u003c/a\u003e by \u003ca href=\"https://github.com/SwaatiR\"\u003e\u003ccode\u003e@​SwaatiR\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Run tests with lower bound uv sync, update minimum dependencies. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1526\"\u003e#1526\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.2 to 0.3.3. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1545\"\u003e#1545\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.0 to 0.15.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1541\"\u003e#1541\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.23.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eTYPER_USE_RICH\u003c/code\u003e parsing to allow disabling Rich completely. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1539\"\u003e#1539\u003c/a\u003e by \u003ca href=\"https://github.com/bckohan\"\u003e\u003ccode\u003e@​bckohan\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📝 Remove documentation pages that reference using Click directly. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1538\"\u003e#1538\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ty from 0.0.15 to 0.0.16. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1533\"\u003e#1533\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.23.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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/eaec8fae8a8ab39a64a20f39190f13400b639a22\"\u003e\u003ccode\u003eeaec8fa\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.24.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/c73cc2bd4a815cdc3ab092d7274a71dfc02f3727\"\u003e\u003ccode\u003ec73cc2b\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/6c6259c0faebd5dbca1e204bfe8a2b2233c669c6\"\u003e\u003ccode\u003e6c6259c\u003c/code\u003e\u003c/a\u003e 👷 Fix CI, do not attempt to build \u003ccode\u003etyper-slim\u003c/code\u003e, nor \u003ccode\u003etyper-cli\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/bc65ad883bf875e0f29661c0ebb08b243cde39cf\"\u003e\u003ccode\u003ebc65ad8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/3aedc0a4b45d19a403bf58e1236c2cfb503de222\"\u003e\u003ccode\u003e3aedc0a\u003c/code\u003e\u003c/a\u003e ➖ Drop support for \u003ccode\u003etyper-slim\u003c/code\u003e and \u003ccode\u003etyper-cli\u003c/code\u003e, no more versions will be rel...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/4b130204c20271d4af09a3b359664651fd741f35\"\u003e\u003ccode\u003e4b13020\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/19aaf0bebbd40a348999a0e88e8cba35c524e648\"\u003e\u003ccode\u003e19aaf0b\u003c/code\u003e\u003c/a\u003e ⬆ Bump rich from 14.3.2 to 14.3.3 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1565\"\u003e#1565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/0ece295e33709861e3f64715cb12d7fe9d638f0f\"\u003e\u003ccode\u003e0ece295\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/833c005fac69c33959a86b4530c5aabe211d29de\"\u003e\u003ccode\u003e833c005\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/64c0dcb8e0af40ba5356ad00dc1979ca2d0689e0\"\u003e\u003ccode\u003e64c0dcb\u003c/code\u003e\u003c/a\u003e ⬆ Bump pydantic-settings from 2.13.0 to 2.13.1 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1566\"\u003e#1566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/typer/compare/0.15.4...0.24.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.3.1 to 14.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe infinite Release\u003c/h2\u003e\n\u003cp\u003eFixed a infinite loop in split_graphemes\u003c/p\u003e\n\u003ch2\u003e[14.3.3] - 2026-02-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed infinite loop with \u003ccode\u003ecells.split_graphemes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4006\"\u003eTextualize/rich#4006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe ZWJy release\u003c/h2\u003e\n\u003cp\u003eA fix for \u003ccode\u003ecell_len\u003c/code\u003e edge cases\u003c/p\u003e\n\u003ch2\u003e[14.3.2] - 2026-02-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed solo ZWJ crash \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed control codes reporting width of 1 \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.3.3] - 2026-02-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed infinite loop with \u003ccode\u003ecells.split_graphemes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4006\"\u003eTextualize/rich#4006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.3.2] - 2026-02-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed solo ZWJ crash \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed control codes reporting width of 1 \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/ce0118819d172d134507bcf5982d3faf82bbc43e\"\u003e\u003ccode\u003ece01188\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4008\"\u003e#4008\u003c/a\u003e from Textualize/bump1433\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/14a47c928241fe5cbf2f1adab0bb61fd1db3472f\"\u003e\u003ccode\u003e14a47c9\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/f54bfe062865187fe3bc733769dcd990a5a0ffe3\"\u003e\u003ccode\u003ef54bfe0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4007\"\u003e#4007\u003c/a\u003e from Textualize/copilot/sub-pr-4006\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/7338cb9dafd0d0e916585f191ae505b3e602bb51\"\u003e\u003ccode\u003e7338cb9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4006\"\u003e#4006\u003c/a\u003e from Textualize/fix-grapheme-stuck\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/905b397deb6b5ed59dfd80fa499c90e215f309c8\"\u003e\u003ccode\u003e905b397\u003c/code\u003e\u003c/a\u003e Update tests/test_cells.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/b031dca1d74f1f82a02d71e771b116ec4f9ad6c8\"\u003e\u003ccode\u003eb031dca\u003c/code\u003e\u003c/a\u003e Update tests/test_cells.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/f07a3fc5f5f4d5bfc0152cca4b103369934cd8b6\"\u003e\u003ccode\u003ef07a3fc\u003c/code\u003e\u003c/a\u003e Add regression tests for VS16 after zero-width chars in split_graphemes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/b618ccc7e310a92e555d6ec38a7f390b37192ef3\"\u003e\u003ccode\u003eb618ccc\u003c/code\u003e\u003c/a\u003e spelling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/378c34bd43eb4c9779ce1f7ff5dea376b34c91c5\"\u003e\u003ccode\u003e378c34b\u003c/code\u003e\u003c/a\u003e Initial plan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/87e7ca27d0f8047e2d22c6ee9f7cf2c59e4c96af\"\u003e\u003ccode\u003e87e7ca2\u003c/code\u003e\u003c/a\u003e refinements, and tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.3.1...v14.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/childmindresearch/wristpy/pull/286","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/childmindresearch%2Fwristpy/issues/286","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/286/packages"},{"uuid":"4005759493","node_id":"PR_kwDOOR1sL87HDd1H","number":23,"state":"open","title":"Bump pyarrow from 22.0.0 to 23.0.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-01T00:11:56.000Z","updated_at":"2026-03-01T00:14:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pyarrow","old_version":"22.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pyarrow](https://github.com/apache/arrow) from 22.0.0 to 23.0.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.0.html\"\u003ehttps://arrow.apache.org/release/23.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.0 RC2\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.0 RC2\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-22.0.0...apache-arrow-23.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyarrow\u0026package-manager=pip\u0026previous-version=22.0.0\u0026new-version=23.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/sechlol/exotools/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sechlol%2Fexotools/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"},{"uuid":"3978794611","node_id":"PR_kwDOGLac887Frf6P","number":19,"state":"open","title":"deps(deps): bump the minor-and-patch group with 10 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-23T15:33:15.000Z","updated_at":"2026-02-23T15:33:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"minor-and-patch","update_count":10,"packages":[{"name":"scipy","old_version":"1.17.0","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"pyarrow","old_version":"23.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"selenium","old_version":"4.40.0","new_version":"4.41.0","repository_url":"https://github.com/SeleniumHQ/Selenium"},{"name":"google-api-python-client","old_version":"2.189.0","new_version":"2.190.0","repository_url":"https://github.com/googleapis/google-api-python-client"},{"name":"nautilus-trader","old_version":"1.222.0","new_version":"1.223.0","repository_url":"https://github.com/nautechsystems/nautilus_trader"},{"name":"ruff","old_version":"0.15.0","new_version":"0.15.2","repository_url":"https://github.com/astral-sh/ruff"},{"name":"google-api-python-client-stubs","old_version":"1.31.0","new_version":"1.32.0"},{"name":"mkdocs-material","old_version":"9.7.1","new_version":"9.7.2","repository_url":"https://github.com/squidfunk/mkdocs-material"},{"name":"fastapi","old_version":"0.129.0","new_version":"0.131.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"pydantic-settings","old_version":"2.13.0","new_version":"2.13.1","repository_url":"https://github.com/pydantic/pydantic-settings"}],"path":null,"ecosystem":"pip"},"body":"Bumps the minor-and-patch group with 10 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [scipy](https://github.com/scipy/scipy) | `1.17.0` | `1.17.1` |\n| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `23.0.1` |\n| [selenium](https://github.com/SeleniumHQ/Selenium) | `4.40.0` | `4.41.0` |\n| [google-api-python-client](https://github.com/googleapis/google-api-python-client) | `2.189.0` | `2.190.0` |\n| [nautilus-trader](https://github.com/nautechsystems/nautilus_trader) | `1.222.0` | `1.223.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.0` | `0.15.2` |\n| google-api-python-client-stubs | `1.31.0` | `1.32.0` |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.7.1` | `9.7.2` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.129.0` | `0.131.0` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.13.0` | `2.13.1` |\n\nUpdates `scipy` from 1.17.0 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\u003c/blockquote\u003e\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.17.0...v1.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 23.0.0 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-23.0.0...apache-arrow-23.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `selenium` from 4.40.0 to 4.41.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/SeleniumHQ/Selenium/releases\"\u003eselenium's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eSelenium 4.41.0\u003c/h2\u003e\n\u003ch2\u003eDetailed Changelogs by Component\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG\"\u003eJava\u003c/a\u003e\u003c/strong\u003e     |    \u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES\"\u003ePython\u003c/a\u003e\u003c/strong\u003e     |    \u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG\"\u003eDotNet\u003c/a\u003e\u003c/strong\u003e     |    \u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES\"\u003eRuby\u003c/a\u003e\u003c/strong\u003e     |    \u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md\"\u003eJavaScript\u003c/a\u003e\u003c/strong\u003e\n\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e[py] Remove type stub packages from runtime dependencies by \u003ca href=\"https://github.com/cgoldberg\"\u003e\u003ccode\u003e@​cgoldberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16945\"\u003eSeleniumHQ/selenium#16945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCanonical approach to supporting AI agent directions by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16735\"\u003eSeleniumHQ/selenium#16735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Pre-release workflow improvements by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16946\"\u003eSeleniumHQ/selenium#16946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Prevent nightly releases during release window by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16948\"\u003eSeleniumHQ/selenium#16948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Fix Bazel NuGet push implementation by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16950\"\u003eSeleniumHQ/selenium#16950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Release workflow improvements by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16947\"\u003eSeleniumHQ/selenium#16947\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Fix Bazel JSDocs implementation by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16949\"\u003eSeleniumHQ/selenium#16949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Create config files from environment variables for publishing by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16951\"\u003eSeleniumHQ/selenium#16951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[js] create task to update dependencies by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16942\"\u003eSeleniumHQ/selenium#16942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Java release improvements and build verification tasks by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16952\"\u003eSeleniumHQ/selenium#16952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[py] integrate mypy type checking with Bazel by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16958\"\u003eSeleniumHQ/selenium#16958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Migrate workflows to use centralized bazel.yml by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16955\"\u003eSeleniumHQ/selenium#16955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [bidi] Simplify context aware command options by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16954\"\u003eSeleniumHQ/selenium#16954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] simplify release.yml: remove draft, build once during publish by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16960\"\u003eSeleniumHQ/selenium#16960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [bidi] AOT safe json converter for \u003ccode\u003eInput.Origin\u003c/code\u003e class by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16962\"\u003eSeleniumHQ/selenium#16962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [bidi] AOT safe json converter for \u003ccode\u003eOptionalConverter\u003c/code\u003e by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16963\"\u003eSeleniumHQ/selenium#16963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [bidi] Null guard for event handlers by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16967\"\u003eSeleniumHQ/selenium#16967\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[java] Improve error message for died grid by \u003ca href=\"https://github.com/asolntsev\"\u003e\u003ccode\u003e@​asolntsev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16938\"\u003eSeleniumHQ/selenium#16938\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] combine pre-release dependency updates by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16973\"\u003eSeleniumHQ/selenium#16973\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[rb] remove stored atoms these get generated by build by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16971\"\u003eSeleniumHQ/selenium#16971\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [bidi] Unignore some internal tests by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16968\"\u003eSeleniumHQ/selenium#16968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] run ruff on python files outside py directory by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16957\"\u003eSeleniumHQ/selenium#16957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[py] Fix return type hint for \u003ccode\u003ealert_is_present\u003c/code\u003e by \u003ca href=\"https://github.com/nemowang2003\"\u003e\u003ccode\u003e@​nemowang2003\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16975\"\u003eSeleniumHQ/selenium#16975\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace hardcoded bazel-selenium references with dynamic path resolution by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16976\"\u003eSeleniumHQ/selenium#16976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNo More CrazyFun! by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16972\"\u003eSeleniumHQ/selenium#16972\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Remove update_gh_pages in favor of CI workflow by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16977\"\u003eSeleniumHQ/selenium#16977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Remove legacy rake helpers and unused code by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16978\"\u003eSeleniumHQ/selenium#16978\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[py] make bazel test target names consistent with other languages by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16969\"\u003eSeleniumHQ/selenium#16969\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [bidi] Fix namespace for Permissions module by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16981\"\u003eSeleniumHQ/selenium#16981\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [bidi] Hide Broker as internal implementation by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16982\"\u003eSeleniumHQ/selenium#16982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [bidi] Refactor BiDi module initialization to pass BiDi explicitly by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16983\"\u003eSeleniumHQ/selenium#16983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Add DocFX updater script by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16980\"\u003eSeleniumHQ/selenium#16980\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] add reusable commit-changes.yml workflow by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16965\"\u003eSeleniumHQ/selenium#16965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[java] fix JSON parsing of numbers with exponent by \u003ca href=\"https://github.com/joerg1985\"\u003e\u003ccode\u003e@​joerg1985\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16961\"\u003eSeleniumHQ/selenium#16961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Skip macOS-only archive rules on unsupported platforms by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16985\"\u003eSeleniumHQ/selenium#16985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Split Rakefile into per-language task files by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16979\"\u003eSeleniumHQ/selenium#16979\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement fast bazel target lookup with index caching by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16974\"\u003eSeleniumHQ/selenium#16974\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Remove git.add() calls from rake tasks by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16994\"\u003eSeleniumHQ/selenium#16994\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/SeleniumHQ/selenium/commit/9fc754f90a9725756933b8a1788d5a583d7f509f\"\u003e\u003ccode\u003e9fc754f\u003c/code\u003e\u003c/a\u003e [build] Prepare for release of selenium-4.41.0 (\u003ca href=\"https://redirect.github.com/SeleniumHQ/Selenium/issues/17098\"\u003e#17098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/d5f22eca5fe9b5574789315f2aeb8d6fde470e08\"\u003e\u003ccode\u003ed5f22ec\u003c/code\u003e\u003c/a\u003e [java] mark tests passing in latest chrome beta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/89c59938eca2135cc175e00558ae1adf7bc270d9\"\u003e\u003ccode\u003e89c5993\u003c/code\u003e\u003c/a\u003e [build] fix auto-updating of browsers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/4592f1b54fbb6e13c3239b59467ea97e154ac4c0\"\u003e\u003ccode\u003e4592f1b\u003c/code\u003e\u003c/a\u003e [build] ci-python jobs not currently matching by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/755d44cc09c46708563ec2f4fd3d05d9d1e6efe6\"\u003e\u003ccode\u003e755d44c\u003c/code\u003e\u003c/a\u003e [build] put cdp version support in changelogs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/9aff5c7c2e75b300051c3baef62b7eba7c2e0ba5\"\u003e\u003ccode\u003e9aff5c7\u003c/code\u003e\u003c/a\u003e [build] cannot invoke a rake task twice by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/3a680a3f4fb957015a3e4634cacf8e0a235d85ec\"\u003e\u003ccode\u003e3a680a3\u003c/code\u003e\u003c/a\u003e [build] ignore the staging branch for the PR and apply all patches in order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/20de9b9c3d073956a7a511174c800a8c4a38493c\"\u003e\u003ccode\u003e20de9b9\u003c/code\u003e\u003c/a\u003e [build] stage changes to an ephemeral staging branch since not all updates ar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/aac9a2825271b5fef96aa3b0c7b4792b76a46e62\"\u003e\u003ccode\u003eaac9a28\u003c/code\u003e\u003c/a\u003e [py] Update test to check it's an integer rather than a value (\u003ca href=\"https://redirect.github.com/SeleniumHQ/Selenium/issues/17114\"\u003e#17114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/02ec15f16d968801e6778f47312619629bd5e7e5\"\u003e\u003ccode\u003e02ec15f\u003c/code\u003e\u003c/a\u003e [rb] Update dependencies (\u003ca href=\"https://redirect.github.com/SeleniumHQ/Selenium/issues/17111\"\u003e#17111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/SeleniumHQ/Selenium/compare/selenium-4.40.0...selenium-4.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-api-python-client` from 2.189.0 to 2.190.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-api-python-client/releases\"\u003egoogle-api-python-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.190.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/compare/v2.189.0...v2.190.0\"\u003e2.190.0\u003c/a\u003e (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eaiplatform:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/03cd19c43da944793730a26181730fad340bdb78\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/03cd19c43da944793730a26181730fad340bdb78\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ealloydb:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/608b32804ad097b8a479edd988a3f84749062445\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/608b32804ad097b8a479edd988a3f84749062445\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eandroidpublisher:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/ac63ab7a79e7cdc76b0d8f441d91f1267406cd93\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/ac63ab7a79e7cdc76b0d8f441d91f1267406cd93\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapigee:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/e5a6b07d4a8958e2f8cf38e9ae8458e5d4b26432\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/e5a6b07d4a8958e2f8cf38e9ae8458e5d4b26432\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eappengine:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/ba7f4df4f29c75d89a9ca6da872f1dd2f17668fe\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/ba7f4df4f29c75d89a9ca6da872f1dd2f17668fe\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclouddeploy:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/693cde3277895cdf2d2cc8acd2d226a355475df8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/693cde3277895cdf2d2cc8acd2d226a355475df8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloudkms:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/5bc1696640a6e554dcd3514670d2f0b7e6233b0a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/5bc1696640a6e554dcd3514670d2f0b7e6233b0a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econnectors:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/668955cf54878fbc26dcbfe0b02f0a3c742252c3\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/668955cf54878fbc26dcbfe0b02f0a3c742252c3\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econtactcenterinsights:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/44dac76832a88a9c8ff164e2171c68709852d890\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/44dac76832a88a9c8ff164e2171c68709852d890\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econtaineranalysis:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/817b1f34dbdda7b560d207211e77f2df864a4cf7\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/817b1f34dbdda7b560d207211e77f2df864a4cf7\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edataflow:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/3c9a19f785106debf72d7a084fce3f3074abe3bd\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/3c9a19f785106debf72d7a084fce3f3074abe3bd\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatafusion:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/b7b17f87083c6855ee2e24fe89b3fc4af9c30b83\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/b7b17f87083c6855ee2e24fe89b3fc4af9c30b83\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatalabeling:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/6c8635ad88bb9ebab23452eafc7f422d33cc3ea9\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/6c8635ad88bb9ebab23452eafc7f422d33cc3ea9\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatalineage:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/b0d16418a27cbdf8a64cd3f11ecc223f78c213aa\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/b0d16418a27cbdf8a64cd3f11ecc223f78c213aa\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ediscoveryengine:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/aa0227ef033d52476413d94ebdb1b3f3f91fa1d8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/aa0227ef033d52476413d94ebdb1b3f3f91fa1d8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edisplayvideo:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/8ab2268c8269d972fc28563e1e94b5972e400c97\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/8ab2268c8269d972fc28563e1e94b5972e400c97\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edocumentai:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/1740f1e8a8ba82bd3a9700b0659d8503664416f6\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/1740f1e8a8ba82bd3a9700b0659d8503664416f6\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edomains:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/68046d5fb45a88614a852b1ee6a796e2a35e391e\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/68046d5fb45a88614a852b1ee6a796e2a35e391e\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeventarc:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/4b46b8b6cb10cc16b69e55b954cb8da84fc89d0a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/4b46b8b6cb10cc16b69e55b954cb8da84fc89d0a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efcm:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/3846cb0f285d84f13df9a5721b115f6b1134ba92\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/3846cb0f285d84f13df9a5721b115f6b1134ba92\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efirebasedataconnect:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/6be57aaa9e4a0c4637329fc45865b4d496b7bb83\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/6be57aaa9e4a0c4637329fc45865b4d496b7bb83\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003egkebackup:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/dae76d0fc170b932414277c9de14a0e29943f536\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/dae76d0fc170b932414277c9de14a0e29943f536\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ekmsinventory:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/cb6e8f88a8e55f25ac38b8027b48a6b8cac61962\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/cb6e8f88a8e55f25ac38b8027b48a6b8cac61962\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elogging:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/90ec37070b66fb97436cea671922bdbdb531efd8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/90ec37070b66fb97436cea671922bdbdb531efd8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emanagedidentities:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/eeb29f4108489f86cbe6573ca34fc571d7b0c978\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/eeb29f4108489f86cbe6573ca34fc571d7b0c978\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emerchantapi:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/e61b837809d0f203f4ab6e426da02185ef014704\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/e61b837809d0f203f4ab6e426da02185ef014704\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003enetworkmanagement:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/c8976bf6a8c2156b03d534e365c108409380aabc\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/c8976bf6a8c2156b03d534e365c108409380aabc\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eondemandscanning:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/a2e057b6deaed06d63d3e2122bd7232b4d83eb00\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/a2e057b6deaed06d63d3e2122bd7232b4d83eb00\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eredis:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/cc5c15667f5d08cb9a2022de821cda9c2fc7b9db\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/cc5c15667f5d08cb9a2022de821cda9c2fc7b9db\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esaasservicemgmt:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/415b7fa81ff7b344ecbbf37c4c46e7752171dc33\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/415b7fa81ff7b344ecbbf37c4c46e7752171dc33\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esecretmanager:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/9295ba11b447bbf0259205017e158e3589bd7717\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/9295ba11b447bbf0259205017e158e3589bd7717\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esecurityposture:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/118d055db0b6ff99594dd0c8f049c4df5e77b128\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/118d055db0b6ff99594dd0c8f049c4df5e77b128\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003estorage:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/d17403e9c43e3e8a1ee6cfec34c5b46857b2cd9e\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/d17403e9c43e3e8a1ee6cfec34c5b46857b2cd9e\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ethreatintelligence:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/aa972d86579da1061e0ad37e47e7d083536789cf\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/aa972d86579da1061e0ad37e47e7d083536789cf\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewalletobjects:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/46937b6d2f50039c0349d0a986b98d5e70bc8f0f\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/46937b6d2f50039c0349d0a986b98d5e70bc8f0f\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eyoutube:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/a1a7027c43593f361a56c42596dcbcc263c6929a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/a1a7027c43593f361a56c42596dcbcc263c6929a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edatastore:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/f1c9530bf6a6008125afdfaca224c28770aa0148\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/f1c9530bf6a6008125afdfaca224c28770aa0148\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efirestore:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/f0388b2025852aa6c16c546156a3af242ee78adb\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/f0388b2025852aa6c16c546156a3af242ee78adb\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003erun:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/72d5e943751a6051358cbaffbb345c8bc2f12ad5\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/72d5e943751a6051358cbaffbb345c8bc2f12ad5\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\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/googleapis/google-api-python-client/commit/7c2030732a0b3e9e75e575b93b0275d170924880\"\u003e\u003ccode\u003e7c20307\u003c/code\u003e\u003c/a\u003e chore(main): release 2.190.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2718\"\u003e#2718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e\u003ccode\u003e49fd63f\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2717\"\u003e#2717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/9071631e9d20162399010b3e5244db7899d19bb8\"\u003e\u003ccode\u003e9071631\u003c/code\u003e\u003c/a\u003e chore: replace old python teams with cloud-sdk-python-team (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/google-api-python-client/compare/v2.189.0...v2.190.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nautilus-trader` from 1.222.0 to 1.223.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nautechsystems/nautilus_trader/releases\"\u003enautilus-trader's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eNautilusTrader 1.223.0 Beta\u003c/h1\u003e\n\u003cp\u003eReleased on 21st February 2026 (UTC).\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ebulk_read_batch_size\u003c/code\u003e option to \u003ccode\u003eCacheConfig\u003c/code\u003e for batched Redis bulk reads, thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded sandbox execution adapter in Rust\u003c/li\u003e\n\u003cli\u003eAdded multi-account execution support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3194\"\u003e#3194\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Nasdaq ITCH 5.0 parser\u003c/li\u003e\n\u003cli\u003eAdded grid market maker example strategy in Rust\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eOrderBookDeltas\u003c/code\u003e historical request support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3438\"\u003e#3438\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emarket_exit()\u003c/code\u003e method for \u003ccode\u003eStrategy\u003c/code\u003e with configurable \u003ccode\u003emarket_exit_time_in_force\u003c/code\u003e and \u003ccode\u003emarket_exit_reduce_only\u003c/code\u003e options (supports venues requiring IOC for market orders)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emanage_stop\u003c/code\u003e config option to \u003ccode\u003eStrategyConfig\u003c/code\u003e for automatic market exit on stop\u003c/li\u003e\n\u003cli\u003eAdded matching engine \u003ccode\u003equeue_position\u003c/code\u003e tracking heuristic for backtests\u003c/li\u003e\n\u003cli\u003eAdded matching engine trade consumption seeding for L2/L3 book backtests\u003c/li\u003e\n\u003cli\u003eAdded tracing subscriber for external Rust library logs (\u003ccode\u003euse_tracing=True\u003c/code\u003e in \u003ccode\u003eLoggingConfig\u003c/code\u003e, filter with \u003ccode\u003eRUST_LOG\u003c/code\u003e env var)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003euse_market_order_acks\u003c/code\u003e venue config option to generate \u003ccode\u003eOrderAccepted\u003c/code\u003e events for market orders before filling (mimics behavior of venues like Binance)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eoto_trigger_mode\u003c/code\u003e venue config option to control whether OTO child orders activate on partial fills (PARTIAL) or only after full fill (FULL) (default PARTIAL) (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3454\"\u003e#3454\u003c/a\u003e), thanks \u003ca href=\"https://github.com/godnight10061\"\u003e\u003ccode\u003e@​godnight10061\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequest_funding_rates\u003c/code\u003e and \u003ccode\u003eFundingRateUpdate\u003c/code\u003e Arrow serialization (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3467\"\u003e#3467\u003c/a\u003e), thanks \u003ca href=\"https://github.com/dxwil\"\u003e\u003ccode\u003e@​dxwil\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eoptimize_file_loading\u003c/code\u003e as BacktestDataConfig parameter (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3518\"\u003e#3518\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ebulk_read_batch_size\u003c/code\u003e option to \u003ccode\u003eCacheConfig\u003c/code\u003e for batched Redis bulk reads (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3535\"\u003e#3535\u003c/a\u003e), thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ePerpetualContract\u003c/code\u003e instrument for asset-class agnostic perpetual swaps\u003c/li\u003e\n\u003cli\u003eAdded Ichimoku Cloud indicator (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3552\"\u003e#3552\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Betfair RCM parsing for TPD race data\u003c/li\u003e\n\u003cli\u003eAdded Betfair race stream subscription via \u003ccode\u003esubscribe_race_data\u003c/code\u003e config\u003c/li\u003e\n\u003cli\u003eAdded Betfair market version price protection for orders\u003c/li\u003e\n\u003cli\u003eAdded Betfair \u003ccode\u003eBetfairOrderVoided\u003c/code\u003e custom data type for VAR voids\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eBetfairOrderVoided\u003c/code\u003e custom data type for VAR voids\u003c/li\u003e\n\u003cli\u003eAdded Binance \u003ccode\u003eBinanceEnvironment\u003c/code\u003e enum with \u003ccode\u003eLIVE\u003c/code\u003e, \u003ccode\u003eTESTNET\u003c/code\u003e, \u003ccode\u003eDEMO\u003c/code\u003e variants for explicit environment selection\u003c/li\u003e\n\u003cli\u003eAdded Binance \u003ccode\u003eenvironment\u003c/code\u003e config field to \u003ccode\u003eBinanceDataClientConfig\u003c/code\u003e and \u003ccode\u003eBinanceExecClientConfig\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdded Binance Demo environment support with \u003ccode\u003eBINANCE_DEMO_API_KEY\u003c/code\u003e/\u003ccode\u003eBINANCE_DEMO_API_SECRET\u003c/code\u003e env vars\u003c/li\u003e\n\u003cli\u003eAdded BitMEX trailing stop support\u003c/li\u003e\n\u003cli\u003eAdded BitMEX pegged order (BBO) support via params\u003c/li\u003e\n\u003cli\u003eAdded Bybit mark price subscriptions support\u003c/li\u003e\n\u003cli\u003eAdded Bybit index price subscriptions support\u003c/li\u003e\n\u003cli\u003eAdded Databento bulk subscription and historical request support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3490\"\u003e#3490\u003c/a\u003e), thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Databento support for conversion of OPRA venues (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3605\"\u003e#3605\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Interactive Brokers subscribe index price functionality (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3514\"\u003e#3514\u003c/a\u003e), thanks \u003ca href=\"https://github.com/Murph24\"\u003e\u003ccode\u003e@​Murph24\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Interactive Brokers \u003ccode\u003eTotalCashValue\u003c/code\u003e to account summary \u003ccode\u003einfo\u003c/code\u003e dict, exposing actual cash balance (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3567\"\u003e#3567\u003c/a\u003e), thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Interactive Brokers \u003ccode\u003erequest_timeout_secs\u003c/code\u003e config to \u003ccode\u003eInteractiveBrokersExecClientConfig\u003c/code\u003e and consolidated all IB request timeouts into a single configurable value (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3602\"\u003e#3602\u003c/a\u003e), thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded OKX batch cancel support for conditional (algo) orders\u003c/li\u003e\n\u003cli\u003eAdded Polymarket data loader event-level API support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3484\"\u003e#3484\u003c/a\u003e), thanks \u003ca href=\"https://github.com/jsemldonado\"\u003e\u003ccode\u003e@​jsemldonado\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Polymarket \u003ccode\u003eevent_slug_builder\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3501\"\u003e#3501\u003c/a\u003e), thanks \u003ca href=\"https://github.com/jsemldonado\"\u003e\u003ccode\u003e@​jsemldonado\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Polymarket batch order support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3506\"\u003e#3506\u003c/a\u003e), thanks \u003ca href=\"https://github.com/loafer-19\"\u003e\u003ccode\u003e@​loafer-19\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Tardis data client with factory in Rust\u003c/li\u003e\n\u003cli\u003eImproved tearsheet with dynamic Nautilus version and refined run info table (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3396\"\u003e#3396\u003c/a\u003e), thanks \u003ca href=\"https://github.com/KaulSe\"\u003e\u003ccode\u003e@​KaulSe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved dYdX v3 (legacy) Python adapter (the v3 exchange was decommissioned at end of 2024)\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003edydx\u003c/code\u003e optional install extra (the v4 Rust-backed adapter has no additional Python dependencies)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/nautechsystems/nautilus_trader/blob/develop/RELEASES.md\"\u003enautilus-trader's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eNautilusTrader 1.223.0 Beta\u003c/h1\u003e\n\u003cp\u003eReleased on 21st February 2026 (UTC).\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ebulk_read_batch_size\u003c/code\u003e option to \u003ccode\u003eCacheConfig\u003c/code\u003e for batched Redis bulk reads, thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded sandbox execution adapter in Rust\u003c/li\u003e\n\u003cli\u003eAdded multi-account execution support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3194\"\u003e#3194\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Nasdaq ITCH 5.0 parser\u003c/li\u003e\n\u003cli\u003eAdded grid market maker example strategy in Rust\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eOrderBookDeltas\u003c/code\u003e historical request support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3438\"\u003e#3438\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emarket_exit()\u003c/code\u003e method for \u003ccode\u003eStrategy\u003c/code\u003e with configurable \u003ccode\u003emarket_exit_time_in_force\u003c/code\u003e and \u003ccode\u003emarket_exit_reduce_only\u003c/code\u003e options (supports venues requiring IOC for market orders)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emanage_stop\u003c/code\u003e config option to \u003ccode\u003eStrategyConfig\u003c/code\u003e for automatic market exit on stop\u003c/li\u003e\n\u003cli\u003eAdded matching engine \u003ccode\u003equeue_position\u003c/code\u003e tracking heuristic for backtests\u003c/li\u003e\n\u003cli\u003eAdded matching engine trade consumption seeding for L2/L3 book backtests\u003c/li\u003e\n\u003cli\u003eAdded tracing subscriber for external Rust library logs (\u003ccode\u003euse_tracing=True\u003c/code\u003e in \u003ccode\u003eLoggingConfig\u003c/code\u003e, filter with \u003ccode\u003eRUST_LOG\u003c/code\u003e env var)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003euse_market_order_acks\u003c/code\u003e venue config option to generate \u003ccode\u003eOrderAccepted\u003c/code\u003e events for market orders before filling (mimics behavior of venues like Binance)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eoto_trigger_mode\u003c/code\u003e venue config option to control whether OTO child orders activate on partial fills (PARTIAL) or only after full fill (FULL) (default PARTIAL) (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3454\"\u003e#3454\u003c/a\u003e), thanks \u003ca href=\"https://github.com/godnight10061\"\u003e\u003ccode\u003e@​godnight10061\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequest_funding_rates\u003c/code\u003e and \u003ccode\u003eFundingRateUpdate\u003c/code\u003e Arrow serialization (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3467\"\u003e#3467\u003c/a\u003e), thanks \u003ca href=\"https://github.com/dxwil\"\u003e\u003ccode\u003e@​dxwil\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eoptimize_file_loading\u003c/code\u003e as BacktestDataConfig parameter (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3518\"\u003e#3518\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ebulk_read_batch_size\u003c/code\u003e option to \u003ccode\u003eCacheConfig\u003c/code\u003e for batched Redis bulk reads (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3535\"\u003e#3535\u003c/a\u003e), thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ePerpetualContract\u003c/code\u003e instrument for asset-class agnostic perpetual swaps\u003c/li\u003e\n\u003cli\u003eAdded Ichimoku Cloud indicator (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3552\"\u003e#3552\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Betfair RCM parsing for TPD race data\u003c/li\u003e\n\u003cli\u003eAdded Betfair race stream subscription via \u003ccode\u003esubscribe_race_data\u003c/code\u003e config\u003c/li\u003e\n\u003cli\u003eAdded Betfair market version price protection for orders\u003c/li\u003e\n\u003cli\u003eAdded Betfair \u003ccode\u003eBetfairOrderVoided\u003c/code\u003e custom data type for VAR voids\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eBetfairOrderVoided\u003c/code\u003e custom data type for VAR voids\u003c/li\u003e\n\u003cli\u003eAdded Binance \u003ccode\u003eBinanceEnvironment\u003c/code\u003e enum with \u003ccode\u003eLIVE\u003c/code\u003e, \u003ccode\u003eTESTNET\u003c/code\u003e, \u003ccode\u003eDEMO\u003c/code\u003e variants for explicit environment selection\u003c/li\u003e\n\u003cli\u003eAdded Binance \u003ccode\u003eenvironment\u003c/code\u003e config field to \u003ccode\u003eBinanceDataClientConfig\u003c/code\u003e and \u003ccode\u003eBinanceExecClientConfig\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdded Binance Demo environment support with \u003ccode\u003eBINANCE_DEMO_API_KEY\u003c/code\u003e/\u003ccode\u003eBINANCE_DEMO_API_SECRET\u003c/code\u003e env vars\u003c/li\u003e\n\u003cli\u003eAdded BitMEX trailing stop support\u003c/li\u003e\n\u003cli\u003eAdded BitMEX pegged order (BBO) support via params\u003c/li\u003e\n\u003cli\u003eAdded Bybit mark price subscriptions support\u003c/li\u003e\n\u003cli\u003eAdded Bybit index price subscriptions support\u003c/li\u003e\n\u003cli\u003eAdded Databento bulk subscription and historical request support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3490\"\u003e#3490\u003c/a\u003e), thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Databento support for conversion of OPRA venues (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3605\"\u003e#3605\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Interactive Brokers subscribe index price functionality (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3514\"\u003e#3514\u003c/a\u003e), thanks \u003ca href=\"https://github.com/Murph24\"\u003e\u003ccode\u003e@​Murph24\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Interactive Brokers \u003ccode\u003eTotalCashValue\u003c/code\u003e to account summary \u003ccode\u003einfo\u003c/code\u003e dict, exposing actual cash balance (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3567\"\u003e#3567\u003c/a\u003e), thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Interactive Brokers \u003ccode\u003erequest_timeout_secs\u003c/code\u003e config to \u003ccode\u003eInteractiveBrokersExecClientConfig\u003c/code\u003e and consolidated all IB request timeouts into a single configurable value (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3602\"\u003e#3602\u003c/a\u003e), thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded OKX batch cancel support for conditional (algo) orders\u003c/li\u003e\n\u003cli\u003eAdded Polymarket data loader event-level API support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3484\"\u003e#3484\u003c/a\u003e), thanks \u003ca href=\"https://github.com/jsemldonado\"\u003e\u003ccode\u003e@​jsemldonado\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Polymarket \u003ccode\u003eevent_slug_builder\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3501\"\u003e#3501\u003c/a\u003e), thanks \u003ca href=\"https://github.com/jsemldonado\"\u003e\u003ccode\u003e@​jsemldonado\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Polymarket batch order support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3506\"\u003e#3506\u003c/a\u003e), thanks \u003ca href=\"https://github.com/loafer-19\"\u003e\u003ccode\u003e@​loafer-19\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Tardis data client with factory in Rust\u003c/li\u003e\n\u003cli\u003eImproved tearsheet with dynamic Nautilus version and refined run info table (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3396\"\u003e#3396\u003c/a\u003e), thanks \u003ca href=\"https://github.com/KaulSe\"\u003e\u003ccode\u003e@​KaulSe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved dYdX v3 (legacy) Python adapter (the v3 exchange was decommissioned at end of 2024)\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003edydx\u003c/code\u003e optional install extra (the v4 Rust-backed adapter has no additional Python dependencies)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/2b2e6a934e9f310983f2a6afb835f50e1c6cfb6c\"\u003e\u003ccode\u003e2b2e6a9\u003c/code\u003e\u003c/a\u003e Release 1.223.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/0fbf9ccc5c18e99847e7cf590312b01061bc6ca4\"\u003e\u003ccode\u003e0fbf9cc\u003c/code\u003e\u003c/a\u003e Prepare release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/0c9571ddc364bf0061e1c8089801c132fdbfe8e4\"\u003e\u003ccode\u003e0c9571d\u003c/code\u003e\u003c/a\u003e Refine dYdX market maker tutorial\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/7b27252fc9177236a680110dae1440537b59b582\"\u003e\u003ccode\u003e7b27252\u003c/code\u003e\u003c/a\u003e Remove redundant Databento overview\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/31f86429a9589f02096986c50c86717fdff74c3a\"\u003e\u003ccode\u003e31f8642\u003c/code\u003e\u003c/a\u003e Refine sandbox crate for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/b49087c289e2b13bfcd027b82a775a4b77596a67\"\u003e\u003ccode\u003eb49087c\u003c/code\u003e\u003c/a\u003e Standardize and audit adapter configuration guides\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/cb0d0cd88e01798d35708cecefe5a82a34626df0\"\u003e\u003ccode\u003ecb0d0cd\u003c/code\u003e\u003c/a\u003e Fix clippy lints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/305f853a8c1d6fa81bb3ebb815db73992fd82126\"\u003e\u003ccode\u003e305f853\u003c/code\u003e\u003c/a\u003e Update dependencies and release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/8a32a134c78f971f4231969ed5f522b8db2eb26e\"\u003e\u003ccode\u003e8a32a13\u003c/code\u003e\u003c/a\u003e Fix unused variable warning for feature combination\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/9ae9e3fc66b5cd480a025cc84f84b47437280214\"\u003e\u003ccode\u003e9ae9e3f\u003c/code\u003e\u003c/a\u003e Improve dYdX v4 docs and grid market making tutorial (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3607\"\u003e#3607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nautechsystems/nautilus_trader/compare/v1.222.0...v1.223.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.15.0 to 0.15.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.2\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-19.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eExpand the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23385\"\u003e#23385\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eIn preview, Ruff now enables a significantly expanded default rule set of 412 rules, up from the stable default set of 59 rules. The new rules are mostly a superset of the stable defaults, with the exception of these rules, which are removed from the preview defaults:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line\"\u003e\u003ccode\u003emultiple-imports-on-one-line\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE401\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE402\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE701\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon\"\u003e\u003ccode\u003emultiple-statements-on-one-line-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE702\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/useless-semicolon\"\u003e\u003ccode\u003euseless-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE703\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/none-comparison\"\u003e\u003ccode\u003enone-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE711\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/true-false-comparison\"\u003e\u003ccode\u003etrue-false-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE712\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-in-test\"\u003e\u003ccode\u003enot-in-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE713\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-is-test\"\u003e\u003ccode\u003enot-is-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE714\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/type-comparison\"\u003e\u003ccode\u003etype-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE721\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lambda-assignment\"\u003e\u003ccode\u003elambda-assignment\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE731\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-variable-name\"\u003e\u003ccode\u003eambiguous-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE741\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-class-name\"\u003e\u003ccode\u003eambiguous-class-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE742\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-function-name\"\u003e\u003ccode\u003eambiguous-function-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE743\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star\"\u003e\u003ccode\u003eundefined-local-with-import-star\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF403\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF405\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF406\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error\"\u003e\u003ccode\u003eforward-annotation-syntax-error\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF722\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you use preview and prefer the old defaults, you can restore them with configuration like:\u003c/p\u003e\n\u003cpre lang=\"toml\"\u003e\u003ccode\u003e\r\n# ruff.toml\r\n\u003cp\u003e[lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\u003c/p\u003e\n\u003ch1\u003epyproject.toml\u003c/h1\u003e\n\u003cp\u003e[tool.ruff.lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eIf you do give them a try, feel free to share your feedback in the \u003ca href=\"https://github.com/astral-sh/ruff/discussions/23203\"\u003eGitHub discussion\u003c/a\u003e!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Also check string annotations (\u003ccode\u003ePYI041\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19023\"\u003e#19023\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-19.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eExpand the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23385\"\u003e#23385\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eIn preview, Ruff now enables a significantly expanded default rule set of 412\nrules, up from the stable default set of 59 rules. The new rules are mostly a\nsuperset of the stable defaults, with the exception of these rules, which are\nremoved from the preview defaults:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line\"\u003e\u003ccode\u003emultiple-imports-on-one-line\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE401\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE402\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE701\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon\"\u003e\u003ccode\u003emultiple-statements-on-one-line-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE702\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/useless-semicolon\"\u003e\u003ccode\u003euseless-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE703\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/none-comparison\"\u003e\u003ccode\u003enone-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE711\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/true-false-comparison\"\u003e\u003ccode\u003etrue-false-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE712\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-in-test\"\u003e\u003ccode\u003enot-in-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE713\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-is-test\"\u003e\u003ccode\u003enot-is-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE714\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/type-comparison\"\u003e\u003ccode\u003etype-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE721\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lambda-assignment\"\u003e\u003ccode\u003elambda-assignment\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE731\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-variable-name\"\u003e\u003ccode\u003eambiguous-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE741\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-class-name\"\u003e\u003ccode\u003eambiguous-class-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE742\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-function-name\"\u003e\u003ccode\u003eambiguous-function-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE743\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star\"\u003e\u003ccode\u003eundefined-local-with-import-star\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF403\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF405\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF406\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error\"\u003e\u003ccode\u003eforward-annotation-syntax-error\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF722\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you use preview and prefer the old defaults, you can restore them with\nconfiguration like:\u003c/p\u003e\n\u003cpre lang=\"toml\"\u003e\u003ccode\u003e\n# ruff.toml\n\u003cp\u003e[lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\u003c/p\u003e\n\u003ch1\u003epyproject.toml\u003c/h1\u003e\n\u003cp\u003e[tool.ruff.lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eIf you do give them a try, feel free to share your feedback in the \u003ca href=\"https://github.com/astral-sh/ruff/discussions/23203\"\u003eGitHub\ndiscussion\u003c/a\u003e!\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9d18ee9115f9cbb4c21478baa7c1fa2b46e0759c\"\u003e\u003ccode\u003e9d18ee9\u003c/code\u003e\u003c/a\u003e Hard code workflow name and \u003ccode\u003ecancel-in-progress\u003c/code\u003e only for PRs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23431\"\u003e#23431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7cc15f024b931fe56365f40de3fab01219c092c4\"\u003e\u003ccode\u003e7cc15f0\u003c/code\u003e\u003c/a\u003e Bump 0.15.2 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23430\"\u003e#23430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d1b544393ae9cddd8e48ebee8dbfd54bda89f375\"\u003e\u003ccode\u003ed1b5443\u003c/code\u003e\u003c/a\u003e Add extension mapping to configuration file options (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23384\"\u003e#23384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/222574af90c5c0ca8f84c8385cf30c7c10ac2496\"\u003e\u003ccode\u003e222574a\u003c/code\u003e\u003c/a\u003e Expand the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23385\"\u003e#23385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1465b5de3829549b45397e9587b83ab7ac6d26d0\"\u003e\u003ccode\u003e1465b5d\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Fix \u003ccode\u003ein_async_context\u003c/code\u003e logic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23426\"\u003e#23426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/410902fa401afda969cc000f13be341896e6868e\"\u003e\u003ccode\u003e410902f\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Fix handling of \u003ccode\u003etyping.{io,re}\u003c/code\u003e (\u003ccode\u003eUP035\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23131\"\u003e#23131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/729610acd9e19f57526e8ca40f355626154826bb\"\u003e\u003ccode\u003e729610a\u003c/code\u003e\u003c/a\u003e [ty] Fall back to ambiguous for large control flow graphs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23399\"\u003e#23399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1425c185b0a47be87112762f65b5bf7e323fb950\"\u003e\u003ccode\u003e1425c18\u003c/code\u003e\u003c/a\u003e [ty] Add code folding support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/97acaaea5f993f33d3f5bb27c5db760a2f3d1e8a\"\u003e\u003ccode\u003e97acaae\u003c/code\u003e\u003c/a\u003e [ty] Fix stack overflow for self-referential \u003ccode\u003eTypeOf\u003c/code\u003e in annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23407\"\u003e#23407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1f380c82584a6dab7e8715bc7dd5ae187da1e69a\"\u003e\u003ccode\u003e1f380c8\u003c/code\u003e\u003c/a\u003e [ty] Update tests \u003ccode\u003ereveal_type\u003c/code\u003e and \u003ccode\u003eNever\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23418\"\u003e#23418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.0...0.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-api-python-client-stubs` from 1.31.0 to 1.32.0\n\nUpdates `mkdocs-material` from 9.7.1 to 9.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.7.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGoing forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOpened up version ranges of optional dependencies for forward-compatibili...\n\n_Description has been truncated_","html_url":"https://github.com/jerdaw/finbot/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerdaw%2Ffinbot/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"}],"issue_packages":[{"old_version":"23.0.0","new_version":"23.0.1","update_type":"patch","path":null,"pr_created_at":"2026-04-03T08:48:37.000Z","version_change":"23.0.0 → 23.0.1","issue":{"uuid":"4199301709","node_id":"PR_kwDORQKSoM7PwkV3","number":16,"state":"closed","title":"Bump the python group across 1 directory with 18 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-06T08:50:39.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-03T08:48:37.000Z","updated_at":"2026-04-06T08:50:41.000Z","time_to_close":259322,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python","update_count":18,"packages":[{"name":"django-allauth","old_version":"65.14.2","new_version":"65.15.1"},{"name":"django-crispy-forms","old_version":"2.5","new_version":"2.6","repository_url":"https://github.com/django-crispy-forms/django-crispy-forms"},{"name":"django-environ","old_version":"0.12.0","new_version":"0.13.0","repository_url":"https://github.com/joke2k/django-environ"},{"name":"django-hijack","old_version":"3.7.6","new_version":"3.7.7","repository_url":"https://github.com/django-hijack/django-hijack"},{"name":"gunicorn","old_version":"25.1.0","new_version":"25.3.0","repository_url":"https://github.com/benoitc/gunicorn"},{"name":"pillow","old_version":"12.1.1","new_version":"12.2.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"psycopg","old_version":"3.3.2","new_version":"3.3.3"},{"name":"pyarrow","old_version":"23.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"python-json-logger","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"redis","old_version":"7.1.1","new_version":"7.4.0","repository_url":"https://github.com/redis/redis-py"},{"name":"whitenoise","old_version":"6.11.0","new_version":"6.12.0","repository_url":"https://github.com/evansd/whitenoise"},{"name":"anthropic","old_version":"0.86.0","new_version":"0.88.0","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"name":"coverage","old_version":"7.13.4","new_version":"7.13.5","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"django-debug-toolbar","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/django-commons/django-debug-toolbar"},{"name":"factory-boy","old_version":"3.3.2","new_version":"3.3.3","repository_url":"https://github.com/FactoryBoy/factory_boy"},{"name":"pytest-django","old_version":"4.11.1","new_version":"4.12.0","repository_url":"https://github.com/pytest-dev/pytest-django"},{"name":"ruff","old_version":"0.15.1","new_version":"0.15.9","repository_url":"https://github.com/astral-sh/ruff"},{"name":"werkzeug","old_version":"3.1.5","new_version":"3.1.8"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python group with 18 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [django-allauth[mfa]](https://github.com/sponsors/pennersr) | `65.14.2` | `65.15.1` |\n| [django-crispy-forms](https://github.com/django-crispy-forms/django-crispy-forms) | `2.5` | `2.6` |\n| [django-environ](https://github.com/joke2k/django-environ) | `0.12.0` | `0.13.0` |\n| [django-hijack](https://github.com/django-hijack/django-hijack) | `3.7.6` | `3.7.7` |\n| [gunicorn](https://github.com/benoitc/gunicorn) | `25.1.0` | `25.3.0` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.1.1` | `12.2.0` |\n| [psycopg[binary]](https://github.com/psycopg/psycopg) | `3.3.2` | `3.3.3` |\n| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `23.0.1` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [redis](https://github.com/redis/redis-py) | `7.1.1` | `7.4.0` |\n| [whitenoise](https://github.com/evansd/whitenoise) | `6.11.0` | `6.12.0` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.86.0` | `0.88.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.4` | `7.13.5` |\n| [django-debug-toolbar](https://github.com/django-commons/django-debug-toolbar) | `6.2.0` | `6.3.0` |\n| [factory-boy](https://github.com/FactoryBoy/factory_boy) | `3.3.2` | `3.3.3` |\n| [pytest-django](https://github.com/pytest-dev/pytest-django) | `4.11.1` | `4.12.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.1` | `0.15.9` |\n| [werkzeug[watchdog]](https://github.com/pallets/werkzeug) | `3.1.5` | `3.1.8` |\n\n\nUpdates `django-allauth[mfa]` from 65.14.2 to 65.15.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sponsors/pennersr/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-crispy-forms` from 2.5 to 2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/releases\"\u003edjango-crispy-forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.6 (2026-03-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Django 4.2, 5.0 and 5.1.\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/django-crispy-forms/django-crispy-forms/blob/main/CHANGELOG.md\"\u003edjango-crispy-forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.6 (2026-03-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Django 4.2, 5.0 and 5.1.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/dc8007e35f3387cca3e799a6fc93226a5a808bdc\"\u003e\u003ccode\u003edc8007e\u003c/code\u003e\u003c/a\u003e Release 2.6. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/792c6717388aef8fa4b8482f6858048afaa6803f\"\u003e\u003ccode\u003e792c671\u003c/code\u003e\u003c/a\u003e Updated versions in pyproject.toml. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1431\"\u003e#1431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/af31d24c681a90b5217df66d47a6da292baff89c\"\u003e\u003ccode\u003eaf31d24\u003c/code\u003e\u003c/a\u003e Fix incorrect reverse in crispy tag docs (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1410\"\u003e#1410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/fb7acdcbb861a5194e26739cf5e2f0ac16d4b30c\"\u003e\u003ccode\u003efb7acdc\u003c/code\u003e\u003c/a\u003e Don't crash when using the crispy template tag and missing variables (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1418\"\u003e#1418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/d30a0ab6e3f180c9ca63636a45e261b0815ce0ac\"\u003e\u003ccode\u003ed30a0ab\u003c/code\u003e\u003c/a\u003e Dropped unsupported Django versions. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1430\"\u003e#1430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/3f5b88da2a305f79a8cae5f6bd54475c22535652\"\u003e\u003ccode\u003e3f5b88d\u003c/code\u003e\u003c/a\u003e Improved |as_crispy_field error message. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1427\"\u003e#1427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/6a97c68d7465a75db57108d50959f98aabd2ec1b\"\u003e\u003ccode\u003e6a97c68\u003c/code\u003e\u003c/a\u003e Fix typos in some files (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1425\"\u003e#1425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/compare/2.5...2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-environ` from 0.12.0 to 0.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/joke2k/django-environ/releases\"\u003edjango-environ's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.0\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ev0.13.0\u003c/code\u003e_ - 18-February-2026\u003c/h2\u003e\n\u003cp\u003eAdded\n+++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded optional warnings when defaults are used\n\u003ccode\u003e[#582](https://github.com/joke2k/django-environ/issues/582) \u0026lt;https://github.com/joke2k/django-environ/pull/582\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echoices\u003c/code\u003e argument support for value validation in \u003ccode\u003eEnv.str(...)\u003c/code\u003e\n\u003ccode\u003e[#555](https://github.com/joke2k/django-environ/issues/555) \u0026lt;https://github.com/joke2k/django-environ/pull/555\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eAdded Valkey support via \u003ccode\u003evalkey://\u003c/code\u003e and \u003ccode\u003evalkeys://\u003c/code\u003e cache URL schemes\n\u003ccode\u003e[#554](https://github.com/joke2k/django-environ/issues/554) \u0026lt;https://github.com/joke2k/django-environ/pull/554\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003erediss://\u003c/code\u003e scheme in channels URL parsing\n\u003ccode\u003e[#573](https://github.com/joke2k/django-environ/issues/573) \u0026lt;https://github.com/joke2k/django-environ/pull/573\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eAdded django-prometheus database backend aliases to DB URL parsing schemes\n\u003ccode\u003e[#559](https://github.com/joke2k/django-environ/issues/559) \u0026lt;https://github.com/joke2k/django-environ/pull/559\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanged\n+++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeclared support for Python 3.14\n\u003ccode\u003e[#580](https://github.com/joke2k/django-environ/issues/580) \u0026lt;https://github.com/joke2k/django-environ/pull/580\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eDeclared support for Django 5.2 and Django 6.0\n\u003ccode\u003e[#578](https://github.com/joke2k/django-environ/issues/578) \u0026lt;https://github.com/joke2k/django-environ/pull/578\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixed\n+++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved type hint coverage and related lint issues\n\u003ccode\u003e[#546](https://github.com/joke2k/django-environ/issues/546) \u0026lt;https://github.com/joke2k/django-environ/pull/546\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eFixed typos in the FAQ page\n\u003ccode\u003e[#445](https://github.com/joke2k/django-environ/issues/445) \u0026lt;https://github.com/joke2k/django-environ/pull/445\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.12.1\u003c/h2\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eFixed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed PostgreSQL cluster URL parsing with bracketed IPv6 hosts in recent\nPython versions, preventing failures in runtime URL parsing and related\nregression tests\n\u003ccode\u003e[#574](https://github.com/joke2k/django-environ/issues/574) \u0026lt;https://github.com/joke2k/django-environ/issues/574\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eFixed debug logging in \u003ccode\u003eEnv.get_value()\u003c/code\u003e to avoid evaluating lazy default\nobjects when DEBUG logging is enabled\n\u003ccode\u003e[#571](https://github.com/joke2k/django-environ/issues/571) \u0026lt;https://github.com/joke2k/django-environ/issues/571\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/joke2k/django-environ/blob/develop/CHANGELOG.rst\"\u003edjango-environ's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003ev0.13.0\u003c/code\u003e_ - 18-February-2026\u003c/h2\u003e\n\u003cp\u003eAdded\n+++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded optional warnings when defaults are used\n\u003ccode\u003e[#582](https://github.com/joke2k/django-environ/issues/582) \u0026lt;https://github.com/joke2k/django-environ/pull/582\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echoices\u003c/code\u003e argument support for value validation in \u003ccode\u003eEnv.str(...)\u003c/code\u003e\n\u003ccode\u003e[#555](https://github.com/joke2k/django-environ/issues/555) \u0026lt;https://github.com/joke2k/django-environ/pull/555\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eAdded Valkey support via \u003ccode\u003evalkey://\u003c/code\u003e and \u003ccode\u003evalkeys://\u003c/code\u003e cache URL schemes\n\u003ccode\u003e[#554](https://github.com/joke2k/django-environ/issues/554) \u0026lt;https://github.com/joke2k/django-environ/pull/554\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003erediss://\u003c/code\u003e scheme in channels URL parsing\n\u003ccode\u003e[#573](https://github.com/joke2k/django-environ/issues/573) \u0026lt;https://github.com/joke2k/django-environ/pull/573\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eAdded django-prometheus database backend aliases to DB URL parsing schemes\n\u003ccode\u003e[#559](https://github.com/joke2k/django-environ/issues/559) \u0026lt;https://github.com/joke2k/django-environ/pull/559\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanged\n+++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeclared support for Python 3.14\n\u003ccode\u003e[#580](https://github.com/joke2k/django-environ/issues/580) \u0026lt;https://github.com/joke2k/django-environ/pull/581\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eDeclared support for Django 5.2 and Django 6.0\n\u003ccode\u003e[#578](https://github.com/joke2k/django-environ/issues/578) \u0026lt;https://github.com/joke2k/django-environ/pull/578\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixed\n+++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved type hint coverage and related lint issues\n\u003ccode\u003e[#546](https://github.com/joke2k/django-environ/issues/546) \u0026lt;https://github.com/joke2k/django-environ/pull/546\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eFixed typos in the FAQ page\n\u003ccode\u003e[#445](https://github.com/joke2k/django-environ/issues/445) \u0026lt;https://github.com/joke2k/django-environ/pull/445\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003ev0.12.1\u003c/code\u003e_ - 13-February-2026\u003c/h2\u003e\n\u003cp\u003eFixed\n+++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed PostgreSQL cluster URL parsing with bracketed IPv6 hosts in recent\nPython versions, preventing failures in runtime URL parsing and related\nregression tests\n\u003ccode\u003e[#574](https://github.com/joke2k/django-environ/issues/574) \u0026lt;https://github.com/joke2k/django-environ/issues/574\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eFixed debug logging in \u003ccode\u003eEnv.get_value()\u003c/code\u003e to avoid evaluating lazy default\nobjects when DEBUG logging is enabled\n\u003ccode\u003e[#571](https://github.com/joke2k/django-environ/issues/571) \u0026lt;https://github.com/joke2k/django-environ/issues/571\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/00746d0f63d37dcafad527ea7a820a46f8fb81e0\"\u003e\u003ccode\u003e00746d0\u003c/code\u003e\u003c/a\u003e docs: add Django 5.2 and 6.0 support to README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/d1f115932aed9d21c38c898c3ae4b4b678cd210d\"\u003e\u003ccode\u003ed1f1159\u003c/code\u003e\u003c/a\u003e Release 0.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/d82e361ddb7ffdad01451623d806d402c3a657fd\"\u003e\u003ccode\u003ed82e361\u003c/code\u003e\u003c/a\u003e Add optional warnings when defaults are used (\u003ca href=\"https://redirect.github.com/joke2k/django-environ/issues/582\"\u003e#582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/a78f7c888d840c1b1903371f2424ee641906c923\"\u003e\u003ccode\u003ea78f7c8\u003c/code\u003e\u003c/a\u003e Fixed some typos in the FAQ page (\u003ca href=\"https://redirect.github.com/joke2k/django-environ/issues/445\"\u003e#445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/24b299e002f3bcc14983eef4be770edb143338dc\"\u003e\u003ccode\u003e24b299e\u003c/code\u003e\u003c/a\u003e Feature/add choice parameter and raise an exception if fetched value is not w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/c4414130f4cf11704e9f1ea446c68074f69c0b54\"\u003e\u003ccode\u003ec441413\u003c/code\u003e\u003c/a\u003e Add django-prometheus database backends to DB_SCHEMES (\u003ca href=\"https://redirect.github.com/joke2k/django-environ/issues/559\"\u003e#559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/98a0aad4c10e789d84e572a3f97a5a9cf9080973\"\u003e\u003ccode\u003e98a0aad\u003c/code\u003e\u003c/a\u003e Fix lint issues in environ type hints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/f4e77e41e629ae8631da9582241f7db527085699\"\u003e\u003ccode\u003ef4e77e4\u003c/code\u003e\u003c/a\u003e feat(cache): add valkey and valkeys as allowed schemes (\u003ca href=\"https://redirect.github.com/joke2k/django-environ/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/dd4d308baea427b5e820a8ac326b0d63e557c956\"\u003e\u003ccode\u003edd4d308\u003c/code\u003e\u003c/a\u003e Add type hints (\u003ca href=\"https://redirect.github.com/joke2k/django-environ/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joke2k/django-environ/commit/3137c4f733f90a14a12da9fc252d446357190537\"\u003e\u003ccode\u003e3137c4f\u003c/code\u003e\u003c/a\u003e Support lower case options for Django Redis cache backend (\u003ca href=\"https://redirect.github.com/joke2k/django-environ/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/joke2k/django-environ/compare/v0.12.0...v0.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-hijack` from 3.7.6 to 3.7.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-hijack/django-hijack/releases\"\u003edjango-hijack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.7.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove project link by \u003ca href=\"https://github.com/adamchainz\"\u003e\u003ccode\u003e@​adamchainz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-hijack/django-hijack/pull/892\"\u003edjango-hijack/django-hijack#892\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/adamchainz\"\u003e\u003ccode\u003e@​adamchainz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-hijack/django-hijack/pull/892\"\u003edjango-hijack/django-hijack#892\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/django-hijack/django-hijack/compare/3.7.6...3.7.7\"\u003ehttps://github.com/django-hijack/django-hijack/compare/3.7.6...3.7.7\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/django-hijack/django-hijack/commit/b8b01cf2b4ac04d250e6a1a7998f4b01a8fa14c4\"\u003e\u003ccode\u003eb8b01cf\u003c/code\u003e\u003c/a\u003e Fix existing and all relevant project links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-hijack/django-hijack/commit/6cbc23a4757a02c14f972bad6c1001b1aba0f556\"\u003e\u003ccode\u003e6cbc23a\u003c/code\u003e\u003c/a\u003e Bump ruff from 0.15.6 to 0.15.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-hijack/django-hijack/commit/e608967fa2168cc5ecbd6ce6b7b41cde46a28802\"\u003e\u003ccode\u003ee608967\u003c/code\u003e\u003c/a\u003e Bump undici from 7.22.0 to 7.24.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-hijack/django-hijack/commit/3298fea67302266b2feaaa00ff7bac3b9d9cede6\"\u003e\u003ccode\u003e3298fea\u003c/code\u003e\u003c/a\u003e Bump ruff from 0.15.5 to 0.15.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-hijack/django-hijack/commit/fe17e7dd20da9b22b091c740d378ba65d1f9f17b\"\u003e\u003ccode\u003efe17e7d\u003c/code\u003e\u003c/a\u003e Bump ruff from 0.15.4 to 0.15.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-hijack/django-hijack/commit/856e68149b592e98a6274b30b455203a14c69c4f\"\u003e\u003ccode\u003e856e681\u003c/code\u003e\u003c/a\u003e Bump global-jsdom from 27.0.0 to 28.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-hijack/django-hijack/commit/cd8725688cbd2ce8160067fc4f9464d0f80a123e\"\u003e\u003ccode\u003ecd87256\u003c/code\u003e\u003c/a\u003e Bump ruff from 0.15.3 to 0.15.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-hijack/django-hijack/commit/c6d3953b21ef9b025667287d1d0392c315753cc9\"\u003e\u003ccode\u003ec6d3953\u003c/code\u003e\u003c/a\u003e Bump ruff from 0.15.2 to 0.15.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-hijack/django-hijack/commit/cf134c036b08d8824c374e79d5881a8f309cd5eb\"\u003e\u003ccode\u003ecf134c0\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 7 to 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-hijack/django-hijack/commit/85b0cb77dae404396102e98ef546cc4c21049a65\"\u003e\u003ccode\u003e85b0cb7\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 6 to 7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django-hijack/django-hijack/compare/3.7.6...3.7.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gunicorn` from 25.1.0 to 25.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/benoitc/gunicorn/releases\"\u003egunicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGunicorn 25.3.0\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eHTTP/2 ASGI Body Duplication\u003c/strong\u003e: Fix request body being received twice in HTTP/2\nASGI requests, causing JSON parsing errors with \u0026quot;Extra data\u0026quot; messages\n(\u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3558\"\u003e#3558\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eASGI Chunked EOF Handling\u003c/strong\u003e: Add \u003ccode\u003efinish()\u003c/code\u003e method to callback parser to handle\nchunked encoding edge case where connection closes before final CRLF after zero-chunk\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eHTTP/2 Documentation\u003c/strong\u003e: Fix \u003ccode\u003ehttp_protocols\u003c/code\u003e examples to use comma-separated string\ninstead of list syntax (\u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3561\"\u003e#3561\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eChunked Encoding\u003c/strong\u003e: Reject chunk extensions containing bare CR bytes per RFC 9112\n(\u003ca href=\"https://github.com/benoitc/gunicorn/discussions/3556\"\u003e#3556\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eRequest Line Limit\u003c/strong\u003e: Fix \u003ccode\u003e--limit-request-line 0\u003c/code\u003e to mean unlimited as documented,\ninstead of using default maximum. Works with both Python and fast C parser.\n(\u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3563\"\u003e#3563\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eASGI Parser Header Validation\u003c/strong\u003e: Add security checks per RFC 9110/9112:\n\u003cul\u003e\n\u003cli\u003eReject duplicate Content-Length headers\u003c/li\u003e\n\u003cli\u003eReject requests with both Content-Length and Transfer-Encoding\u003c/li\u003e\n\u003cli\u003eReject chunked transfer encoding in HTTP/1.0\u003c/li\u003e\n\u003cli\u003eReject stacked chunked encoding\u003c/li\u003e\n\u003cli\u003eValidate Transfer-Encoding values\u003c/li\u003e\n\u003cli\u003eStrict chunk size validation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFast HTTP Parser\u003c/strong\u003e: Update to gunicorn_h1c \u0026gt;= 0.6.3 for \u003ccode\u003easgi_headers\u003c/code\u003e property\nand \u003ccode\u003eInvalidChunkExtension\u003c/code\u003e validation for bare CR rejection\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eASGI PROXY Protocol\u003c/strong\u003e: Add PROXY protocol v1/v2 support to callback parser\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eDocker Images\u003c/strong\u003e: Update to Python 3.14\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGunicorn 25.2.0\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFast HTTP Parser (gunicorn_h1c 0.4.1)\u003c/strong\u003e: Integrate new exception types and limit parameters from gunicorn_h1c 0.4.1 for both WSGI and ASGI workers\n\u003cul\u003e\n\u003cli\u003eRequires gunicorn_h1c \u0026gt;= 0.4.1 for \u003ccode\u003ehttp_parser='fast'\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFalls back to Python parser in \u003ccode\u003eauto\u003c/code\u003e mode if version not met\u003c/li\u003e\n\u003cli\u003eProper HTTP status codes for limit errors (414, 431)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003euWSGI Async Workers\u003c/strong\u003e: Fix \u003ccode\u003eInvalidUWSGIHeader: incomplete header\u003c/code\u003e error when using gevent or gthread workers with uwsgi protocol behind nginx. (\u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3552\"\u003e#3552\u003c/a\u003e, [PR \u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3554\"\u003e#3554\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/benoitc/gunicorn/pull/3554\"\u003ebenoitc/gunicorn#3554\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/benoitc/gunicorn/commit/9bce72cfc3985aba7e0c47bf3c00fa681b2847e4\"\u003e\u003ccode\u003e9bce72c\u003c/code\u003e\u003c/a\u003e Update changelog with missing 25.3.0 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/2a15fdb93ab136e5776692d620852f481c89d610\"\u003e\u003ccode\u003e2a15fdb\u003c/code\u003e\u003c/a\u003e Fix pylint isinstance-second-argument-not-valid-type warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/8d08aaa2cbd38fdfa2ca6fb94094c47b9c16730a\"\u003e\u003ccode\u003e8d08aaa\u003c/code\u003e\u003c/a\u003e Fix --limit-request-line 0 to mean unlimited\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/d40a37454736e40916eb51e35895f1c22c0cd34a\"\u003e\u003ccode\u003ed40a374\u003c/code\u003e\u003c/a\u003e Fix pytest-asyncio configuration and treq_asgi hex escapes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/da8bd4850ac0f2d0df215390dad88392eb538d74\"\u003e\u003ccode\u003eda8bd48\u003c/code\u003e\u003c/a\u003e Remove unused AsyncRequest class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/b00f125755ec3f509a3e82dc5568d9f2d8bddba7\"\u003e\u003ccode\u003eb00f125\u003c/code\u003e\u003c/a\u003e Integrate gunicorn_h1c 0.6.3 with InvalidChunkExtension support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/bdb2ebd5a4913fff1e92800f3763e4a879526d3e\"\u003e\u003ccode\u003ebdb2ebd\u003c/code\u003e\u003c/a\u003e Reject chunk extensions with bare CR bytes (RFC 9112)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/7057fc9f89f0ce4d9ac01a12ea2f39768fb32be6\"\u003e\u003ccode\u003e7057fc9\u003c/code\u003e\u003c/a\u003e Fix http_protocols documentation to use string syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/d43acb8fe0910b6669c163e2f4a439e464eab012\"\u003e\u003ccode\u003ed43acb8\u003c/code\u003e\u003c/a\u003e Update to gunicorn_h1c \u0026gt;= 0.6.2 for asgi_headers support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/cbd27e82a238cb1326336c6aa4b8ae058e2c9ff9\"\u003e\u003ccode\u003ecbd27e8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3559\"\u003e#3559\u003c/a\u003e from benleembruggen/fix/http2-asgi-body-duplication\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/benoitc/gunicorn/compare/25.1.0...25.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pillow` from 12.1.1 to 12.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-pillow/Pillow/releases\"\u003epillow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.2.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pillow.readthedocs.io/en/stable/releasenotes/12.2.0.html\"\u003ehttps://pillow.readthedocs.io/en/stable/releasenotes/12.2.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate 12.2.0 release notes \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9522\"\u003e#9522\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd loader plugins: AMOS abk, Atari Degas, 40+ more obscure formats via Netpbm \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9482\"\u003e#9482\u003c/a\u003e [\u003ca href=\"https://github.com/bitplane\"\u003e\u003ccode\u003e@​bitplane\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate Python versions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9515\"\u003e#9515\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eJeffrey A. Clark -\u0026gt; Jeffrey 'Alex' Clark \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9513\"\u003e#9513\u003c/a\u003e [\u003ca href=\"https://github.com/aclark4life\"\u003e\u003ccode\u003e@​aclark4life\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd release notes for \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9394\"\u003e#9394\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9419\"\u003e#9419\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9456\"\u003e#9456\u003c/a\u003e \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9467\"\u003e#9467\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd Amiga Workbench .info loader to 3rd party plugins list \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9459\"\u003e#9459\u003c/a\u003e [\u003ca href=\"https://github.com/bitplane\"\u003e\u003ccode\u003e@​bitplane\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eMerge PFM documentation into PPM \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9434\"\u003e#9434\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate macOS tested Pillow versions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9431\"\u003e#9431\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix CVE number \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9430\"\u003e#9430\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate xz to 5.8.3 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9523\"\u003e#9523\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate libjpeg-turbo to 3.1.4.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9507\"\u003e#9507\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate libpng to 1.6.56 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9499\"\u003e#9499\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate freetype to 2.14.3 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9485\"\u003e#9485\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated libavif to 1.4.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9479\"\u003e#9479\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated harfbuzz to 13.2.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9461\"\u003e#9461\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate Ghostscript to 10.7.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9469\"\u003e#9469\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate harfbuzz to 13.0.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9453\"\u003e#9453\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate libavif to 1.4.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9460\"\u003e#9460\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate freetype to 2.14.2 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9449\"\u003e#9449\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate actions/download-artifact action to v8 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9451\"\u003e#9451\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated libpng to 1.6.55 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9425\"\u003e#9425\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTesting\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCleanup .spider extension in the same test where it is added \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9517\"\u003e#9517\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eRun tests in parallel via tox for 3.5x speedup \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9516\"\u003e#9516\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eEnable colour in CI logs \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9486\"\u003e#9486\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate Ghostscript to 10.7.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9469\"\u003e#9469\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eSimplify TGA test code \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9477\"\u003e#9477\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate tests to check for ValueError when encoding an empty image \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9464\"\u003e#9464\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpgrade CI from \u003ccode\u003emacos-15-intel\u003c/code\u003e to \u003ccode\u003emacos-26-intel\u003c/code\u003e \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9454\"\u003e#9454\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd check-case-conflict hook \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9446\"\u003e#9446\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eSpecify platform when pulling docker image \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9440\"\u003e#9440\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eGHA: Cache libavif and webp builds for Ubuntu \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9437\"\u003e#9437\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate macOS tested Pillow versions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9431\"\u003e#9431\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCheck calloc return value \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9527\"\u003e#9527\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eCheck all allocs in the Arrow tree \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9488\"\u003e#9488\u003c/a\u003e [\u003ca href=\"https://github.com/wiredfool\"\u003e\u003ccode\u003e@​wiredfool\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eReject non-numeric elements inside list coords \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9526\"\u003e#9526\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eMove variable declaration inside define \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9525\"\u003e#9525\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/3c41c095064200a02672d89cc5ff629eaf4b0d4f\"\u003e\u003ccode\u003e3c41c09\u003c/code\u003e\u003c/a\u003e 12.2.0 version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/cdaa29eb520291c4f1fb50fb71ae46502d41e460\"\u003e\u003ccode\u003ecdaa29e\u003c/code\u003e\u003c/a\u003e Check calloc return value (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9527\"\u003e#9527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/585b2f5a780722c8a5bfffb3a40f7f42e8a205be\"\u003e\u003ccode\u003e585b2f5\u003c/code\u003e\u003c/a\u003e Check calloc return value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/ecf011ea15991d4cebacd946e58270cc30b0f2c1\"\u003e\u003ccode\u003eecf011e\u003c/code\u003e\u003c/a\u003e Check all allocs in the Arrow tree (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9488\"\u003e#9488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/cf6de8ca9b23e714aa5310e1c791eda66fc0b670\"\u003e\u003ccode\u003ecf6de8c\u003c/code\u003e\u003c/a\u003e Reject non-numeric elements inside list coords (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9526\"\u003e#9526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/ffdcede6516b28d9667c92929854023d17048b64\"\u003e\u003ccode\u003effdcede\u003c/code\u003e\u003c/a\u003e Update 12.2.0 release notes (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9522\"\u003e#9522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/7929d7760fe5a307ba5ae6eabdf70ae4486b147c\"\u003e\u003ccode\u003e7929d77\u003c/code\u003e\u003c/a\u003e Added security release notes (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/149\"\u003e#149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/c4f7aa5dfb4dbd1242978ac235e01b9934ec6d3c\"\u003e\u003ccode\u003ec4f7aa5\u003c/code\u003e\u003c/a\u003e Added security release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/22cdb5f2e4b15250c06563b1124ac1667342712f\"\u003e\u003ccode\u003e22cdb5f\u003c/code\u003e\u003c/a\u003e Move variable declaration inside define (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9525\"\u003e#9525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/fc15b3b01899408ec989d7804c5283e13802d057\"\u003e\u003ccode\u003efc15b3b\u003c/code\u003e\u003c/a\u003e Resize tall images vertically first (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9524\"\u003e#9524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-pillow/Pillow/compare/12.1.1...12.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg[binary]` from 3.3.2 to 3.3.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg/blob/master/docs/news.rst\"\u003epsycopg[binary]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e.. currentmodule:: psycopg\u003c/p\u003e\n\u003cp\u003e.. index::\nsingle: Release notes\nsingle: News\u003c/p\u003e\n\u003ch1\u003e\u003ccode\u003epsycopg\u003c/code\u003e release notes\u003c/h1\u003e\n\u003ch2\u003eFuture releases\u003c/h2\u003e\n\u003cp\u003ePsycopg 3.3.4 (unreleased)\n^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix possible spurious connection timeout in systems with very long uptimes\nin C extension (:ticket:\u003ccode\u003e[#1280](https://github.com/psycopg/psycopg/issues/1280)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003ePsycopg 3.3.3\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRetain \u003ccode\u003eError.pgconn\u003c/code\u003e when raising a single exception for multiple connection\nattempt errors (:ticket:\u003ccode\u003e[#1246](https://github.com/psycopg/psycopg/issues/1246)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eReturn a proper error when server sends \u003ccode\u003eErrorResponse\u003c/code\u003e for a \u003ccode\u003eSync\u003c/code\u003e after\na \u003ccode\u003eParse\u003c/code\u003e (:ticket:\u003ccode\u003e[#1260](https://github.com/psycopg/psycopg/issues/1260)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePsycopg 3.3.2\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003eFix race condition in adapters at startup (:ticket:\u003ccode\u003e[#1230](https://github.com/psycopg/psycopg/issues/1230)\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003ePsycopg 3.3.1\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003eFix iteration on server-side cursors (:ticket:\u003ccode\u003e[#1226](https://github.com/psycopg/psycopg/issues/1226)\u003c/code\u003e).\u003c/p\u003e\n\u003ch2\u003ePsycopg 3.3.0\u003c/h2\u003e\n\u003cp\u003e.. rubric:: New top-level features\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd :ref:\u003ccode\u003etemplate strings queries \\\u0026lt;template-strings\u0026gt;\u003c/code\u003e (:ticket:\u003ccode\u003e[#1054](https://github.com/psycopg/psycopg/issues/1054)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eMore flexible :ref:\u003ccode\u003ecomposite adaptation\u0026lt;adapt-composite\u0026gt;\u003c/code\u003e: it is now possible\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/psycopg/commit/1a8f65a371da3c691111cd4a81141f2cb698eafa\"\u003e\u003ccode\u003e1a8f65a\u003c/code\u003e\u003c/a\u003e chore: bump psycopg package version to 3.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg/commit/db3c43584320ab5d97e49378e5c9dc09a560b031\"\u003e\u003ccode\u003edb3c435\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg/issues/1260\"\u003e#1260\u003c/a\u003e from ggevay/sync-error-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg/commit/0237586c415ece15102742f5941874c29fb1221c\"\u003e\u003ccode\u003e0237586\u003c/code\u003e\u003c/a\u003e Fix ValueError when server sends ErrorResponse during Sync after Parse\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg/commit/cb97ef7063520cb8a0cb5236bb9791f8dc4cc454\"\u003e\u003ccode\u003ecb97ef7\u003c/code\u003e\u003c/a\u003e docs: fix typos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg/commit/09c89180f94606dc70475ed863e135f021a11038\"\u003e\u003ccode\u003e09c8918\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg/issues/1256\"\u003e#1256\u003c/a\u003e from veeceey/fix/tstrings-error-msg-and-docs-improve...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg/commit/9e74d9646cc3fcbb9d8940182dcdb41119c3fda7\"\u003e\u003ccode\u003e9e74d96\u003c/code\u003e\u003c/a\u003e fix: fix error message incorrectly generated by Claude AI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg/commit/0db9d8bb76c48e70dffd48776406fd3ffdc89b5a\"\u003e\u003ccode\u003e0db9d8b\u003c/code\u003e\u003c/a\u003e fix: correct typo in tstrings error message and fix sql.rst docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg/commit/86a0e1b2bbf30c564c59bf3497d499e2f220ce0f\"\u003e\u003ccode\u003e86a0e1b\u003c/code\u003e\u003c/a\u003e chore(deps): bump pypa/cibuildwheel in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg/commit/f5d90fa2a7836c1268c1d43d0d77c431434ad191\"\u003e\u003ccode\u003ef5d90fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psycopg/psycopg/issues/1233\"\u003e#1233\u003c/a\u003e from lysnikolaou/pgconn-critical-section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psycopg/psycopg/commit/d7dc6c7cacc2832fffa0d7e607b5fc171424571d\"\u003e\u003ccode\u003ed7dc6c7\u003c/code\u003e\u003c/a\u003e Merge critical section and nogil blocks into one context manager\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psycopg/psycopg/compare/3.3.2...3.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 23.0.0 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-23.0.0...apache-arrow-23.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-json-logger` from 4.0.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nhairs/python-json-logger/releases\"\u003epython-json-logger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\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/nhairs/python-json-logger/blob/main/docs/changelog.md\"\u003epython-json-logger's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003e4.1.0\u003c/a\u003e - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14, PyPy 3.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.8, 3.9 (includes PyPy versions).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/d80c68da770154d9662975b789cabcc9a3e99408\"\u003e\u003ccode\u003ed80c68d\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/b589b2a576ac058dc55be934159b67060a288756\"\u003e\u003ccode\u003eb589b2a\u003c/code\u003e\u003c/a\u003e [pyproject] Update license table to PEP 639 format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/2bb784a92250c60035a7e4536d1ef48cd02e50d5\"\u003e\u003ccode\u003e2bb784a\u003c/code\u003e\u003c/a\u003e Update code unlocked by Python 3.10 minimum version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/79599b5a6ad5e38c18c468fd0e4ac790961d6b5f\"\u003e\u003ccode\u003e79599b5\u003c/code\u003e\u003c/a\u003e Drop python 3.8, 3.9 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/622650c1f543e7909e8711e4a30c96cc2aa6e332\"\u003e\u003ccode\u003e622650c\u003c/code\u003e\u003c/a\u003e [docs.contributing] Update unsupported JSON encoders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/06165bb03f9892fc24762acabf6b1b0b35c6b56b\"\u003e\u003ccode\u003e06165bb\u003c/code\u003e\u003c/a\u003e [tests.test_formatters] Add non-printable bytes to test_common_types_encoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/61f88a9fe7cee3409db9c589b03b15c2ffdc3ffa\"\u003e\u003ccode\u003e61f88a9\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify which packages have been considered and rejected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/0add524a24c6210807a66e0f9149200b32cc98a9\"\u003e\u003ccode\u003e0add524\u003c/code\u003e\u003c/a\u003e [docs.contributing] Clarify when we will add support for new third-party pack...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/eee9505610a64276341a03f2a0b0dee5f500916b\"\u003e\u003ccode\u003eeee9505\u003c/code\u003e\u003c/a\u003e [pylint] Remove old command\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nhairs/python-json-logger/commit/804592648f8d0e56f7f41112d2945cf52d1d2a6b\"\u003e\u003ccode\u003e8045926\u003c/code\u003e\u003c/a\u003e [mypy] Don't ignore orjson\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nhairs/python-json-logger/compare/v4.0.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `redis` from 7.1.1 to 7.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/redis-py/releases\"\u003eredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.4.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix AttributeError in cluster metrics recording when connection is None or ClusterNode object instance is used to extract the connection info (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3999\"\u003e#3999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing security concern in \u003cstrong\u003erepr\u003c/strong\u003e methods for ConnectionPools - passwords might leak in plain text logs (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3998\"\u003e#3998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactored connection count and SCH metric collection (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/4001\"\u003e#4001\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Experimental Features\u003c/h2\u003e\n\u003cp\u003e-Refactored health check logic for MultiDBClient (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3994\"\u003e#3994\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpose basic Otel classes and functions to be importable through redis.observability to match the examples in the readthedocs (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWe'd like to thank all the contributors who worked on this release!\n\u003ca href=\"https://github.com/vladvildanov\"\u003e\u003ccode\u003e@​vladvildanov\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/petyaslavova\"\u003e\u003ccode\u003e@​petyaslavova\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e7.3.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eOpenTelemetry Native Metrics Support for asynchronous clients\u003c/strong\u003e\nAdded comprehensive OpenTelemetry metrics support for asynchronous clients following the \u003ca href=\"https://opentelemetry.io/docs/specs/semconv/database/database-metrics/\"\u003eOpenTelemetry Database Client Semantic Conventions\u003c/a\u003e.\nMetric groups include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCommand metrics: Operation duration with retry tracking\u003c/li\u003e\n\u003cli\u003eConnection basic: Connection count and creation time\u003c/li\u003e\n\u003cli\u003eResiliency: Errors, handoffs, timeout relaxation\u003c/li\u003e\n\u003cli\u003eConnection advanced: Wait time and use time\u003c/li\u003e\n\u003cli\u003ePubsub metrics: Published and received messages\u003c/li\u003e\n\u003cli\u003eStream metrics: Processing duration and maintenance notifications\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded OTel instrumentation and metrics export for async client (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3977\"\u003e#3977\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[async] Adding access to cluster client's nodes_manager and set_response_callback in ClusterPipeline objects (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3989\"\u003e#3989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(connection): Ensure we have an initialized protocol in connection (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3981\"\u003e#3981\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: use KeysT for blpop and brpop keys parameter type annotation (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3987\"\u003e#3987\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3990\"\u003e#3990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3985\"\u003e#3985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: replace 3 bare except clauses with except Exception (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3980\"\u003e#3980\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWe'd like to thank all the contributors who worked on this release!\n\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/turanalmammadov\"\u003e\u003ccode\u003e@​turanalmammadov\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/haosenwang1018\"\u003e\u003ccode\u003e@​haosenwang1018\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/Medno\"\u003e\u003ccode\u003e@​Medno\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vladvildanov\"\u003e\u003ccode\u003e@​vladvildanov\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/petyaslavova\"\u003e\u003ccode\u003e@​petyaslavova\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e7.2.1\u003c/h2\u003e\n\u003ch1\u003eChanges\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/redis/redis-py/commit/b72f24ad6a2226d46aed770e18094a86117d2217\"\u003e\u003ccode\u003eb72f24a\u003c/code\u003e\u003c/a\u003e Updating lib version to 7.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/0a4e0afe36504c3fb6df1e38683ea946febac9d3\"\u003e\u003ccode\u003e0a4e0af\u003c/code\u003e\u003c/a\u003e Refactored health check logic for MultiDBClient (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3994\"\u003e#3994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/15492c9156d3ab8dce05360977480510cf24fbf9\"\u003e\u003ccode\u003e15492c9\u003c/code\u003e\u003c/a\u003e Refactored connection count and SCH metric collection (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/4001\"\u003e#4001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/cd964ac96649df872a051835e9a52e05a5090607\"\u003e\u003ccode\u003ecd964ac\u003c/code\u003e\u003c/a\u003e Expose basic Otel classes and funtions to be importable through redis.observa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/46ab74d02ed9b15176f67edb817de83524f8145a\"\u003e\u003ccode\u003e46ab74d\u003c/code\u003e\u003c/a\u003e Fixing security concern in \u003cstrong\u003erepr\u003c/strong\u003e methods for ConnectionPools - passwords m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/26482dbaae38abdb1966d9b1c803331e2dab2053\"\u003e\u003ccode\u003e26482db\u003c/code\u003e\u003c/a\u003e Fix AttributeError in cluster metrics recording when connection is None or Cl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/8ecbc7a728792ab9c71078cb330a64c225cb3351\"\u003e\u003ccode\u003e8ecbc7a\u003c/code\u003e\u003c/a\u003e Updating lib version to 7.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/11043df86ed5f892cde1f34f08f3450f13bb6339\"\u003e\u003ccode\u003e11043df\u003c/code\u003e\u003c/a\u003e typing: accept single-key input for blpop and brpop (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3990\"\u003e#3990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/d9581250202123ebf68d299e8f2ea79fa9bd7210\"\u003e\u003ccode\u003ed958125\u003c/code\u003e\u003c/a\u003e fix: use KeysT for blpop and brpop keys parameter type annotation (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3987\"\u003e#3987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/75bf91b8a28bfc3f8417e58d1b78bd112ffcf6de\"\u003e\u003ccode\u003e75bf91b\u003c/code\u003e\u003c/a\u003e [async] Adding access to cluster client's nodes_manager and set_response_call...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/redis/redis-py/compare/v7.1.1...v7.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `whitenoise` from 6.11.0 to 6.12.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/evansd/whitenoise/blob/main/docs/changelog.rst\"\u003ewhitenoise's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.12.0 (2026-02-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop Python 3.9 support.\u003c/li\u003e\n\u003cli\u003eFix potential unauthorised file access vulnerability in \u0026quot;autorefesh\u0026quot; mode. See \u003ccode\u003ePR [#684](https://github.com/evansd/whitenoise/issues/684) \u0026lt;https://github.com/evansd/whitenoise/pull/684\u0026gt;\u003c/code\u003e__ for details, and a reminder that autorefresh mode has always been documented as unsuitable for production use. Thanks Seth Larson for reporting.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/1e3a30bc9e6b82c79a03d35532a7ba72715918df\"\u003e\u003ccode\u003e1e3a30b\u003c/code\u003e\u003c/a\u003e Version 6.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/bc4c738d768f3f91a67b9e297490645b33adc3d4\"\u003e\u003ccode\u003ebc4c738\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/evansd/whitenoise/issues/684\"\u003e#684\u003c/a\u003e from evansd/use-commonpath\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/505ed8d28d34307606ba6ed9ac7740c7c0701955\"\u003e\u003ccode\u003e505ed8d\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003eos.path.commonpath()\u003c/code\u003e to identify child paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/b6d8ed40206aea61d1265ca84d88e786366d891b\"\u003e\u003ccode\u003eb6d8ed4\u003c/code\u003e\u003c/a\u003e Upgrade dependencies (\u003ca href=\"https://redirect.github.com/evansd/whitenoise/issues/683\"\u003e#683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/edc79de2d063ae04980a251b67d73acf7ef06d3d\"\u003e\u003ccode\u003eedc79de\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/evansd/whitenoise/issues/682\"\u003e#682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/79fb2f136fe34debe427d4d031b11ec10b7ca2cc\"\u003e\u003ccode\u003e79fb2f1\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/evansd/whitenoise/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/2b245df895acb3aad86aadd02a794bfbf9374d3a\"\u003e\u003ccode\u003e2b245df\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/evansd/whitenoise/issues/681\"\u003e#681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/dcb50f36d437dddfab06ce8fc36e6ec1f34f5af5\"\u003e\u003ccode\u003edcb50f3\u003c/code\u003e\u003c/a\u003e Upgrade dependencies (\u003ca href=\"https://redirect.github.com/evansd/whitenoise/issues/678\"\u003e#678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/1c4a746afe1fdeaa458aa0fe2951cebe1fe0f026\"\u003e\u003ccode\u003e1c4a746\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/evansd/whitenoise/issues/677\"\u003e#677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evansd/whitenoise/commit/e7f970aac293079c3fabe44b5072a70670ec3268\"\u003e\u003ccode\u003ee7f970a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/evansd/whitenoise/issues/676\"\u003e#676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/evansd/whitenoise/compare/6.11.0...6.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anthropic` from 0.86.0 to 0.88.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/releases\"\u003eanthropic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.88.0\u003c/h2\u003e\n\u003ch2\u003e0.88.0 (2026-04-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.87.0...v0.88.0\"\u003ev0.87.0...v0.88.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add structured stop_details to message responses (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/fd82d6b87ef0db5b2970d8f27ccc6d5981745572\"\u003efd82d6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebedrock api key auth (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1623\"\u003e#1623\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/a95a3fc586b8de63e3c2b386cee5e312d96bf5d8\"\u003ea95a3fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eprepare aws package (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1615\"\u003e#1615\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6875fab38ac27ab3a09b97088a49925abe011bdc\"\u003e6875fab\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.20.2 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1bc4e9ffc160eb1ded6294652936caafd6dfc64a\"\u003e1bc4e9f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.87.0\u003c/h2\u003e\n\u003ch2\u003e0.87.0 (2026-03-31)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.86.0...v0.87.0\"\u003ev0.86.0...v0.87.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add error type field to APIStatusError (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1587\"\u003e#1587\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/dd563c031c2a0be75ccb6175246685abd5806d7d\"\u003edd563c0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e implement indices array format for query and form serialization (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/11a624467bd44175bc602f0135ff354895bdebdd\"\u003e11a6244\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehonor \u003cstrong\u003eapi_exclude\u003c/strong\u003e in async transform path (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1612\"\u003e#1612\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/8172232a8bb19e0d0bf10df1c3c21ed492784585\"\u003e8172232\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1610\"\u003e#1610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ememory:\u003c/strong\u003e return resolved path from async _validate_path (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7b0add32bd5fc59ad0fa277ef6982ee1df1eed7a\"\u003e7b0add3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ememory:\u003c/strong\u003e use restrictive file mode for memory files (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/47ba5b8f5f74beb1e1babef249754e1312b9dddf\"\u003e47ba5b8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esanitize endpoint path params (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/98f60e42039392a133d83c8673d659f514c15a35\"\u003e98f60e4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etransform schema:\u003c/strong\u003e support enums (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1275\"\u003e#1275\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/5c088ab1d162b1c1a18f566688b31bfbd7610825\"\u003e5c088ab\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eci:\u003c/strong\u003e run builds on CI even if only spec metadata changed (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/194c05029403cef820897c3c6b2c26d4df0736f7\"\u003e194c050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eci:\u003c/strong\u003e skip lint on metadata-only changes (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/03e2ab9e95ec452d7d519e0b419c8881f3ae3a08\"\u003e03e2ab9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update gitignore (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/94ede14b443c78b51931c185d1cd44f4ef201eae\"\u003e94ede14\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.19.4 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/2d6d58fa0101930c8f5cd9e9a94e7e988055f371\"\u003e2d6d58f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.19.5 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/8fb439afeadaf608cbf7d4630d01735f97227e3e\"\u003e8fb439a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.19.6 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/76da5fdd03b7ffc65a8b58b9f2a0df3e03c587c9\"\u003e76da5fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.19.7 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/bfa40e5c5bed65da0f3f664082e58e85c26b9c66\"\u003ebfa40e5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.20.1 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4fd9446332ae114072dac968134e6451c62138bb\"\u003e4fd9446\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/anthropics/anthropic-sdk-python/blob/main/CHANGELOG.md\"\u003eanthropic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.88.0 (2026-04-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.87.0...v0.88.0\"\u003ev0.87.0...v0.88.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add structured stop_details to message responses (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/fd82d6b87ef0db5b2970d8f27ccc6d5981745572\"\u003efd82d6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebedrock api key auth (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1623\"\u003e#1623\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/a95a3fc586b8de63e3c2b386cee5e312d96bf5d8\"\u003ea95a3fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eprepare aws package (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1615\"\u003e#1615\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6875fab38ac27ab3a09b97088a49925abe011bdc\"\u003e6875fab\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.20.2 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1bc4e9ffc160eb1ded6294652936caafd6dfc64a\"\u003e1bc4e9f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.87.0 (2026-03-31)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.86.0...v0.87.0\"\u003ev0.86.0...v0.87.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add error type field to APIStatusError (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1587\"\u003e#1587\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/dd563c031c2a0be75ccb6175246685abd5806d7d\"\u003edd563c0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e implement indices array format for query and form serialization (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/11a624467bd44175bc602f0135ff354895bdebdd\"\u003e11a6244\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehonor \u003cstrong\u003eapi_exclude\u003c/strong\u003e in async transform path (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1612\"\u003e#1612\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/8172232a8bb19e0d0bf10df1c3c21ed492784585\"\u003e8172232\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1610\"\u003e#1610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ememory:\u003c/strong\u003e return resolved path from async _validate_path (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7b0add32bd5fc59ad0fa277ef6982ee1df1eed7a\"\u003e7b0add3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ememory:\u003c/strong\u003e use restrictive file mode for memory files (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/47ba5b8f5f74beb1e1babef249754e1312b9dddf\"\u003e47ba5b8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esanitize endpoint path params (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/98f60e42039392a133d83c8673d659f514c15a35\"\u003e98f60e4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etransform schema:\u003c/strong\u003e support enums (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1275\"\u003e#1275\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/5c088ab1d162b1c1a18f566688b31bfbd7610825\"\u003e5c088ab\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eci:\u003c/strong\u003e run builds on CI even if only spec metadata changed (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/194c05029403cef820897c3c6b2c26d4df0736f7\"\u003e194c050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eci:\u003c/strong\u003e skip lint on metadata-only changes (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/03e2ab9e95ec452d7d519e0b419c8881f3ae3a08\"\u003e03e2ab9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update gitignore (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/94ede14b443c78b51931c185d1cd44f4ef201eae\"\u003e94ede14\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.19.4 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/2d6d58fa0101930c8f5cd9e9a94e7e988055f371\"\u003e2d6d58f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.19.5 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/8fb439afeadaf608cbf7d4630d01735f97227e3e\"\u003e8fb439a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.19.6 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/76da5fdd03b7ffc65a8b58b9f2a0df3e03c587c9\"\u003e76da5fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.19.7 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/bfa40e5c5bed65da0f3f664082e58e85c26b9c66\"\u003ebfa40e5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.20.1 (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4fd9446332ae114072dac968134e6451c62138bb\"\u003e4fd9446\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/anthropics/anthropic-sdk-python/commit/8496c50655999cbb2c871e71331996f87025e240\"\u003e\u003ccode\u003e8496c50\u003c/code\u003e\u003c/a\u003e release: 0.88.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/13e3f4bf16df9680caee48316b9a9e535fe9d4b5\"\u003e\u003ccode\u003e13e3f4b\u003c/code\u003e\u003c/a\u003e feat: prepare aws package (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1615\"\u003e#1615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/a304cccff0396642405311aa01914eb8b04416c8\"\u003e\u003ccode\u003ea304ccc\u003c/code\u003e\u003c/a\u003e feat(api): add structured stop_details to message responses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/37aac2dbac1e5243045ed3d5c01c97a58acc5f17\"\u003e\u003ccode\u003e37aac2d\u003c/code\u003e\u003c/a\u003e feat: bedrock api key auth (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1623\"\u003e#1623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/bbaacbb4609f4401490849f1f1468e8e37d26861\"\u003e\u003ccode\u003ebbaacbb\u003c/code\u003e\u003c/a\u003e chore(tests): bump steady to v0.20.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ab0c4460a170183ff036e2a3dad320ac4ac2c76d\"\u003e\u003ccode\u003eab0c446\u003c/code\u003e\u003c/a\u003e release: 0.87.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6599043eee6e86dce16953fcd1fd828052052be6\"\u003e\u003ccode\u003e6599043\u003c/code\u003e\u003c/a\u003e fix(memory): return resolved path from async _validate_path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/715030ceb4d6dd8d3546e999c680e29532bf1255\"\u003e\u003ccode\u003e715030c\u003c/code\u003e\u003c/a\u003e fix(memory): use restrictive file mode for memory files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6cdbc5f37105e464704d911ef590b88c7e5ae427\"\u003e\u003ccode\u003e6cdbc5f\u003c/code\u003e\u003c/a\u003e chore(tests): bump steady to v0.20.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4beda3cc966b49166387aa9275cec8f88b004154\"\u003e\u003ccode\u003e4beda3c\u003c/code\u003e\u003c/a\u003e Add output-300k-2026-03-24 beta header\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.86.0...v0.88.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.13.4 to 7.13.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.13.5 — 2026-03-17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003eissue 2138\u003c/code\u003e_ describes a memory leak that happened when repeatedly\nusing the Coverage API with in-memory data. This is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the markdown-formatted coverage report didn't fully escape special\ncharacters in file paths (\u003ccode\u003eissue 2141\u003c/code\u003e\u003cem\u003e). This would be very unlikely to\ncause a problem, but now it's done properly, thanks to \u003ccode\u003eEllie Ayla \u0026lt;pull 2142_\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the C extension wouldn't build on VS2019, but now it does (\u003ccode\u003eissue 2145\u003c/code\u003e_).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2138: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2138\"\u003ecoveragepy/coveragepy#2138\u003c/a\u003e\n.. _issue 2141: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2141\"\u003ecoveragepy/coveragepy#2141\u003c/a\u003e\n.. _pull 2142: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2142\"\u003ecoveragepy/coveragepy#2142\u003c/a\u003e\n.. _issue 2145: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2145\"\u003ecoveragepy/coveragepy#2145\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-4:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c88da144eef8cf78424331e5cbbde3e002eef43f\"\u003e\u003ccode\u003ec88da14\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.13.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/e2ac3e1ef644370101ff365acad3431d16076512\"\u003e\u003ccode\u003ee2ac3e1\u003c/code\u003e\u003c/a\u003e build: sample HTML shouldn't include the status.json file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/910f8f336541c2dcb4e9ec468144c7eb4a7779ac\"\u003e\u003ccode\u003e910f8f3\u003c/code\u003e\u003c/a\u003e docs: prep for 7.13.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/3a4819c24d3d20cb2670b99141517812ffa3fab0\"\u003e\u003ccode\u003e3a4819c\u003c/code\u003e\u003c/a\u003e style: make workflows more uniform\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/2a53705...\n\n_Description has been truncated_","html_url":"https://github.com/andytwoods/can-I-still-code/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/andytwoods%2Fcan-I-still-code/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"}},{"old_version":"23.0.0","new_version":"23.0.1","update_type":"patch","path":null,"pr_created_at":"2026-03-31T16:17:12.000Z","version_change":"23.0.0 → 23.0.1","issue":{"uuid":"4180525436","node_id":"PR_kwDOGsm7qs7PAD7-","number":251,"state":"closed","title":"build(deps): bump the simple group across 1 directory with 12 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-04-05T22:04:26.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-31T16:17:12.000Z","updated_at":"2026-04-05T22:04:28.000Z","time_to_close":452834,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"simple","update_count":12,"packages":[{"name":"boto3-stubs","old_version":"1.41.5","new_version":"1.42.78","repository_url":"https://github.com/youtype/mypy_boto3_builder"},{"name":"boto3","old_version":"1.41.5","new_version":"1.42.78","repository_url":"https://github.com/boto/boto3"},{"name":"click","old_version":"8.1.3","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"colored","old_version":"2.3.1","new_version":"2.3.2"},{"name":"matplotlib-stubs","old_version":"0.3.4","new_version":"0.3.11","repository_url":"https://github.com/hoel-bagard/matplotlib-stubs"},{"name":"networkx","old_version":"3.4.2","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"numpy","old_version":"2.4.2","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"ruamel-yaml","old_version":"0.18.17","new_version":"0.19.1"},{"name":"ruff","old_version":"0.0.292","new_version":"0.15.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"scipy-stubs","old_version":"1.15.3.0","new_version":"1.17.1.3","repository_url":"https://github.com/scipy/scipy-stubs"},{"name":"pyarrow","old_version":"23.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"minio","old_version":"7.2.15","new_version":"7.2.20","repository_url":"https://github.com/minio/minio-py"}],"path":null,"ecosystem":"pip"},"body":"Bumps the simple group with 12 updates in the /ci/builder directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [boto3-stubs](https://github.com/youtype/mypy_boto3_builder) | `1.41.5` | `1.42.78` |\n| [boto3](https://github.com/boto/boto3) | `1.41.5` | `1.42.78` |\n| [click](https://github.com/pallets/click) | `8.1.3` | `8.3.1` |\n| [colored](https://gitlab.com/dslackw/colored) | `2.3.1` | `2.3.2` |\n| [matplotlib-stubs](https://github.com/hoel-bagard/matplotlib-stubs) | `0.3.4` | `0.3.11` |\n| [networkx](https://github.com/networkx/networkx) | `3.4.2` | `3.6.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.4.2` | `2.4.3` |\n| ruamel-yaml | `0.18.17` | `0.19.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.0.292` | `0.15.8` |\n| [scipy-stubs](https://github.com/scipy/scipy-stubs) | `1.15.3.0` | `1.17.1.3` |\n| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `23.0.1` |\n| [minio](https://github.com/minio/minio-py) | `7.2.15` | `7.2.20` |\n\n\nUpdates `boto3-stubs` from 1.41.5 to 1.42.78\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/youtype/mypy_boto3_builder/releases\"\u003eboto3-stubs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.8.0 - Python 3.8 runtime is back\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e \u003ccode\u003einstall_requires\u003c/code\u003e section is calculated based on dependencies in use, so \u003ccode\u003etyping-extensions\u003c/code\u003e version is set properly\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Replaced \u003ccode\u003etyping\u003c/code\u003e imports with \u003ccode\u003ecollections.abc\u003c/code\u003e with a fallback to \u003ccode\u003etyping\u003c/code\u003e for Python \u0026lt;3.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Added aliases for \u003ccode\u003ebuiltins.list\u003c/code\u003e, \u003ccode\u003ebuiltins.set\u003c/code\u003e, \u003ccode\u003ebuiltins.dict\u003c/code\u003e, and \u003ccode\u003ebuiltins.type\u003c/code\u003e, so Python 3.8 runtime should work as expected again (reported by \u003ca href=\"https://github.com/YHallouard\"\u003e\u003ccode\u003e@​YHallouard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/340\"\u003e#340\u003c/a\u003e and \u003ca href=\"https://github.com/Omri-Ben-Yair\"\u003e\u003ccode\u003e@​Omri-Ben-Yair\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/336\"\u003e#336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Unions use the same type annotations as the rest of the structures due to proper fallbacks\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Universal input/output shapes were not replaced properly in service subresources\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[docs]\u003c/code\u003e Simplified doc links rendering for services\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Cleaned up unnecessary imports in \u003ccode\u003eclient.pyi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[builder]\u003c/code\u003e Import records with fallback are always rendered\u003c/li\u003e\n\u003c/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/youtype/mypy_boto3_builder/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.41.5 to 1.42.78\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b5acf8b4da83625fe3a4bbc37f44d3563a90bedb\"\u003e\u003ccode\u003eb5acf8b\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.78'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1da17a5f5f168ca19917cb3b5c1389b1918c1a6e\"\u003e\u003ccode\u003e1da17a5\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.78\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/e298b6480047c39f047a9805ce5a69654eda2c2b\"\u003e\u003ccode\u003ee298b64\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/48369eaf9203ac46d0621f2a6506cbfa369c3cff\"\u003e\u003ccode\u003e48369ea\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.77'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/8c30411a442a21b8bccc9eb2fde60ab76751ef35\"\u003e\u003ccode\u003e8c30411\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.77' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/4398c8e0aee88fe1c5aacb415683e75ccde1b3a3\"\u003e\u003ccode\u003e4398c8e\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.77\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7c449e2e3bfea638a8cf9892ba8096ec1ff4d565\"\u003e\u003ccode\u003e7c449e2\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ee6c3e4e4ccc20774293d6b4022a17abe495a28f\"\u003e\u003ccode\u003eee6c3e4\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.76'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/a5ad9c3e75cf3ace6b3368c60c9b325d33ca2975\"\u003e\u003ccode\u003ea5ad9c3\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.76' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1abf6403e3a0a63520ca4b3db62428061ef17cf2\"\u003e\u003ccode\u003e1abf640\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.76\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.41.5...1.42.78\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.3 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in \u003ccode\u003eCliRunner\u003c/code\u003e. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5a085468\"\u003e\u003ccode\u003ebd131e1\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0b5c6b75f617e6ee2f9f6dcd071b8a4bf183d1ed\"\u003e\u003ccode\u003e0b5c6b7\u003c/code\u003e\u003c/a\u003e Add Best practices section  (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3127\"\u003e#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.3...8.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `colored` from 2.3.1 to 2.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://gitlab.com/dslackw/colored/blob/master/CHANGES.md\"\u003ecolored's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.3.2] - 2026-03-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etests_pytest/\u003c/code\u003e suite with pytest-based tests for foreground, background, styles, exceptions, hex color matching, and convert functionality.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed mypy type error in \u003ccode\u003ehexadecimal.py\u003c/code\u003e: changed \u003ccode\u003ecolor\u003c/code\u003e parameter type from \u003ccode\u003estr | int\u003c/code\u003e to \u003ccode\u003estr\u003c/code\u003e in \u003ccode\u003eHex.find()\u003c/code\u003e, as the method requires string input for \u003ccode\u003elen()\u003c/code\u003e and indexing operations.\u003c/li\u003e\n\u003cli\u003eFixed mypy type errors in \u003ccode\u003eattributes.py\u003c/code\u003e: added missing return type annotation (\u003ccode\u003e-\u0026gt; None\u003c/code\u003e) to \u003ccode\u003eMetaStyle.__getattr__()\u003c/code\u003e and replaced bare \u003ccode\u003edict\u003c/code\u003e with \u003ccode\u003edict[str, str]\u003c/code\u003e for \u003ccode\u003e_STYLES\u003c/code\u003e and \u003ccode\u003e_COLORS\u003c/code\u003e class attributes.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eValueError\u003c/code\u003e in \u003ccode\u003eColored.enabled()\u003c/code\u003e when \u003ccode\u003eFORCE_COLOR\u003c/code\u003e environment variable contains a non-integer value (e.g. \u003ccode\u003eFORCE_COLOR=yes\u003c/code\u003e): invalid values are now treated as enabled.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eControls.nav()\u003c/code\u003e ignoring \u003ccode\u003ecolumn=0\u003c/code\u003e due to falsy check: changed \u003ccode\u003eif column:\u003c/code\u003e to \u003ccode\u003eif column is not None:\u003c/code\u003e so cursor position at column 0 (start of line) works correctly.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eValueError\u003c/code\u003e crash in \u003ccode\u003eHex.find()\u003c/code\u003e when passing an invalid hex string (e.g. \u003ccode\u003e#FF\u003c/code\u003e, \u003ccode\u003e#AABBCCDD\u003c/code\u003e): added format validation that raises \u003ccode\u003eInvalidHexColor\u003c/code\u003e for strings that are not 4 or 7 characters long starting with \u003ccode\u003e#\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed RGB values out of range in \u003ccode\u003eUtilities.is_percentage()\u003c/code\u003e: values are now clamped to [0, 255] to always produce valid ANSI escape sequences without breaking existing code.\u003c/li\u003e\n\u003cli\u003eFixed incorrect return type annotation \u003ccode\u003e-\u0026gt; None\u003c/code\u003e on \u003ccode\u003e__getattr__\u003c/code\u003e in \u003ccode\u003eMetaStyle\u003c/code\u003e, \u003ccode\u003eMetaFore\u003c/code\u003e, and \u003ccode\u003eMetaBack\u003c/code\u003e metaclasses: changed to \u003ccode\u003e-\u0026gt; NoReturn\u003c/code\u003e since these methods always raise an exception and never return.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eUtilities.set_colorterm()\u003c/code\u003e losing the default \u003ccode\u003etruecolor\u003c/code\u003e value when \u003ccode\u003e$COLORTERM\u003c/code\u003e is not set in the environment: changed fallback from \u003ccode\u003e''\u003c/code\u003e to \u003ccode\u003eself.colorterm\u003c/code\u003e to preserve the initialized default.\u003c/li\u003e\n\u003cli\u003eRenamed misleading \u003ccode\u003eHex.cube()\u003c/code\u003e method to \u003ccode\u003eHex.square()\u003c/code\u003e to correctly reflect its calculation (\u003ccode\u003ex*x\u003c/code\u003e), which is the intended least squares fit operation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/18c6356aa813b9705a0a21aabb6ef671cc0dd999\"\u003e\u003ccode\u003e18c6356\u003c/code\u003e\u003c/a\u003e Improve CHANGES.md entries for all previous versions with detailed descriptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/d2f347d972c23c701ae073d4dcf4e540cda9a0cc\"\u003e\u003ccode\u003ed2f347d\u003c/code\u003e\u003c/a\u003e Fix raise-missing-from warning in Hex.find()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/d04103fe399203a22fbdc058ab9be909eab364e4\"\u003e\u003ccode\u003ed04103f\u003c/code\u003e\u003c/a\u003e Improve test coverage from 75% to 89%\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/30f2fd89fdb103fc42f47685622d259d0117fce0\"\u003e\u003ccode\u003e30f2fd8\u003c/code\u003e\u003c/a\u003e Update Python badge to 3.9+ and fix trailing whitespace in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/878bb9719cf11f69229b4b108dff34508eadaace\"\u003e\u003ccode\u003e878bb97\u003c/code\u003e\u003c/a\u003e Bump version to 2.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/04ed4b3f5ec8cd0d9770c7cbde9263ed34a258d4\"\u003e\u003ccode\u003e04ed4b3\u003c/code\u003e\u003c/a\u003e Rename Hex.cube() to Hex.square() to reflect actual calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/43a26094b7718d91be6e74d89974539b89a4a301\"\u003e\u003ccode\u003e43a2609\u003c/code\u003e\u003c/a\u003e Fix set_colorterm() losing default colorterm when $COLORTERM is unset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/f19f1a524b081cc814d870e6561a2cb7315abb9d\"\u003e\u003ccode\u003ef19f1a5\u003c/code\u003e\u003c/a\u003e Fix convert_percentages() docstring to match actual signature and behavior\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/475c55deb0ce2fbaacf9b3aea786baaa39f709a9\"\u003e\u003ccode\u003e475c55d\u003c/code\u003e\u003c/a\u003e Fix incorrect type in ansi_to_hex() docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/f5eb31f98ef34c139d10f0c58095822a2ddbef27\"\u003e\u003ccode\u003ef5eb31f\u003c/code\u003e\u003c/a\u003e Fix \u003cstrong\u003egetattr\u003c/strong\u003e return type annotation to NoReturn in metaclasses\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://gitlab.com/dslackw/colored/compare/2.3.1...2.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib-stubs` from 0.3.4 to 0.3.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/releases\"\u003ematplotlib-stubs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.11\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.10\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix broken import in \u003ccode\u003ematplotlib.pyplot.plot_date\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.xlim\u003c/code\u003e and \u003ccode\u003ematplotlib.pyplot.ylim\u003c/code\u003e overloads, including datetime support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.axes.Axes.set_xticks\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.axes.Axes.bar\u003c/code\u003e to support datetime sequences\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.5\u003c/h2\u003e\n\u003cp\u003eFix \u003ccode\u003ematplotlib.pyplot.plot\u003c/code\u003e to allow using datetime sequences.\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/hoel-bagard/matplotlib-stubs/blob/master/CHANGELOG.md\"\u003ematplotlib-stubs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.11 - 2025-10-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd type hints for \u003ccode\u003ematplotlib.pyplot\u003c/code\u003e's \u003ccode\u003eshow\u003c/code\u003e, \u003ccode\u003etight_layout\u003c/code\u003e, \u003ccode\u003ebar\u003c/code\u003e, \u003ccode\u003exticks\u003c/code\u003e and \u003ccode\u003eyticks\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.10 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.loglog\u003c/code\u003e type hints\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.9 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix broken import in \u003ccode\u003ematplotlib.pyplot.plot_date\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.8 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.xlim\u003c/code\u003e and \u003ccode\u003ematplotlib.pyplot.ylim\u003c/code\u003e overloads, including datetime support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.7 - 2025-10-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.axhline\u003c/code\u003e's kwargs type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 - 2025-10-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.axes.Axes.set_xticks\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.axes.Axes.bar\u003c/code\u003e to support datetime sequences\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 - 2025-10-14\u003c/h2\u003e\n\u003cp\u003eFix \u003ccode\u003ematplotlib.pyplot.plot\u003c/code\u003e to allow using datetime sequences.\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/hoel-bagard/matplotlib-stubs/commit/59fdaf216331aa54996e5f1149e6ee096ca63557\"\u003e\u003ccode\u003e59fdaf2\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/b85c0f74cd4587d8f9ccdb0a65639981ca29bfaa\"\u003e\u003ccode\u003eb85c0f7\u003c/code\u003e\u003c/a\u003e feat: add type hints for show, tight_layout, bar, xticks and yticks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/8afc8f4122949daaa447febe9b715feaaa13da59\"\u003e\u003ccode\u003e8afc8f4\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/f9de850ed9f5662672ec663e2b88619b42d34e5a\"\u003e\u003ccode\u003ef9de850\u003c/code\u003e\u003c/a\u003e feat: add type hints to plt.loglog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/4ffefa652da3881b576823b003e695d8c4ad0dbe\"\u003e\u003ccode\u003e4ffefa6\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/e6a54149513cf96fab1c8e35ae1589a5106a46c2\"\u003e\u003ccode\u003ee6a5414\u003c/code\u003e\u003c/a\u003e fix: broken import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/90b7235400fd1467a85ccf3ff06a5c068cd4e410\"\u003e\u003ccode\u003e90b7235\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/af0f45827cda237040c46dd126530a0971e41758\"\u003e\u003ccode\u003eaf0f458\u003c/code\u003e\u003c/a\u003e feat: add xlim and ylim overloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/5d5ab771404092929deacaef66cc8efe625a4752\"\u003e\u003ccode\u003e5d5ab77\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/5f5a9e46f14de1072f07eb865af4d552a553672c\"\u003e\u003ccode\u003e5f5a9e4\u003c/code\u003e\u003c/a\u003e fix: add axhline kwargs type\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/compare/v0.3.4...v0.3.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `networkx` from 3.4.2 to 3.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networkx/networkx/releases\"\u003enetworkx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNetworkX 3.6.1\u003c/h2\u003e\n\u003ch1\u003enetworkx 3.6.1\u003c/h1\u003e\n\u003cp\u003eWe're happy to announce the release of networkx 3.6.1!\u003c/p\u003e\n\u003ch2\u003eAPI Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNodelists for \u003ccode\u003efrom_biadjacency_matrix\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7993\"\u003e#7993\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix draw_networkx_nodes with list node_shape and add regression test (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8363\"\u003e#8363\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8369\"\u003e#8369\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDOC: Improve benchmarking readme (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8358\"\u003e#8358\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: More details re: RC releases in the release process devdocs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8346\"\u003e#8346\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tutorial (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8300\"\u003e#8300\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Add blurb to contributor guide about drawing tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8370\"\u003e#8370\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Fix underline lens in docstrings (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8371\"\u003e#8371\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8373\"\u003e#8373\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMaintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMAINT: Replace string literal with comment (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8359\"\u003e#8359\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the actions group (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8360\"\u003e#8360\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003epin python 3.14 to be version 3.14.0 until dataclasses are fixed (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8365\"\u003e#8365\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBlocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8372\"\u003e#8372\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTST: add tests for unsupported graph types in MST algorithms (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8353\"\u003e#8353\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eTST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8364\"\u003e#8364\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e10 authors added to this release (alphabetically):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Aka2210\"\u003e\u003ccode\u003e@​Aka2210\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jfinkels\"\u003e\u003ccode\u003e@​jfinkels\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaorTIRAM\"\u003e\u003ccode\u003e@​NaorTIRAM\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAditi Juneja (\u003ca href=\"https://github.com/Schefflera-Arboricola\"\u003e\u003ccode\u003e@​Schefflera-Arboricola\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlejandro Candioti (\u003ca href=\"https://github.com/amcandio\"\u003e\u003ccode\u003e@​amcandio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColman Bouton (\u003ca href=\"https://github.com/LorentzFactor\"\u003e\u003ccode\u003e@​LorentzFactor\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/networkx/networkx/commit/7530809bfa1ea7ed6fdf918a4d1431488953cb1f\"\u003e\u003ccode\u003e7530809\u003c/code\u003e\u003c/a\u003e Designate 3.6.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/4788eb08f2492dd6bf6f97ce8ee07cd52aa6cf89\"\u003e\u003ccode\u003e4788eb0\u003c/code\u003e\u003c/a\u003e Rolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8373\"\u003e#8373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/696edb6efbbbb622959e96f1276fc0db68dc0954\"\u003e\u003ccode\u003e696edb6\u003c/code\u003e\u003c/a\u003e Fix draw_networkx_nodes with list node_shape and add regression test  (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8363\"\u003e#8363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/c38830c61a6fee3ee10f216071bb63cb9b92bfb9\"\u003e\u003ccode\u003ec38830c\u003c/code\u003e\u003c/a\u003e Blocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8372\"\u003e#8372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/81d231141b08600ebfd1c781e28ecbf791e94016\"\u003e\u003ccode\u003e81d2311\u003c/code\u003e\u003c/a\u003e DOC: Fix underline lens in docstrings. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8371\"\u003e#8371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/a6e2bfadef51dda47df6466b32642e0d428c5801\"\u003e\u003ccode\u003ea6e2bfa\u003c/code\u003e\u003c/a\u003e DOC: Add blurb to contributor guide about drawing tests. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8370\"\u003e#8370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/96b628295eff29d266e1c75355556fc9fe58cc16\"\u003e\u003ccode\u003e96b6282\u003c/code\u003e\u003c/a\u003e DOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/75bdd737ca8382d06eb76ff9018a81870c9f3443\"\u003e\u003ccode\u003e75bdd73\u003c/code\u003e\u003c/a\u003e Fix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8369\"\u003e#8369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/7663fa5e5fd73d6921410a18c7ac4116ffa04f4d\"\u003e\u003ccode\u003e7663fa5\u003c/code\u003e\u003c/a\u003e TST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8364\"\u003e#8364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/3dacd1bdcbd976b9e148a60ddebafd868c0a52f3\"\u003e\u003ccode\u003e3dacd1b\u003c/code\u003e\u003c/a\u003e Add spectral bipartition community finding and greedy bipartition using node ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/networkx/networkx/compare/networkx-3.4.2...networkx-3.6.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.4.2 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\u003c/blockquote\u003e\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.4.2...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruamel-yaml` from 0.18.17 to 0.19.1\n\nUpdates `ruff` from 0.0.292 to 0.15.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c2a8815842f9dc5d24ec19385eae0f1a7188b0d9\"\u003e\u003ccode\u003ec2a8815\u003c/code\u003e\u003c/a\u003e Release 0.15.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24217\"\u003e#24217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d444d52e2b9cc8bc9a078c2bd4ff6ff993290209\"\u003e\u003ccode\u003ed444d52\u003c/code\u003e\u003c/a\u003e [ty] Infer lambda expressions with \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22633\"\u003e#22633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9622285ed0081fc688149f6efca87f127d9b18dd\"\u003e\u003ccode\u003e9622285\u003c/code\u003e\u003c/a\u003e [ty] Autocomplete arguments if in arguments node (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24167\"\u003e#24167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d81266252aaf0820346d55edbed79c4f25ba13d2\"\u003e\u003ccode\u003ed812662\u003c/code\u003e\u003c/a\u003e Use the \u003ccode\u003erelease\u003c/code\u003e environment in \u003ccode\u003epublish-docs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24214\"\u003e#24214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/eda2355832f7a9c58aef6febd3e061dc9c87509a\"\u003e\u003ccode\u003eeda2355\u003c/code\u003e\u003c/a\u003e [ty] Show \u003ccode\u003eFinal\u003c/code\u003e source in final assignment diagnostic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24194\"\u003e#24194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/929eb5238c82bfadad4549ff526f02efc0163dd0\"\u003e\u003ccode\u003e929eb52\u003c/code\u003e\u003c/a\u003e [ty] Enforce Final attribute assignment rules for annotated and augmented wri...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/34998be22ec3a77d398bbd55234ef8740f768329\"\u003e\u003ccode\u003e34998be\u003c/code\u003e\u003c/a\u003e [ty] Fix typo in comment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24211\"\u003e#24211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/560aca0b2828ee2ff1b4bcc5c5ef1ef4ced229d2\"\u003e\u003ccode\u003e560aca0\u003c/code\u003e\u003c/a\u003e [ty] Minor simplifications to some benchmark code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24209\"\u003e#24209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/683bae512d03d3727a7bcdbc5a0170dafa049583\"\u003e\u003ccode\u003e683bae5\u003c/code\u003e\u003c/a\u003e [ty] Track non-terminal-call constraints in global scope (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23245\"\u003e#23245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4704c2a4ff3dde2fd29324346720e9516b4fe387\"\u003e\u003ccode\u003e4704c2a\u003c/code\u003e\u003c/a\u003e [ty] Remove unnecessary intermediate collection in `StaticClassLiteral::field...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/v0.0.292...0.15.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy-stubs` from 1.15.3.0 to 1.17.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy-stubs/releases\"\u003escipy-stubs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.17.1.3\u003c/h2\u003e\n\u003cp\u003eThis release targets \u003ca href=\"https://github.com/scipy/scipy/releases/tag/v1.17.1\"\u003eSciPy 1.17.1\u003c/a\u003e and supports Python 3.11-3.14, \u003ca href=\"https://github.com/numpy/numpy\"\u003eNumPy\u003c/a\u003e 1.26-2.4, and \u003ca href=\"https://github.com/jorenham/optype\"\u003eoptype\u003c/a\u003e 0.14-0.18.\u003c/p\u003e\n\u003ch1\u003e:trophy: Release Highlights\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fixed several issues with \u003ccode\u003escipy.sparse\u003c/code\u003e arrays and matrices for certain slicing and multi-indexing operations (see \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1454\"\u003escipy/scipy-stubs#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e✨ Many improved function signatures (shape-typing, input-dependent return dtypes) in \u003ccode\u003escipy.io\u003c/code\u003e, \u003ccode\u003escipy.linalg\u003c/code\u003e, \u003ccode\u003escipy.ndimage\u003c/code\u003e, \u003ccode\u003escipy.signal\u003c/code\u003e, and \u003ccode\u003escipy.stats\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e✅ Increased the type-testing coverage from 84.0% to 87.7%. The goal is to reach 100% coverage in the near future. For the current progress and per-module coverage, see \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1099\"\u003escipy/scipy-stubs#1099\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e✨ Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003endimage\u003c/code\u003e: improved morphology functions by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1458\"\u003escipy/scipy-stubs#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elinalg.interpolative\u003c/code\u003e: improved shape-typing and dtypes by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1459\"\u003escipy/scipy-stubs#1459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elinalg\u003c/code\u003e: improved \u003ccode\u003esvdvals\u003c/code\u003e and \u003ccode\u003esubspace_angles\u003c/code\u003e shape-types and dtypes by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1460\"\u003escipy/scipy-stubs#1460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003endimage\u003c/code\u003e: improved interpolation functions by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1461\"\u003escipy/scipy-stubs#1461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: improve \u003ccode\u003e{g,h,p}mean\u003c/code\u003e by adding 3*26 overloads by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1463\"\u003escipy/scipy-stubs#1463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: improved \u003ccode\u003eiqr\u003c/code\u003e dtypes by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1464\"\u003escipy/scipy-stubs#1464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: improved \u003ccode\u003ezmap\u003c/code\u003e dtypes and shape-typing by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1465\"\u003escipy/scipy-stubs#1465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eio\u003c/code\u003e: improved \u003ccode\u003eMMFile.{read,write}\u003c/code\u003e signatures by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1467\"\u003escipy/scipy-stubs#1467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: minor improvements to some filter design functions by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1475\"\u003escipy/scipy-stubs#1475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: improved LTI conversion functions dtypes (\u003ccode\u003e_lti_conversion\u003c/code\u003e) by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1477\"\u003escipy/scipy-stubs#1477\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esparse\u003c/code\u003e: fix sparse array/matrix sliced index assignment by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1456\"\u003escipy/scipy-stubs#1456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esparse\u003c/code\u003e: fix sparse array/matrix mixed multi-index assignment by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1457\"\u003escipy/scipy-stubs#1457\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📝 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd movement to the list of downstream projects by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1462\"\u003escipy/scipy-stubs#1462\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✅ Testing\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003eCovariance\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1468\"\u003escipy/scipy-stubs#1468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003echatterjeexi\u003c/code\u003e and \u003ccode\u003espearmanrho\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1469\"\u003escipy/scipy-stubs#1469\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test remaining resampling functions and classes by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1470\"\u003escipy/scipy-stubs#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003edirichlet_multinomial\u003c/code\u003e  and \u003ccode\u003ematrix_t\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1471\"\u003escipy/scipy-stubs#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003erv_histogram\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1472\"\u003escipy/scipy-stubs#1472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003enew_distributions\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1473\"\u003escipy/scipy-stubs#1473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003eabs\u003c/code\u003e and \u003ccode\u003eMixture\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1474\"\u003escipy/scipy-stubs#1474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: test the remaining filter design functions (\u003ccode\u003e_filter_design\u003c/code\u003e) by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1476\"\u003escipy/scipy-stubs#1476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: test \u003ccode\u003edetrend\u003c/code\u003e, \u003ccode\u003eresidue[z]\u003c/code\u003e, and \u003ccode\u003einvres[z]\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1478\"\u003escipy/scipy-stubs#1478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: test remaining waveform functions by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1479\"\u003escipy/scipy-stubs#1479\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/scipy/scipy-stubs/commit/6bb5184d6869edd3957399c3ef72f0db9fc53690\"\u003e\u003ccode\u003e6bb5184\u003c/code\u003e\u003c/a\u003e 🔖 scipy-stubs 1.17.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/38d5286101eba47843041ca813c59e604feb9a6b\"\u003e\u003ccode\u003e38d5286\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1479\"\u003e#1479\u003c/a\u003e from scipy:signal._waveforms/tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/84ddb4e3eb28d50d04a58abd69aa5c02e1f160a3\"\u003e\u003ccode\u003e84ddb4e\u003c/code\u003e\u003c/a\u003e ✅ \u003ccode\u003esignal\u003c/code\u003e: test remaainiang waveform functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/8d2113f2ee63660f87f6006efbc2594de2176300\"\u003e\u003ccode\u003e8d2113f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1478\"\u003e#1478\u003c/a\u003e from scipy:signal._signaltools/tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/eb410588331ca61fc43e0ca207c1caf2940ab6dc\"\u003e\u003ccode\u003eeb41058\u003c/code\u003e\u003c/a\u003e ✅ \u003ccode\u003esignal\u003c/code\u003e: test \u003ccode\u003edetrend\u003c/code\u003e, \u003ccode\u003eresidue[z]\u003c/code\u003e, and \u003ccode\u003einvres[z]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/40fa398f70c00288f9e6285ba978c2039610f5b2\"\u003e\u003ccode\u003e40fa398\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1477\"\u003e#1477\u003c/a\u003e from scipy:signal._lti_conversion/improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/e8dfe75ed11e51ea006ad1968b819d0b1f41fc7d\"\u003e\u003ccode\u003ee8dfe75\u003c/code\u003e\u003c/a\u003e ✨ \u003ccode\u003esignal\u003c/code\u003e: improved \u003ccode\u003ess2zpk\u003c/code\u003e dtypes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/eb07f678745c17e9751bf007a11bcd067614890c\"\u003e\u003ccode\u003eeb07f67\u003c/code\u003e\u003c/a\u003e ✨ \u003ccode\u003esignal\u003c/code\u003e: improved \u003ccode\u003ezpk2ss\u003c/code\u003e dtypes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/b4cc11bf7611843dfa89fe9b1fa36a1674d01415\"\u003e\u003ccode\u003eb4cc11b\u003c/code\u003e\u003c/a\u003e ✨ \u003ccode\u003esignal\u003c/code\u003e: improved \u003ccode\u003eabcd_normalize\u003c/code\u003e dtypes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/6c90b7bf4a412b84bb447f13c86bdf35f9947c4b\"\u003e\u003ccode\u003e6c90b7b\u003c/code\u003e\u003c/a\u003e ✨ \u003ccode\u003esignal\u003c/code\u003e: improved \u003ccode\u003ess2tf\u003c/code\u003e dtypes and shape-typing\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy-stubs/compare/v1.15.3.0...v1.17.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 23.0.0 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-23.0.0...apache-arrow-23.0.1\"\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.15 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 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\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 hr...\n\n_Description has been truncated_","html_url":"https://github.com/pH14/materialize/pull/251","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pH14%2Fmaterialize/issues/251","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/251/packages"}},{"old_version":"22.0.0","new_version":"23.0.1","update_type":"major","path":null,"pr_created_at":"2026-03-30T21:56:32.000Z","version_change":"22.0.0 → 23.0.1","issue":{"uuid":"4174316638","node_id":"PR_kwDORckIoM7OxICs","number":375,"state":"open","title":"security(deps): bump the training-dependencies group across 1 directory with 67 updates","user":"dependabot[bot]","labels":["dependencies","python","training"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-30T21:56:32.000Z","updated_at":"2026-03-30T21:58:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"security(deps): bump","group_name":"training-dependencies","update_count":67,"packages":[{"name":"numpy","old_version":"2.4.3","new_version":"2.4.4","repository_url":"https://github.com/numpy/numpy"},{"name":"azure-core","old_version":"1.38.3","new_version":"1.39.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-blob","old_version":"12.27.1","new_version":"12.28.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"marshmallow","old_version":"3.26.2","new_version":"4.2.3","repository_url":"https://github.com/marshmallow-code/marshmallow"},{"name":"mlflow","old_version":"3.9.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"azureml-mlflow","old_version":"1.62.0.post1","new_version":"1.62.0.post2","repository_url":"https://github.com/Azure/MachineLearningNotebooks"},{"name":"anyio","old_version":"4.12.1","new_version":"4.13.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"attrs","old_version":"25.4.0","new_version":"26.1.0","repository_url":"https://github.com/python-attrs/attrs"},{"name":"azure-monitor-opentelemetry","old_version":"1.8.6","new_version":"1.8.7","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-monitor-opentelemetry-exporter","old_version":"1.0.0b48","new_version":"1.0.0b49","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-file-datalake","old_version":"12.22.0","new_version":"12.23.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"cachetools","old_version":"6.2.6","new_version":"7.0.5","repository_url":"https://github.com/tkem/cachetools"},{"name":"cuda-bindings","old_version":"12.9.4","new_version":"13.2.0","repository_url":"https://github.com/NVIDIA/cuda-python"},{"name":"cuda-pathfinder","old_version":"1.4.3","new_version":"1.5.0","repository_url":"https://github.com/NVIDIA/cuda-python"},{"name":"databricks-sdk","old_version":"0.100.0","new_version":"0.102.0","repository_url":"https://github.com/databricks/databricks-sdk-py"},{"name":"fastapi","old_version":"0.135.1","new_version":"0.135.2","repository_url":"https://github.com/fastapi/fastapi"},{"name":"fsspec","old_version":"2026.2.0","new_version":"2026.3.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"grpcio","old_version":"1.78.0","new_version":"1.80.0","repository_url":"https://github.com/grpc/grpc"},{"name":"gunicorn","old_version":"23.0.0","new_version":"25.3.0","repository_url":"https://github.com/benoitc/gunicorn"},{"name":"importlib-metadata","old_version":"8.7.1","new_version":"9.0.0","repository_url":"https://github.com/python/importlib_metadata"},{"name":"mlflow-skinny","old_version":"3.9.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mlflow-tracing","old_version":"3.9.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/mpmath/mpmath"},{"name":"nvidia-cublas-cu12","old_version":"12.8.4.1","new_version":"12.9.2.10"},{"name":"nvidia-cuda-cupti-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cuda-nvrtc-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-cuda-runtime-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cudnn-cu12","old_version":"9.10.2.21","new_version":"9.20.0.48"},{"name":"nvidia-cufft-cu12","old_version":"11.3.3.83","new_version":"11.4.1.4"},{"name":"nvidia-cufile-cu12","old_version":"1.13.1.3","new_version":"1.14.1.1"},{"name":"nvidia-curand-cu12","old_version":"10.3.9.90","new_version":"10.3.10.19"},{"name":"nvidia-cusolver-cu12","old_version":"11.7.3.90","new_version":"11.7.5.82"},{"name":"nvidia-cusparse-cu12","old_version":"12.5.8.93","new_version":"12.5.10.65"},{"name":"nvidia-cusparselt-cu12","old_version":"0.7.1","new_version":"0.8.1"},{"name":"nvidia-ml-py","old_version":"13.590.48","new_version":"13.595.45"},{"name":"nvidia-nccl-cu12","old_version":"2.27.5","new_version":"2.29.7"},{"name":"nvidia-nvjitlink-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-nvshmem-cu12","old_version":"3.4.5","new_version":"3.6.5"},{"name":"nvidia-nvtx-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"onnx","old_version":"1.20.1","new_version":"1.21.0","repository_url":"https://github.com/onnx/onnx"},{"name":"opentelemetry-api","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-asgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-dbapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-django","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-fastapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-flask","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-psycopg2","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-wsgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-util-http","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"protobuf","old_version":"6.33.6","new_version":"7.34.1","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"pyarrow","old_version":"22.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.44.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pytz","old_version":"2025.2","new_version":"2026.1.post1","repository_url":"https://github.com/stub42/pytz"},{"name":"requests","old_version":"2.33.0","new_version":"2.33.1","repository_url":"https://github.com/psf/requests"},{"name":"starlette","old_version":"0.52.1","new_version":"1.0.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"torch","old_version":"2.10.0","new_version":"2.11.0","repository_url":"https://github.com/pytorch/pytorch"},{"name":"torchvision","old_version":"0.25.0","new_version":"0.26.0","repository_url":"https://github.com/pytorch/vision"},{"name":"werkzeug","old_version":"3.1.6","new_version":"3.1.7","repository_url":"https://github.com/pallets/werkzeug"},{"name":"wrapt","old_version":"1.17.3","new_version":"2.1.2","repository_url":"https://github.com/GrahamDumpleton/wrapt"}],"path":null,"ecosystem":"pip"},"body":"Bumps the training-dependencies group with 67 updates in the /training/rl directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `2.4.3` | `2.4.4` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.3` | `1.39.0` |\n| [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python) | `12.27.1` | `12.28.0` |\n| [marshmallow](https://github.com/marshmallow-code/marshmallow) | `3.26.2` | `4.2.3` |\n| [mlflow](https://github.com/mlflow/mlflow) | `3.9.0` | `3.10.1` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [azureml-mlflow](https://github.com/Azure/MachineLearningNotebooks) | `1.62.0.post1` | `1.62.0.post2` |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.1` | `4.13.0` |\n| [attrs](https://github.com/python-attrs/attrs) | `25.4.0` | `26.1.0` |\n| [azure-monitor-opentelemetry](https://github.com/Azure/azure-sdk-for-python) | `1.8.6` | `1.8.7` |\n| [azure-monitor-opentelemetry-exporter](https://github.com/Azure/azure-sdk-for-python) | `1.0.0b48` | `1.0.0b49` |\n| [azure-storage-file-datalake](https://github.com/Azure/azure-sdk-for-python) | `12.22.0` | `12.23.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.6` | `7.0.5` |\n| [cuda-bindings](https://github.com/NVIDIA/cuda-python) | `12.9.4` | `13.2.0` |\n| [cuda-pathfinder](https://github.com/NVIDIA/cuda-python) | `1.4.3` | `1.5.0` |\n| [databricks-sdk](https://github.com/databricks/databricks-sdk-py) | `0.100.0` | `0.102.0` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.135.1` | `0.135.2` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2026.2.0` | `2026.3.0` |\n| [grpcio](https://github.com/grpc/grpc) | `1.78.0` | `1.80.0` |\n| [gunicorn](https://github.com/benoitc/gunicorn) | `23.0.0` | `25.3.0` |\n| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.7.1` | `9.0.0` |\n| [mlflow-skinny](https://github.com/mlflow/mlflow) | `3.9.0` | `3.10.1` |\n| [mlflow-tracing](https://github.com/mlflow/mlflow) | `3.9.0` | `3.10.1` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.1` |\n| [nvidia-cublas-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.4.1` | `12.9.2.10` |\n| [nvidia-cuda-cupti-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cuda-nvrtc-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-cuda-runtime-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cudnn-cu12](https://developer.nvidia.com/cuda-zone) | `9.10.2.21` | `9.20.0.48` |\n| [nvidia-cufft-cu12](https://developer.nvidia.com/cuda-zone) | `11.3.3.83` | `11.4.1.4` |\n| [nvidia-cufile-cu12](https://developer.nvidia.com/cuda-zone) | `1.13.1.3` | `1.14.1.1` |\n| [nvidia-curand-cu12](https://developer.nvidia.com/cuda-zone) | `10.3.9.90` | `10.3.10.19` |\n| [nvidia-cusolver-cu12](https://developer.nvidia.com/cuda-zone) | `11.7.3.90` | `11.7.5.82` |\n| [nvidia-cusparse-cu12](https://developer.nvidia.com/cuda-zone) | `12.5.8.93` | `12.5.10.65` |\n| [nvidia-cusparselt-cu12](https://developer.nvidia.com/cusparselt) | `0.7.1` | `0.8.1` |\n| [nvidia-ml-py](https://forums.developer.nvidia.com) | `13.590.48` | `13.595.45` |\n| [nvidia-nccl-cu12](https://developer.nvidia.com/cuda-zone) | `2.27.5` | `2.29.7` |\n| [nvidia-nvjitlink-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-nvshmem-cu12](https://developer.nvidia.com/cuda-zone) | `3.4.5` | `3.6.5` |\n| [nvidia-nvtx-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [onnx](https://github.com/onnx/onnx) | `1.20.1` | `1.21.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-asgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-dbapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-django](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-flask](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-psycopg2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-wsgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b0` | `0.61b0` |\n| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.6` | `7.34.1` |\n| [pyarrow](https://github.com/apache/arrow) | `22.0.0` | `23.0.1` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.44.0` |\n| [pytz](https://github.com/stub42/pytz) | `2025.2` | `2026.1.post1` |\n| [requests](https://github.com/psf/requests) | `2.33.0` | `2.33.1` |\n| [starlette](https://github.com/Kludex/starlette) | `0.52.1` | `1.0.0` |\n| [torch](https://github.com/pytorch/pytorch) | `2.10.0` | `2.11.0` |\n| [torchvision](https://github.com/pytorch/vision) | `0.25.0` | `0.26.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.6` | `3.1.7` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.2` |\n\n\nUpdates `numpy` from 2.4.3 to 2.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.4 (Mar 29, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.4 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.4 is a patch release that fixes bugs discovered after the 2.4.3\nrelease. It should finally close issue \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30816\"\u003e#30816\u003c/a\u003e, the OpenBLAS threading problem\non ARM.\u003c/p\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 8 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eDaniel Haag +\u003c/li\u003e\n\u003cli\u003eDenis Prokopenko +\u003c/li\u003e\n\u003cli\u003eHarshith J +\u003c/li\u003e\n\u003cli\u003eKoki Watanabe\u003c/li\u003e\n\u003cli\u003eMarten van Kerkwijk\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 7 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30978\"\u003e#30978\u003c/a\u003e: MAINT: Prepare 2.4.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31049\"\u003e#31049\u003c/a\u003e: BUG: Add test to reproduce problem described in \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30816\"\u003e#30816\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30818\"\u003e#30818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31052\"\u003e#31052\u003c/a\u003e: BUG: fix FNV-1a 64-bit selection by using NPY_SIZEOF_UINTP (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31035\"\u003e#31035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31053\"\u003e#31053\u003c/a\u003e: BUG: avoid warning on ufunc with where=True and no output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31058\"\u003e#31058\u003c/a\u003e: DOC: document caveats of ndarray.resize on 3.14 and newer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31079\"\u003e#31079\u003c/a\u003e: TST: fix POWER VSX feature mapping (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30801\"\u003e#30801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31084\"\u003e#31084\u003c/a\u003e: MAINT: numpy.i: Replace deprecated \u003ccode\u003esprintf\u003c/code\u003e with \u003ccode\u003esnprintf\u003c/code\u003e...\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/be93fe2960dbf49b4647f5783c66d967fb2c65b5\"\u003e\u003ccode\u003ebe93fe2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31090\"\u003e#31090\u003c/a\u003e from charris/prepare-2.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f5245dc7ea5c6279c59cb0d5de81113229841290\"\u003e\u003ccode\u003ef5245dc\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/02e838ba270a5ca3dd8afc5a31c090cd34a56615\"\u003e\u003ccode\u003e02e838b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31084\"\u003e#31084\u003c/a\u003e from charris/backport-31056\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/fa74b2d05f8f7604bf6635d5280c3216c8ec667f\"\u003e\u003ccode\u003efa74b2d\u003c/code\u003e\u003c/a\u003e MAINT: numpy.i: Replace deprecated \u003ccode\u003esprintf\u003c/code\u003e with \u003ccode\u003esnprintf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31056\"\u003e#31056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/533a6db96dfa2556a61102a58c35fd64eaf3fa2b\"\u003e\u003ccode\u003e533a6db\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31079\"\u003e#31079\u003c/a\u003e from charris/backport-20801\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9e496cbd0a281195bd779ae1833f2a8f4a1d46a7\"\u003e\u003ccode\u003e9e496cb\u003c/code\u003e\u003c/a\u003e TST: fix POWER VSX feature mapping (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30801\"\u003e#30801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/8052c4b69ef18e582709af946f93f9e58b848f39\"\u003e\u003ccode\u003e8052c4b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31058\"\u003e#31058\u003c/a\u003e from charris/backport-31021\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7f13b5ad2b69fd6ea6aa3af7036b2dcf98e96486\"\u003e\u003ccode\u003e7f13b5a\u003c/code\u003e\u003c/a\u003e MAINT: Skip test on PyPy.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/4c5fdd66c8f379a1e2b3f40fa62bd0b87769d1c7\"\u003e\u003ccode\u003e4c5fdd6\u003c/code\u003e\u003c/a\u003e MAINT: Remove unused import of tracemalloc.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a3ca5ed354b26e0fd6e35bf29765a24271ed7c3a\"\u003e\u003ccode\u003ea3ca5ed\u003c/code\u003e\u003c/a\u003e Update numpy/_core/src/multiarray/shape.c\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.4.3...v2.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-core` from 1.38.3 to 1.39.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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-core_1.39.0\u003c/h2\u003e\n\u003ch2\u003e1.39.0 (2026-03-18)\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChanged the previously undocumented \u003ccode\u003eazure_cloud\u003c/code\u003e setting environment variable from \u003ccode\u003eAZURE_CLOUD\u003c/code\u003e to \u003ccode\u003eAZURE_SDK_CLOUD_CONF\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/Azure/azure-sdk-for-python/commit/dee80a8fd745ddab91933f05e795cf41e10ab8fe\"\u003e\u003ccode\u003edee80a8\u003c/code\u003e\u003c/a\u003e Changed the \u003ccode\u003eazure_cloud\u003c/code\u003e setting environment variable (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45763\"\u003e#45763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/a2d11701462371d3f8b38b935f77f2e5070a5bf7\"\u003e\u003ccode\u003ea2d1170\u003c/code\u003e\u003c/a\u003e Increment package version after release of azure-core (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45671\"\u003e#45671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-core_1.38.3...azure-core_1.39.0\"\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.27.1 to 12.28.0\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.27.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 `marshmallow` from 3.26.2 to 4.2.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/marshmallow-code/marshmallow/blob/dev/CHANGELOG.rst\"\u003emarshmallow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.3 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003emarshmallow.fields.Number\u003c/code\u003e and \u003ccode\u003emarshmallow.fields.Mapping\u003c/code\u003e abstract base classes to\nprevent using them within Schemas (:issue:\u003ccode\u003e2924\u003c/code\u003e). Thanks :user:\u003ccode\u003eMartingaleCoda\u003c/code\u003e for reporting.\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003erequired\u003c/code\u003e to be set on \u003ccode\u003emarshmallow.fields.Contant\u003c/code\u003e (:issue:\u003ccode\u003e2900\u003c/code\u003e).\nThanks :user:\u003ccode\u003enosnickid\u003c/code\u003e for the report and :user:\u003ccode\u003eworksbyfriday\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003emarshmallow.validate.OneOf\u003c/code\u003e emitting extra pairs when labels outnumber choices (:issue:\u003ccode\u003e2869\u003c/code\u003e).\nThanks: user:\u003ccode\u003eT90REAL\u003c/code\u003e for the report and :user:\u003ccode\u003erstar327\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eFix behavior when passing a dot-delimited attribute name to \u003ccode\u003epartial\u003c/code\u003e for a key with \u003ccode\u003edata_key\u003c/code\u003e set (:pr:\u003ccode\u003e2903\u003c/code\u003e).\nThanks :user:\u003ccode\u003ebysiber\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eFix Enum field by-name lookup to only return actual members (:pr:\u003ccode\u003e2902\u003c/code\u003e).\nThanks :user:\u003ccode\u003ebysiber\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emarshmallow.fields.DateTime\u003c/code\u003e with \u003ccode\u003eformat=\u0026quot;timestamp_ms\u0026quot;\u003c/code\u003e properly\nrejects bool values (:pr:\u003ccode\u003e2904\u003c/code\u003e). Thanks :user:\u003ccode\u003ebysiber\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eFix typing of \u003ccode\u003eerror_essages\u003c/code\u003e argument to \u003ccode\u003emarshmallow.fields.Field\u003c/code\u003e (:pr:\u003ccode\u003e1636\u003c/code\u003e).\nThanks :user:\u003ccode\u003erepole\u003c/code\u003e for reporting and :user:\u003ccode\u003edhruvildarji\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eipaddress.*\u003c/code\u003e to \u003ccode\u003emarshmallow.Schema.TYPE_MAPPING\u003c/code\u003e (:issue:\u003ccode\u003e1695\u003c/code\u003e).\nThanks :user:\u003ccode\u003eliberforce\u003c/code\u003e for the suggestion and :user:\u003ccode\u003edhruvildarji\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.2 (2026-02-04)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix behavior of \u003ccode\u003efields.Contant(None)\u003c/code\u003e (:issue:\u003ccode\u003e2868\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for reporting and \u003ccode\u003eemmanuel-ferdman\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.1 (2026-01-23)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix validation of URLs beginning with uppercare \u003ccode\u003eFILE\u003c/code\u003e (:issue:\u003ccode\u003e2891\u003c/code\u003e).\nThanks :user:\u003ccode\u003ethanhlecongg\u003c/code\u003e for reporting and fixing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.0 (2026-01-04)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emany\u003c/code\u003e argument of \u003ccode\u003eNested\u003c/code\u003e properly overrides schema instance\nvalue (:pr:\u003ccode\u003e2854\u003c/code\u003e). Thanks :user:\u003ccode\u003ejafournier\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/be7379775a2e94ebbe22f8ada83e5cce745e964c\"\u003e\u003ccode\u003ebe73797\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c38b48ec3b8bb44315036d0c8a07bc8477eb5094\"\u003e\u003ccode\u003ec38b48e\u003c/code\u003e\u003c/a\u003e Add ipaddress types to Schema.TYPE_MAPPING (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2906\"\u003e#2906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/3bc191ab3c8cac8356839bcde0918cb6aed4d3a1\"\u003e\u003ccode\u003e3bc191a\u003c/code\u003e\u003c/a\u003e Fix Field.error_messages type to allow dict and list values (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2907\"\u003e#2907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c530f85f05a99665c7b803533734069b79a00c84\"\u003e\u003ccode\u003ec530f85\u003c/code\u003e\u003c/a\u003e Update package metadata to comply with PEP 639 (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2926\"\u003e#2926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/72ac4a04208ff24df0a9694d9b03b78b1c5a2e6a\"\u003e\u003ccode\u003e72ac4a0\u003c/code\u003e\u003c/a\u003e Reject booleans in from_timestamp_ms, consistent with from_timestamp (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2904\"\u003e#2904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/024b5d09e9f026f0f96d220e243be69346687ce0\"\u003e\u003ccode\u003e024b5d0\u003c/code\u003e\u003c/a\u003e Fix Enum field by-name lookup to only return actual members (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2902\"\u003e#2902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/252090c7c707166cf4fcfcdc73eb4376b7bbc4b7\"\u003e\u003ccode\u003e252090c\u003c/code\u003e\u003c/a\u003e Fix nested partial to use attr_name instead of data_key for prefix (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2903\"\u003e#2903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/65374df0c31cdc45acc4435741779298201306a2\"\u003e\u003ccode\u003e65374df\u003c/code\u003e\u003c/a\u003e Fix OneOf.options() emitting phantom entries when labels outnumber choices (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/070dde08bad456e743a0d2e1842c142a799a9568\"\u003e\u003ccode\u003e070dde0\u003c/code\u003e\u003c/a\u003e Fix Constant field with required=True raising ValueError (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2901\"\u003e#2901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/fea5428567960f15be0c9a3a4b99c0d9bb63848c\"\u003e\u003ccode\u003efea5428\u003c/code\u003e\u003c/a\u003e Make Number and Mapping abstract base classes (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2925\"\u003e#2925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/marshmallow-code/marshmallow/compare/3.26.2...4.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow` from 3.9.0 to 3.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/releases\"\u003emlflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gateway] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.10.0, which includes several notable updates:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.1 (2026-03-05)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.10.0 (2026-02-20)\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/mlflow/mlflow/commit/cadc323c059d08ee15c3a312afd0eefeeccedc94\"\u003e\u003ccode\u003ecadc323\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1 (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21396\"\u003e#21396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3d17d6c58e1e0078c062321322fc76b1b822ab6d\"\u003e\u003ccode\u003e3d17d6c\u003c/code\u003e\u003c/a\u003e Add back virtualenv to fix the docker build until the next release (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3cfc12fe1359afbade834a74f57e0bbe2ef4531c\"\u003e\u003ccode\u003e3cfc12f\u003c/code\u003e\u003c/a\u003e Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/bcaad26df7e825fe15d4deffa0f05478e010bc10\"\u003e\u003ccode\u003ebcaad26\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/ff3249ff8a5f62e344f382d5fcdb419379780c78\"\u003e\u003ccode\u003eff3249f\u003c/code\u003e\u003c/a\u003e Update GenAI link and video in the getting started page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1591d038ae47271382fddd2b8653286af7c31138\"\u003e\u003ccode\u003e1591d03\u003c/code\u003e\u003c/a\u003e Persist AI Gateway default passphrase security banner dismissal to localStora...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/32979c9e560346a54d05ba7ff53434f215c5958f\"\u003e\u003ccode\u003e32979c9\u003c/code\u003e\u003c/a\u003e Demote unused parameters log message from WARNING to DEBUG in instructions ju...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/18eeea03c3d0af5b915bb3880a71198b5123e0bd\"\u003e\u003ccode\u003e18eeea0\u003c/code\u003e\u003c/a\u003e Make simulator explicitly avoid stating goal in first message (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/42d4356e18c0c2548ff3b290b11f36a992530d9d\"\u003e\u003ccode\u003e42d4356\u003c/code\u003e\u003c/a\u003e Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1a14934cc0116ddd91fb693e2b52bed12683521a\"\u003e\u003ccode\u003e1a14934\u003c/code\u003e\u003c/a\u003e Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.9.0...v3.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 25.0 to 26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0\u003c/h2\u003e\n\u003cp\u003eRead about the performance improvements here: \u003ca href=\"https://iscinumpy.dev/post/packaging-faster\"\u003ehttps://iscinumpy.dev/post/packaging-faster\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/900\"\u003epypa/packaging#900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata by \u003ca href=\"https://github.com/brettcannon\"\u003e\u003ccode\u003e@​brettcannon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/948\"\u003epypa/packaging#948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport writing metadata by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/846\"\u003epypa/packaging#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e for \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1003\"\u003epypa/packaging#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifier\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1004\"\u003epypa/packaging#1004\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/897\"\u003epypa/packaging#897\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/942\"\u003epypa/packaging#942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/951\"\u003epypa/packaging#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/932\"\u003epypa/packaging#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/954\"\u003epypa/packaging#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparsions by \u003ca href=\"https://github.com/JP-Ellis\"\u003e\u003ccode\u003e@​JP-Ellis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/939\"\u003epypa/packaging#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e by \u003ca href=\"https://github.com/dholth\"\u003e\u003ccode\u003e@​dholth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/860\"\u003epypa/packaging#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/896\"\u003epypa/packaging#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/868\"\u003epypa/packaging#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e by \u003ca href=\"https://github.com/bwoodsend\"\u003e\u003ccode\u003e@​bwoodsend\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/879\"\u003epypa/packaging#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format by \u003ca href=\"https://github.com/di\"\u003e\u003ccode\u003e@​di\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/925\"\u003epypa/packaging#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon by \u003ca href=\"https://github.com/pradyunsg\"\u003e\u003ccode\u003e@​pradyunsg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/833\"\u003epypa/packaging#833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/931\"\u003epypa/packaging#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/953\"\u003epypa/packaging#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA root logger use found by ruff LOG, use \u003ccode\u003epackaging\u003c/code\u003e logger instead by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/965\"\u003epypa/packaging#965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1022\"\u003epypa/packaging#1022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1024\"\u003epypa/packaging#1024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1033\"\u003epypa/packaging#1033\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup by \u003ca href=\"https://github.com/hauntsaninja\"\u003e\u003ccode\u003e@​hauntsaninja\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1019\"\u003epypa/packaging#1019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/869\"\u003epypa/packaging#869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/bearomorphism\"\u003e\u003ccode\u003e@​bearomorphism\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/913\"\u003epypa/packaging#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003es in specifier comparison by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/986\"\u003epypa/packaging#986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eSpecifier\u003c/code\u003e's Version by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/985\"\u003epypa/packaging#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/987\"\u003epypa/packaging#987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/990\"\u003epypa/packaging#990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/988\"\u003epypa/packaging#988\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1055\"\u003epypa/packaging#1055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/989\"\u003epypa/packaging#989\u003c/a\u003e and regression for \u003ccode\u003epackaging_legacy\u003c/code\u003e fixed by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1048\"\u003epypa/packaging#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/993\"\u003epypa/packaging#993\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efullmatch\u003c/code\u003e in a couple more places by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/992\"\u003epypa/packaging#992\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/blob/main/CHANGELOG.rst\"\u003epackaging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e26.0 - 2026-01-20\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nFeatures:\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock (:pull:\u003ccode\u003e900\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata (:pull:\u003ccode\u003e948\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport for writing metadata to a file (:pull:\u003ccode\u003e846\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e on Version (:pull:\u003ccode\u003e1003\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e1004\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e897\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e951\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version (:pull:\u003ccode\u003e932\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. (:pull:\u003ccode\u003e954\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparisons (:pull:\u003ccode\u003e939\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e (:pull:\u003ccode\u003e860\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e (:pull:\u003ccode\u003e896\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e (:pull:\u003ccode\u003e868\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e (:pull:\u003ccode\u003e879\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format (:pull:\u003ccode\u003e925\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon (:pull:\u003ccode\u003e833\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions (:pull:\u003ccode\u003e931\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string (:pull:\u003ccode\u003e953\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eA root logger use found, use a \u003ccode\u003epackaging\u003c/code\u003e logger instead (:pull:\u003ccode\u003e965\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e (:pull:\u003ccode\u003e1022\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first (:pull:\u003ccode\u003e1024\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct (:pull:\u003ccode\u003e1033\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup (:pull:\u003ccode\u003e1019\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e (:pull:\u003ccode\u003e869\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e913\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003e's in specifier comparison (:pull:\u003ccode\u003e986\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCache the \u003ccode\u003eSpecifier\u003c/code\u003e's \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e985\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster (:pull:\u003ccode\u003e987\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup (:pull:\u003ccode\u003e990\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ for \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e988\u003c/code\u003e, :pull:\u003ccode\u003e1055\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e989\u003c/code\u003e, :pull:\u003ccode\u003e1048\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e (:pull:\u003ccode\u003e993\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ere.fullmatch\u003c/code\u003e in a couple more places (:pull:\u003ccode\u003e992\u003c/code\u003e, :pull:\u003ccode\u003e1029\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003emap\u003c/code\u003e instead of generator (:pull:\u003ccode\u003e996\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003e._version\u003c/code\u003e (\u003ccode\u003e_Version\u003c/code\u003e, a \u003ccode\u003eNamedTuple\u003c/code\u003e) (:pull:\u003ccode\u003e995\u003c/code\u003e, :pull:\u003ccode\u003e1062\u003c/code\u003e)\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/3b77a26f5a27473ad3b08194d773f325d018a2d0\"\u003e\u003ccode\u003e3b77a26\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/31371cce593d2bde0dd8c436ecfb7d53cb91cfb6\"\u003e\u003ccode\u003e31371cc\u003c/code\u003e\u003c/a\u003e docs: prepare for 26.0 final (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/9627a8821f09e4c55cd6e9daadb617b67c4741c2\"\u003e\u003ccode\u003e9627a88\u003c/code\u003e\u003c/a\u003e perf: dual replace (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1064\"\u003e#1064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/d5398b8bc19f3fad7b035ceb83023caf06d6e2da\"\u003e\u003ccode\u003ed5398b8\u003c/code\u003e\u003c/a\u003e fix: restore ._version as a compat shim (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1062\"\u003e#1062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/3a7b600a126d237b2ad3cd7e25d2cb5c176276af\"\u003e\u003ccode\u003e3a7b600\u003c/code\u003e\u003c/a\u003e Bump for development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/d4eefdccf992e963c48011875301d93df6a7f2cc\"\u003e\u003ccode\u003ed4eefdc\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/46189124fb43d8989d370902c80ab156eb83a45d\"\u003e\u003ccode\u003e4618912\u003c/code\u003e\u003c/a\u003e docs: prepare for 26.0rc3 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1060\"\u003e#1060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/0cf1b41b4b321ae08cad7d3e49cfaff5578fe813\"\u003e\u003ccode\u003e0cf1b41\u003c/code\u003e\u003c/a\u003e ci: test on first public release of CPythons (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1056\"\u003e#1056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/716beb1c0a5d7a398bf57fbd80bc2501811e616b\"\u003e\u003ccode\u003e716beb1\u003c/code\u003e\u003c/a\u003e perf:  10% faster stripping zeros (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/350a2306700b738f487f251efa278f532b263dee\"\u003e\u003ccode\u003e350a230\u003c/code\u003e\u003c/a\u003e fix: support CPython 3.11.0-3.11.4 and older PyPy3.11 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/packaging/compare/25.0...26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azureml-mlflow` from 1.62.0.post1 to 1.62.0.post2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Azure/MachineLearningNotebooks/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anyio` from 4.12.1 to 4.13.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.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ettl\u003c/code\u003e parameter to the \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e wrapper (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1073\"\u003e#1073\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Graeme22\"\u003e\u003ccode\u003e@​Graeme22\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWidened the type annotations of file I/O streams to accept \u003ccode\u003eIO[bytes]\u003c/code\u003e instead of just \u003ccode\u003eBinaryIO\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1078\"\u003e#1078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.Path\u003c/code\u003e not being compatible with Python 3.15 due to the removal of \u003ccode\u003epathlib.Path.is_reserved()\u003c/code\u003e and the addition of \u003ccode\u003epathlib.Path.__vfspath__()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1061\"\u003e#1061\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eBrokenResourceError\u003c/code\u003e raised by the asyncio \u003ccode\u003eSocketStream\u003c/code\u003e not having the original exception as its cause (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1055\"\u003e#1055\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eTypeError\u003c/code\u003e raised when using \u0026quot;func\u0026quot; as a parameter name in \u003ccode\u003epytest.mark.parametrize\u003c/code\u003e when using the pytest plugin (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1068\"\u003e#1068\u003c/a\u003e; PR by \u003ca href=\"https://github.com/JohnnyDeuss\"\u003e\u003ccode\u003e@​JohnnyDeuss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the pytest plugin not running tests that had the \u003ccode\u003eanyio\u003c/code\u003e marker added programmatically via \u003ccode\u003epytest_collection_modifyitems\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/422\"\u003e#422\u003c/a\u003e; PR by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when they are contained in an exception group alongside non-cancellation exceptions (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1091\"\u003e#1091\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCondition.wait()\u003c/code\u003e not passing on a notification when the task is cancelled but already received a notification\u003c/li\u003e\n\u003cli\u003eFixed inverted condition in the process pool shutdown phase which would cause still-running pooled processes not to be terminated (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1074\"\u003e#1074\u003c/a\u003e; PR by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\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/agronholm/anyio/commit/afbe93ca9d0c447adf26e9c1715ac20870622bf2\"\u003e\u003ccode\u003eafbe93c\u003c/code\u003e\u003c/a\u003e Bumped up the version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/33bdf2e4b4f40c2df178123746147a6d2471808d\"\u003e\u003ccode\u003e33bdf2e\u003c/code\u003e\u003c/a\u003e Rearranged the changelog entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/19e09e25bc5a23dd78a577d8c3909dd377057c78\"\u003e\u003ccode\u003e19e09e2\u003c/code\u003e\u003c/a\u003e Fixed inverted condition in _forcibly_shutdown_process_pool_on_exit (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1074\"\u003e#1074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/9369d80b9e8292f2a892a9d5c73923c6a28aa08c\"\u003e\u003ccode\u003e9369d80\u003c/code\u003e\u003c/a\u003e Fixed Condition.wait() not handing over notification when cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/6f122abdc6f6b166c6b6ac27d36d55cdf8fa08e8\"\u003e\u003ccode\u003e6f122ab\u003c/code\u003e\u003c/a\u003e Fixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/beaa45aff568a4020f2faf317321dd92f0e1f4a0\"\u003e\u003ccode\u003ebeaa45a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://...\n\n_Description has been truncated_","html_url":"https://github.com/microsoft/physical-ai-toolchain/pull/375","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fphysical-ai-toolchain/issues/375","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/375/packages"}},{"old_version":"23.0.0","new_version":"23.0.1","update_type":"patch","path":"/ci/builder","pr_created_at":"2026-03-30T11:15:24.000Z","version_change":"23.0.0 → 23.0.1","issue":{"uuid":"4169838406","node_id":"PR_kwDOGsm7qs7OlUMm","number":195,"state":"open","title":"build(deps): bump the simple group in /ci/builder with 14 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-30T11:15:24.000Z","updated_at":"2026-03-30T11:15:33.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"simple","update_count":14,"packages":[{"name":"boto3-stubs","old_version":"1.41.5","new_version":"1.42.77","repository_url":"https://github.com/youtype/mypy_boto3_builder"},{"name":"boto3","old_version":"1.41.5","new_version":"1.42.77","repository_url":"https://github.com/boto/boto3"},{"name":"click","old_version":"8.1.3","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"cryptography","old_version":"46.0.5","new_version":"46.0.6","repository_url":"https://github.com/pyca/cryptography"},{"name":"matplotlib-stubs","old_version":"0.3.4","new_version":"0.3.11","repository_url":"https://github.com/hoel-bagard/matplotlib-stubs"},{"name":"networkx","old_version":"3.4.2","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"numpy","old_version":"2.4.2","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"ruamel-yaml","old_version":"0.18.17","new_version":"0.19.1"},{"name":"ruff","old_version":"0.0.292","new_version":"0.15.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"scipy-stubs","old_version":"1.15.3.0","new_version":"1.17.1.3","repository_url":"https://github.com/scipy/scipy-stubs"},{"name":"types-requests","old_version":"2.32.4.20260324","new_version":"2.33.0.20260327","repository_url":"https://github.com/python/typeshed"},{"name":"pyarrow","old_version":"23.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"minio","old_version":"7.2.15","new_version":"7.2.20","repository_url":"https://github.com/minio/minio-py"},{"name":"build","old_version":"1.4.0","new_version":"1.4.2","repository_url":"https://github.com/pypa/build"}],"path":"/ci/builder","ecosystem":"pip"},"body":"Bumps the simple group in /ci/builder with 14 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [boto3-stubs](https://github.com/youtype/mypy_boto3_builder) | `1.41.5` | `1.42.77` |\n| [boto3](https://github.com/boto/boto3) | `1.41.5` | `1.42.77` |\n| [click](https://github.com/pallets/click) | `8.1.3` | `8.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.5` | `46.0.6` |\n| [matplotlib-stubs](https://github.com/hoel-bagard/matplotlib-stubs) | `0.3.4` | `0.3.11` |\n| [networkx](https://github.com/networkx/networkx) | `3.4.2` | `3.6.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.4.2` | `2.4.3` |\n| ruamel-yaml | `0.18.17` | `0.19.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.0.292` | `0.15.8` |\n| [scipy-stubs](https://github.com/scipy/scipy-stubs) | `1.15.3.0` | `1.17.1.3` |\n| [types-requests](https://github.com/python/typeshed) | `2.32.4.20260324` | `2.33.0.20260327` |\n| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `23.0.1` |\n| [minio](https://github.com/minio/minio-py) | `7.2.15` | `7.2.20` |\n| [build](https://github.com/pypa/build) | `1.4.0` | `1.4.2` |\n\nUpdates `boto3-stubs` from 1.41.5 to 1.42.77\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/youtype/mypy_boto3_builder/releases\"\u003eboto3-stubs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.8.0 - Python 3.8 runtime is back\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e \u003ccode\u003einstall_requires\u003c/code\u003e section is calculated based on dependencies in use, so \u003ccode\u003etyping-extensions\u003c/code\u003e version is set properly\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Replaced \u003ccode\u003etyping\u003c/code\u003e imports with \u003ccode\u003ecollections.abc\u003c/code\u003e with a fallback to \u003ccode\u003etyping\u003c/code\u003e for Python \u0026lt;3.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Added aliases for \u003ccode\u003ebuiltins.list\u003c/code\u003e, \u003ccode\u003ebuiltins.set\u003c/code\u003e, \u003ccode\u003ebuiltins.dict\u003c/code\u003e, and \u003ccode\u003ebuiltins.type\u003c/code\u003e, so Python 3.8 runtime should work as expected again (reported by \u003ca href=\"https://github.com/YHallouard\"\u003e\u003ccode\u003e@​YHallouard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/340\"\u003e#340\u003c/a\u003e and \u003ca href=\"https://github.com/Omri-Ben-Yair\"\u003e\u003ccode\u003e@​Omri-Ben-Yair\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/336\"\u003e#336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Unions use the same type annotations as the rest of the structures due to proper fallbacks\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Universal input/output shapes were not replaced properly in service subresources\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[docs]\u003c/code\u003e Simplified doc links rendering for services\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Cleaned up unnecessary imports in \u003ccode\u003eclient.pyi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[builder]\u003c/code\u003e Import records with fallback are always rendered\u003c/li\u003e\n\u003c/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/youtype/mypy_boto3_builder/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.41.5 to 1.42.77\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/48369eaf9203ac46d0621f2a6506cbfa369c3cff\"\u003e\u003ccode\u003e48369ea\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.77'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/4398c8e0aee88fe1c5aacb415683e75ccde1b3a3\"\u003e\u003ccode\u003e4398c8e\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.77\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7c449e2e3bfea638a8cf9892ba8096ec1ff4d565\"\u003e\u003ccode\u003e7c449e2\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ee6c3e4e4ccc20774293d6b4022a17abe495a28f\"\u003e\u003ccode\u003eee6c3e4\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.76'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/a5ad9c3e75cf3ace6b3368c60c9b325d33ca2975\"\u003e\u003ccode\u003ea5ad9c3\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.76' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1abf6403e3a0a63520ca4b3db62428061ef17cf2\"\u003e\u003ccode\u003e1abf640\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.76\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0a383d48644414ba8077266cada12c6c14e53050\"\u003e\u003ccode\u003e0a383d4\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/aaab8ce51f5a50acce5db318cf5376049bb75892\"\u003e\u003ccode\u003eaaab8ce\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.75'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9ee6523920b2ea7eedbb2ea955573b019474f985\"\u003e\u003ccode\u003e9ee6523\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.75' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/a0efc54b87d7fd71246aaac8c89939f76a12a1e5\"\u003e\u003ccode\u003ea0efc54\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.75\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.41.5...1.42.77\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.3 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in \u003ccode\u003eCliRunner\u003c/code\u003e. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5a085468\"\u003e\u003ccode\u003ebd131e1\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0b5c6b75f617e6ee2f9f6dcd071b8a4bf183d1ed\"\u003e\u003ccode\u003e0b5c6b7\u003c/code\u003e\u003c/a\u003e Add Best practices section  (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3127\"\u003e#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.3...8.3.1\"\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.5 to 46.0.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.6 - 2026-03-25\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **SECURITY ISSUE**: Fixed a bug where name constraints were not applied\n  to peer names during verification when the leaf certificate contains a\n  wildcard DNS SAN. Ordinary X.509 topologies are not affected by this bug,\n  including those used by the Web PKI. Credit to **Oleh Konko (1seal)** for\n  reporting the issue. **CVE-2026-34073**\n\u003cp\u003e.. _v46-0-5:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/91d728897bdad30cd5c79a2b23e207f1f050d587\"\u003e\u003ccode\u003e91d7288\u003c/code\u003e\u003c/a\u003e Cherry-pick \u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14542\"\u003e#14542\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyca/cryptography/compare/46.0.5...46.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib-stubs` from 0.3.4 to 0.3.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/releases\"\u003ematplotlib-stubs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.11\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.10\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix broken import in \u003ccode\u003ematplotlib.pyplot.plot_date\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.xlim\u003c/code\u003e and \u003ccode\u003ematplotlib.pyplot.ylim\u003c/code\u003e overloads, including datetime support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.axes.Axes.set_xticks\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.axes.Axes.bar\u003c/code\u003e to support datetime sequences\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.5\u003c/h2\u003e\n\u003cp\u003eFix \u003ccode\u003ematplotlib.pyplot.plot\u003c/code\u003e to allow using datetime sequences.\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/hoel-bagard/matplotlib-stubs/blob/master/CHANGELOG.md\"\u003ematplotlib-stubs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.11 - 2025-10-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd type hints for \u003ccode\u003ematplotlib.pyplot\u003c/code\u003e's \u003ccode\u003eshow\u003c/code\u003e, \u003ccode\u003etight_layout\u003c/code\u003e, \u003ccode\u003ebar\u003c/code\u003e, \u003ccode\u003exticks\u003c/code\u003e and \u003ccode\u003eyticks\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.10 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.loglog\u003c/code\u003e type hints\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.9 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix broken import in \u003ccode\u003ematplotlib.pyplot.plot_date\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.8 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.xlim\u003c/code\u003e and \u003ccode\u003ematplotlib.pyplot.ylim\u003c/code\u003e overloads, including datetime support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.7 - 2025-10-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.axhline\u003c/code\u003e's kwargs type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 - 2025-10-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.axes.Axes.set_xticks\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.axes.Axes.bar\u003c/code\u003e to support datetime sequences\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 - 2025-10-14\u003c/h2\u003e\n\u003cp\u003eFix \u003ccode\u003ematplotlib.pyplot.plot\u003c/code\u003e to allow using datetime sequences.\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/hoel-bagard/matplotlib-stubs/commit/59fdaf216331aa54996e5f1149e6ee096ca63557\"\u003e\u003ccode\u003e59fdaf2\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/b85c0f74cd4587d8f9ccdb0a65639981ca29bfaa\"\u003e\u003ccode\u003eb85c0f7\u003c/code\u003e\u003c/a\u003e feat: add type hints for show, tight_layout, bar, xticks and yticks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/8afc8f4122949daaa447febe9b715feaaa13da59\"\u003e\u003ccode\u003e8afc8f4\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/f9de850ed9f5662672ec663e2b88619b42d34e5a\"\u003e\u003ccode\u003ef9de850\u003c/code\u003e\u003c/a\u003e feat: add type hints to plt.loglog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/4ffefa652da3881b576823b003e695d8c4ad0dbe\"\u003e\u003ccode\u003e4ffefa6\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/e6a54149513cf96fab1c8e35ae1589a5106a46c2\"\u003e\u003ccode\u003ee6a5414\u003c/code\u003e\u003c/a\u003e fix: broken import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/90b7235400fd1467a85ccf3ff06a5c068cd4e410\"\u003e\u003ccode\u003e90b7235\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/af0f45827cda237040c46dd126530a0971e41758\"\u003e\u003ccode\u003eaf0f458\u003c/code\u003e\u003c/a\u003e feat: add xlim and ylim overloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/5d5ab771404092929deacaef66cc8efe625a4752\"\u003e\u003ccode\u003e5d5ab77\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/5f5a9e46f14de1072f07eb865af4d552a553672c\"\u003e\u003ccode\u003e5f5a9e4\u003c/code\u003e\u003c/a\u003e fix: add axhline kwargs type\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/compare/v0.3.4...v0.3.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `networkx` from 3.4.2 to 3.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networkx/networkx/releases\"\u003enetworkx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNetworkX 3.6.1\u003c/h2\u003e\n\u003ch1\u003enetworkx 3.6.1\u003c/h1\u003e\n\u003cp\u003eWe're happy to announce the release of networkx 3.6.1!\u003c/p\u003e\n\u003ch2\u003eAPI Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNodelists for \u003ccode\u003efrom_biadjacency_matrix\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7993\"\u003e#7993\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix draw_networkx_nodes with list node_shape and add regression test (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8363\"\u003e#8363\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8369\"\u003e#8369\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDOC: Improve benchmarking readme (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8358\"\u003e#8358\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: More details re: RC releases in the release process devdocs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8346\"\u003e#8346\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tutorial (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8300\"\u003e#8300\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Add blurb to contributor guide about drawing tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8370\"\u003e#8370\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Fix underline lens in docstrings (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8371\"\u003e#8371\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8373\"\u003e#8373\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMaintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMAINT: Replace string literal with comment (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8359\"\u003e#8359\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the actions group (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8360\"\u003e#8360\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003epin python 3.14 to be version 3.14.0 until dataclasses are fixed (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8365\"\u003e#8365\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBlocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8372\"\u003e#8372\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTST: add tests for unsupported graph types in MST algorithms (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8353\"\u003e#8353\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eTST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8364\"\u003e#8364\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e10 authors added to this release (alphabetically):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Aka2210\"\u003e\u003ccode\u003e@​Aka2210\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jfinkels\"\u003e\u003ccode\u003e@​jfinkels\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaorTIRAM\"\u003e\u003ccode\u003e@​NaorTIRAM\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAditi Juneja (\u003ca href=\"https://github.com/Schefflera-Arboricola\"\u003e\u003ccode\u003e@​Schefflera-Arboricola\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlejandro Candioti (\u003ca href=\"https://github.com/amcandio\"\u003e\u003ccode\u003e@​amcandio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColman Bouton (\u003ca href=\"https://github.com/LorentzFactor\"\u003e\u003ccode\u003e@​LorentzFactor\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/networkx/networkx/commit/7530809bfa1ea7ed6fdf918a4d1431488953cb1f\"\u003e\u003ccode\u003e7530809\u003c/code\u003e\u003c/a\u003e Designate 3.6.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/4788eb08f2492dd6bf6f97ce8ee07cd52aa6cf89\"\u003e\u003ccode\u003e4788eb0\u003c/code\u003e\u003c/a\u003e Rolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8373\"\u003e#8373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/696edb6efbbbb622959e96f1276fc0db68dc0954\"\u003e\u003ccode\u003e696edb6\u003c/code\u003e\u003c/a\u003e Fix draw_networkx_nodes with list node_shape and add regression test  (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8363\"\u003e#8363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/c38830c61a6fee3ee10f216071bb63cb9b92bfb9\"\u003e\u003ccode\u003ec38830c\u003c/code\u003e\u003c/a\u003e Blocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8372\"\u003e#8372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/81d231141b08600ebfd1c781e28ecbf791e94016\"\u003e\u003ccode\u003e81d2311\u003c/code\u003e\u003c/a\u003e DOC: Fix underline lens in docstrings. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8371\"\u003e#8371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/a6e2bfadef51dda47df6466b32642e0d428c5801\"\u003e\u003ccode\u003ea6e2bfa\u003c/code\u003e\u003c/a\u003e DOC: Add blurb to contributor guide about drawing tests. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8370\"\u003e#8370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/96b628295eff29d266e1c75355556fc9fe58cc16\"\u003e\u003ccode\u003e96b6282\u003c/code\u003e\u003c/a\u003e DOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/75bdd737ca8382d06eb76ff9018a81870c9f3443\"\u003e\u003ccode\u003e75bdd73\u003c/code\u003e\u003c/a\u003e Fix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8369\"\u003e#8369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/7663fa5e5fd73d6921410a18c7ac4116ffa04f4d\"\u003e\u003ccode\u003e7663fa5\u003c/code\u003e\u003c/a\u003e TST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8364\"\u003e#8364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/3dacd1bdcbd976b9e148a60ddebafd868c0a52f3\"\u003e\u003ccode\u003e3dacd1b\u003c/code\u003e\u003c/a\u003e Add spectral bipartition community finding and greedy bipartition using node ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/networkx/networkx/compare/networkx-3.4.2...networkx-3.6.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.4.2 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\u003c/blockquote\u003e\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.4.2...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruamel-yaml` from 0.18.17 to 0.19.1\n\nUpdates `ruff` from 0.0.292 to 0.15.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c2a8815842f9dc5d24ec19385eae0f1a7188b0d9\"\u003e\u003ccode\u003ec2a8815\u003c/code\u003e\u003c/a\u003e Release 0.15.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24217\"\u003e#24217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d444d52e2b9cc8bc9a078c2bd4ff6ff993290209\"\u003e\u003ccode\u003ed444d52\u003c/code\u003e\u003c/a\u003e [ty] Infer lambda expressions with \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22633\"\u003e#22633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9622285ed0081fc688149f6efca87f127d9b18dd\"\u003e\u003ccode\u003e9622285\u003c/code\u003e\u003c/a\u003e [ty] Autocomplete arguments if in arguments node (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24167\"\u003e#24167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d81266252aaf0820346d55edbed79c4f25ba13d2\"\u003e\u003ccode\u003ed812662\u003c/code\u003e\u003c/a\u003e Use the \u003ccode\u003erelease\u003c/code\u003e environment in \u003ccode\u003epublish-docs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24214\"\u003e#24214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/eda2355832f7a9c58aef6febd3e061dc9c87509a\"\u003e\u003ccode\u003eeda2355\u003c/code\u003e\u003c/a\u003e [ty] Show \u003ccode\u003eFinal\u003c/code\u003e source in final assignment diagnostic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24194\"\u003e#24194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/929eb5238c82bfadad4549ff526f02efc0163dd0\"\u003e\u003ccode\u003e929eb52\u003c/code\u003e\u003c/a\u003e [ty] Enforce Final attribute assignment rules for annotated and augmented wri...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/34998be22ec3a77d398bbd55234ef8740f768329\"\u003e\u003ccode\u003e34998be\u003c/code\u003e\u003c/a\u003e [ty] Fix typo in comment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24211\"\u003e#24211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/560aca0b2828ee2ff1b4bcc5c5ef1ef4ced229d2\"\u003e\u003ccode\u003e560aca0\u003c/code\u003e\u003c/a\u003e [ty] Minor simplifications to some benchmark code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24209\"\u003e#24209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/683bae512d03d3727a7bcdbc5a0170dafa049583\"\u003e\u003ccode\u003e683bae5\u003c/code\u003e\u003c/a\u003e [ty] Track non-terminal-call constraints in global scope (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23245\"\u003e#23245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4704c2a4ff3dde2fd29324346720e9516b4fe387\"\u003e\u003ccode\u003e4704c2a\u003c/code\u003e\u003c/a\u003e [ty] Remove unnecessary intermediate collection in `StaticClassLiteral::field...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/v0.0.292...0.15.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy-stubs` from 1.15.3.0 to 1.17.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy-stubs/releases\"\u003escipy-stubs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.17.1.3\u003c/h2\u003e\n\u003cp\u003eThis release targets \u003ca href=\"https://github.com/scipy/scipy/releases/tag/v1.17.1\"\u003eSciPy 1.17.1\u003c/a\u003e and supports Python 3.11-3.14, \u003ca href=\"https://github.com/numpy/numpy\"\u003eNumPy\u003c/a\u003e 1.26-2.4, and \u003ca href=\"https://github.com/jorenham/optype\"\u003eoptype\u003c/a\u003e 0.14-0.18.\u003c/p\u003e\n\u003ch1\u003e:trophy: Release Highlights\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fixed several issues with \u003ccode\u003escipy.sparse\u003c/code\u003e arrays and matrices for certain slicing and multi-indexing operations (see \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1454\"\u003escipy/scipy-stubs#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e✨ Many improved function signatures (shape-typing, input-dependent return dtypes) in \u003ccode\u003escipy.io\u003c/code\u003e, \u003ccode\u003escipy.linalg\u003c/code\u003e, \u003ccode\u003escipy.ndimage\u003c/code\u003e, \u003ccode\u003escipy.signal\u003c/code\u003e, and \u003ccode\u003escipy.stats\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e✅ Increased the type-testing coverage from 84.0% to 87.7%. The goal is to reach 100% coverage in the near future. For the current progress and per-module coverage, see \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1099\"\u003escipy/scipy-stubs#1099\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e✨ Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003endimage\u003c/code\u003e: improved morphology functions by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1458\"\u003escipy/scipy-stubs#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elinalg.interpolative\u003c/code\u003e: improved shape-typing and dtypes by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1459\"\u003escipy/scipy-stubs#1459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elinalg\u003c/code\u003e: improved \u003ccode\u003esvdvals\u003c/code\u003e and \u003ccode\u003esubspace_angles\u003c/code\u003e shape-types and dtypes by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1460\"\u003escipy/scipy-stubs#1460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003endimage\u003c/code\u003e: improved interpolation functions by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1461\"\u003escipy/scipy-stubs#1461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: improve \u003ccode\u003e{g,h,p}mean\u003c/code\u003e by adding 3*26 overloads by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1463\"\u003escipy/scipy-stubs#1463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: improved \u003ccode\u003eiqr\u003c/code\u003e dtypes by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1464\"\u003escipy/scipy-stubs#1464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: improved \u003ccode\u003ezmap\u003c/code\u003e dtypes and shape-typing by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1465\"\u003escipy/scipy-stubs#1465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eio\u003c/code\u003e: improved \u003ccode\u003eMMFile.{read,write}\u003c/code\u003e signatures by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1467\"\u003escipy/scipy-stubs#1467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: minor improvements to some filter design functions by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1475\"\u003escipy/scipy-stubs#1475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: improved LTI conversion functions dtypes (\u003ccode\u003e_lti_conversion\u003c/code\u003e) by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1477\"\u003escipy/scipy-stubs#1477\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esparse\u003c/code\u003e: fix sparse array/matrix sliced index assignment by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1456\"\u003escipy/scipy-stubs#1456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esparse\u003c/code\u003e: fix sparse array/matrix mixed multi-index assignment by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1457\"\u003escipy/scipy-stubs#1457\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📝 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd movement to the list of downstream projects by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1462\"\u003escipy/scipy-stubs#1462\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✅ Testing\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003eCovariance\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1468\"\u003escipy/scipy-stubs#1468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003echatterjeexi\u003c/code\u003e and \u003ccode\u003espearmanrho\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1469\"\u003escipy/scipy-stubs#1469\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test remaining resampling functions and classes by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1470\"\u003escipy/scipy-stubs#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003edirichlet_multinomial\u003c/code\u003e  and \u003ccode\u003ematrix_t\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1471\"\u003escipy/scipy-stubs#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003erv_histogram\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1472\"\u003escipy/scipy-stubs#1472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003enew_distributions\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1473\"\u003escipy/scipy-stubs#1473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estats\u003c/code\u003e: test \u003ccode\u003eabs\u003c/code\u003e and \u003ccode\u003eMixture\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1474\"\u003escipy/scipy-stubs#1474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: test the remaining filter design functions (\u003ccode\u003e_filter_design\u003c/code\u003e) by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1476\"\u003escipy/scipy-stubs#1476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: test \u003ccode\u003edetrend\u003c/code\u003e, \u003ccode\u003eresidue[z]\u003c/code\u003e, and \u003ccode\u003einvres[z]\u003c/code\u003e by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1478\"\u003escipy/scipy-stubs#1478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esignal\u003c/code\u003e: test remaining waveform functions by \u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/pull/1479\"\u003escipy/scipy-stubs#1479\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/scipy/scipy-stubs/commit/6bb5184d6869edd3957399c3ef72f0db9fc53690\"\u003e\u003ccode\u003e6bb5184\u003c/code\u003e\u003c/a\u003e 🔖 scipy-stubs 1.17.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/38d5286101eba47843041ca813c59e604feb9a6b\"\u003e\u003ccode\u003e38d5286\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1479\"\u003e#1479\u003c/a\u003e from scipy:signal._waveforms/tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/84ddb4e3eb28d50d04a58abd69aa5c02e1f160a3\"\u003e\u003ccode\u003e84ddb4e\u003c/code\u003e\u003c/a\u003e ✅ \u003ccode\u003esignal\u003c/code\u003e: test remaainiang waveform functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/8d2113f2ee63660f87f6006efbc2594de2176300\"\u003e\u003ccode\u003e8d2113f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1478\"\u003e#1478\u003c/a\u003e from scipy:signal._signaltools/tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/eb410588331ca61fc43e0ca207c1caf2940ab6dc\"\u003e\u003ccode\u003eeb41058\u003c/code\u003e\u003c/a\u003e ✅ \u003ccode\u003esignal\u003c/code\u003e: test \u003ccode\u003edetrend\u003c/code\u003e, \u003ccode\u003eresidue[z]\u003c/code\u003e, and \u003ccode\u003einvres[z]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/40fa398f70c00288f9e6285ba978c2039610f5b2\"\u003e\u003ccode\u003e40fa398\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy-stubs/issues/1477\"\u003e#1477\u003c/a\u003e from scipy:signal._lti_conversion/improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/e8dfe75ed11e51ea006ad1968b819d0b1f41fc7d\"\u003e\u003ccode\u003ee8dfe75\u003c/code\u003e\u003c/a\u003e ✨ \u003ccode\u003esignal\u003c/code\u003e: improved \u003ccode\u003ess2zpk\u003c/code\u003e dtypes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/eb07f678745c17e9751bf007a11bcd067614890c\"\u003e\u003ccode\u003eeb07f67\u003c/code\u003e\u003c/a\u003e ✨ \u003ccode\u003esignal\u003c/code\u003e: improved \u003ccode\u003ezpk2ss\u003c/code\u003e dtypes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/b4cc11bf7611843dfa89fe9b1fa36a1674d01415\"\u003e\u003ccode\u003eb4cc11b\u003c/code\u003e\u003c/a\u003e ✨ \u003ccode\u003esignal\u003c/code\u003e: improved \u003ccode\u003eabcd_normalize\u003c/code\u003e dtypes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy-stubs/commit/6c90b7bf4a412b84bb447f13c86bdf35f9947c4b\"\u003e\u003ccode\u003e6c90b7b\u003c/code\u003e\u003c/a\u003e ✨ \u003ccode\u003esignal\u003c/code\u003e: improved \u003ccode\u003ess2tf\u003c/code\u003e dtypes and shape-typing\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy-stubs/compare/v1.15.3.0...v1.17.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `types-requests` from 2.32.4.20260324 to 2.33.0.20260327\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/python/typeshed/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 23.0.0 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-23.0.0...apache-arrow-23.0.1\"\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.15 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 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\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\u003ch2\u003eBugfix Release\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/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:...\n\n_Description has been truncated_","html_url":"https://github.com/pH14/materialize/pull/195","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pH14%2Fmaterialize/issues/195","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/195/packages"}},{"old_version":"22.0.0","new_version":"23.0.1","update_type":"major","path":null,"pr_created_at":"2026-03-30T03:37:37.000Z","version_change":"22.0.0 → 23.0.1","issue":{"uuid":"4166923266","node_id":"PR_kwDORckIoM7OeJ1f","number":371,"state":"closed","title":"security(deps): bump the training-dependencies group across 1 directory with 66 updates","user":"dependabot[bot]","labels":["dependencies","python","training"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-03-30T21:52:23.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-30T03:37:37.000Z","updated_at":"2026-03-30T21:52:25.000Z","time_to_close":65686,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"security(deps): bump","group_name":"training-dependencies","update_count":66,"packages":[{"name":"numpy","old_version":"2.4.3","new_version":"2.4.4","repository_url":"https://github.com/numpy/numpy"},{"name":"azure-core","old_version":"1.38.3","new_version":"1.39.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-blob","old_version":"12.27.1","new_version":"12.28.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"marshmallow","old_version":"3.26.2","new_version":"4.2.3","repository_url":"https://github.com/marshmallow-code/marshmallow"},{"name":"mlflow","old_version":"3.9.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"cryptography","old_version":"46.0.5","new_version":"46.0.6","repository_url":"https://github.com/pyca/cryptography"},{"name":"azureml-mlflow","old_version":"1.62.0.post1","new_version":"1.62.0.post2","repository_url":"https://github.com/Azure/MachineLearningNotebooks"},{"name":"anyio","old_version":"4.12.1","new_version":"4.13.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"attrs","old_version":"25.4.0","new_version":"26.1.0","repository_url":"https://github.com/python-attrs/attrs"},{"name":"azure-monitor-opentelemetry","old_version":"1.8.6","new_version":"1.8.7","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-monitor-opentelemetry-exporter","old_version":"1.0.0b48","new_version":"1.0.0b49","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-file-datalake","old_version":"12.22.0","new_version":"12.23.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"cachetools","old_version":"6.2.6","new_version":"7.0.5","repository_url":"https://github.com/tkem/cachetools"},{"name":"cuda-bindings","old_version":"12.9.4","new_version":"13.2.0","repository_url":"https://github.com/NVIDIA/cuda-python"},{"name":"cuda-pathfinder","old_version":"1.4.3","new_version":"1.5.0","repository_url":"https://github.com/NVIDIA/cuda-python"},{"name":"databricks-sdk","old_version":"0.100.0","new_version":"0.102.0","repository_url":"https://github.com/databricks/databricks-sdk-py"},{"name":"fastapi","old_version":"0.135.1","new_version":"0.135.2","repository_url":"https://github.com/fastapi/fastapi"},{"name":"fsspec","old_version":"2026.2.0","new_version":"2026.3.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"gunicorn","old_version":"23.0.0","new_version":"25.3.0","repository_url":"https://github.com/benoitc/gunicorn"},{"name":"importlib-metadata","old_version":"8.7.1","new_version":"9.0.0","repository_url":"https://github.com/python/importlib_metadata"},{"name":"mlflow-skinny","old_version":"3.9.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mlflow-tracing","old_version":"3.9.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/mpmath/mpmath"},{"name":"nvidia-cublas-cu12","old_version":"12.8.4.1","new_version":"12.9.2.10"},{"name":"nvidia-cuda-cupti-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cuda-nvrtc-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-cuda-runtime-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cudnn-cu12","old_version":"9.10.2.21","new_version":"9.20.0.48"},{"name":"nvidia-cufft-cu12","old_version":"11.3.3.83","new_version":"11.4.1.4"},{"name":"nvidia-cufile-cu12","old_version":"1.13.1.3","new_version":"1.14.1.1"},{"name":"nvidia-curand-cu12","old_version":"10.3.9.90","new_version":"10.3.10.19"},{"name":"nvidia-cusolver-cu12","old_version":"11.7.3.90","new_version":"11.7.5.82"},{"name":"nvidia-cusparse-cu12","old_version":"12.5.8.93","new_version":"12.5.10.65"},{"name":"nvidia-cusparselt-cu12","old_version":"0.7.1","new_version":"0.8.1"},{"name":"nvidia-ml-py","old_version":"13.590.48","new_version":"13.595.45"},{"name":"nvidia-nccl-cu12","old_version":"2.27.5","new_version":"2.29.7"},{"name":"nvidia-nvjitlink-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-nvshmem-cu12","old_version":"3.4.5","new_version":"3.6.5"},{"name":"nvidia-nvtx-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"onnx","old_version":"1.20.1","new_version":"1.21.0","repository_url":"https://github.com/onnx/onnx"},{"name":"opentelemetry-api","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-asgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-dbapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-django","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-fastapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-flask","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-psycopg2","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-wsgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-util-http","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"protobuf","old_version":"6.33.6","new_version":"7.34.1","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"pyarrow","old_version":"22.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.44.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pytz","old_version":"2025.2","new_version":"2026.1.post1","repository_url":"https://github.com/stub42/pytz"},{"name":"starlette","old_version":"0.52.1","new_version":"1.0.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"torch","old_version":"2.10.0","new_version":"2.11.0","repository_url":"https://github.com/pytorch/pytorch"},{"name":"torchvision","old_version":"0.25.0","new_version":"0.26.0","repository_url":"https://github.com/pytorch/vision"},{"name":"werkzeug","old_version":"3.1.6","new_version":"3.1.7","repository_url":"https://github.com/pallets/werkzeug"},{"name":"wrapt","old_version":"1.17.3","new_version":"2.1.2","repository_url":"https://github.com/GrahamDumpleton/wrapt"}],"path":null,"ecosystem":"pip"},"body":"Bumps the training-dependencies group with 66 updates in the /training/rl directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `2.4.3` | `2.4.4` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.3` | `1.39.0` |\n| [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python) | `12.27.1` | `12.28.0` |\n| [marshmallow](https://github.com/marshmallow-code/marshmallow) | `3.26.2` | `4.2.3` |\n| [mlflow](https://github.com/mlflow/mlflow) | `3.9.0` | `3.10.1` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.5` | `46.0.6` |\n| [azureml-mlflow](https://github.com/Azure/MachineLearningNotebooks) | `1.62.0.post1` | `1.62.0.post2` |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.1` | `4.13.0` |\n| [attrs](https://github.com/python-attrs/attrs) | `25.4.0` | `26.1.0` |\n| [azure-monitor-opentelemetry](https://github.com/Azure/azure-sdk-for-python) | `1.8.6` | `1.8.7` |\n| [azure-monitor-opentelemetry-exporter](https://github.com/Azure/azure-sdk-for-python) | `1.0.0b48` | `1.0.0b49` |\n| [azure-storage-file-datalake](https://github.com/Azure/azure-sdk-for-python) | `12.22.0` | `12.23.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.6` | `7.0.5` |\n| [cuda-bindings](https://github.com/NVIDIA/cuda-python) | `12.9.4` | `13.2.0` |\n| [cuda-pathfinder](https://github.com/NVIDIA/cuda-python) | `1.4.3` | `1.5.0` |\n| [databricks-sdk](https://github.com/databricks/databricks-sdk-py) | `0.100.0` | `0.102.0` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.135.1` | `0.135.2` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2026.2.0` | `2026.3.0` |\n| [gunicorn](https://github.com/benoitc/gunicorn) | `23.0.0` | `25.3.0` |\n| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.7.1` | `9.0.0` |\n| [mlflow-skinny](https://github.com/mlflow/mlflow) | `3.9.0` | `3.10.1` |\n| [mlflow-tracing](https://github.com/mlflow/mlflow) | `3.9.0` | `3.10.1` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.1` |\n| [nvidia-cublas-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.4.1` | `12.9.2.10` |\n| [nvidia-cuda-cupti-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cuda-nvrtc-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-cuda-runtime-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cudnn-cu12](https://developer.nvidia.com/cuda-zone) | `9.10.2.21` | `9.20.0.48` |\n| [nvidia-cufft-cu12](https://developer.nvidia.com/cuda-zone) | `11.3.3.83` | `11.4.1.4` |\n| [nvidia-cufile-cu12](https://developer.nvidia.com/cuda-zone) | `1.13.1.3` | `1.14.1.1` |\n| [nvidia-curand-cu12](https://developer.nvidia.com/cuda-zone) | `10.3.9.90` | `10.3.10.19` |\n| [nvidia-cusolver-cu12](https://developer.nvidia.com/cuda-zone) | `11.7.3.90` | `11.7.5.82` |\n| [nvidia-cusparse-cu12](https://developer.nvidia.com/cuda-zone) | `12.5.8.93` | `12.5.10.65` |\n| [nvidia-cusparselt-cu12](https://developer.nvidia.com/cusparselt) | `0.7.1` | `0.8.1` |\n| [nvidia-ml-py](https://forums.developer.nvidia.com) | `13.590.48` | `13.595.45` |\n| [nvidia-nccl-cu12](https://developer.nvidia.com/cuda-zone) | `2.27.5` | `2.29.7` |\n| [nvidia-nvjitlink-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-nvshmem-cu12](https://developer.nvidia.com/cuda-zone) | `3.4.5` | `3.6.5` |\n| [nvidia-nvtx-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [onnx](https://github.com/onnx/onnx) | `1.20.1` | `1.21.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-asgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-dbapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-django](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-flask](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-psycopg2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-wsgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b0` | `0.61b0` |\n| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.6` | `7.34.1` |\n| [pyarrow](https://github.com/apache/arrow) | `22.0.0` | `23.0.1` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.44.0` |\n| [pytz](https://github.com/stub42/pytz) | `2025.2` | `2026.1.post1` |\n| [starlette](https://github.com/Kludex/starlette) | `0.52.1` | `1.0.0` |\n| [torch](https://github.com/pytorch/pytorch) | `2.10.0` | `2.11.0` |\n| [torchvision](https://github.com/pytorch/vision) | `0.25.0` | `0.26.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.6` | `3.1.7` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.2` |\n\n\nUpdates `numpy` from 2.4.3 to 2.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.4 (Mar 29, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.4 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.4 is a patch release that fixes bugs discovered after the 2.4.3\nrelease. It should finally close issue \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30816\"\u003e#30816\u003c/a\u003e, the OpenBLAS threading problem\non ARM.\u003c/p\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 8 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eDaniel Haag +\u003c/li\u003e\n\u003cli\u003eDenis Prokopenko +\u003c/li\u003e\n\u003cli\u003eHarshith J +\u003c/li\u003e\n\u003cli\u003eKoki Watanabe\u003c/li\u003e\n\u003cli\u003eMarten van Kerkwijk\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 7 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30978\"\u003e#30978\u003c/a\u003e: MAINT: Prepare 2.4.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31049\"\u003e#31049\u003c/a\u003e: BUG: Add test to reproduce problem described in \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30816\"\u003e#30816\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30818\"\u003e#30818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31052\"\u003e#31052\u003c/a\u003e: BUG: fix FNV-1a 64-bit selection by using NPY_SIZEOF_UINTP (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31035\"\u003e#31035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31053\"\u003e#31053\u003c/a\u003e: BUG: avoid warning on ufunc with where=True and no output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31058\"\u003e#31058\u003c/a\u003e: DOC: document caveats of ndarray.resize on 3.14 and newer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31079\"\u003e#31079\u003c/a\u003e: TST: fix POWER VSX feature mapping (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30801\"\u003e#30801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31084\"\u003e#31084\u003c/a\u003e: MAINT: numpy.i: Replace deprecated \u003ccode\u003esprintf\u003c/code\u003e with \u003ccode\u003esnprintf\u003c/code\u003e...\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/be93fe2960dbf49b4647f5783c66d967fb2c65b5\"\u003e\u003ccode\u003ebe93fe2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31090\"\u003e#31090\u003c/a\u003e from charris/prepare-2.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f5245dc7ea5c6279c59cb0d5de81113229841290\"\u003e\u003ccode\u003ef5245dc\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/02e838ba270a5ca3dd8afc5a31c090cd34a56615\"\u003e\u003ccode\u003e02e838b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31084\"\u003e#31084\u003c/a\u003e from charris/backport-31056\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/fa74b2d05f8f7604bf6635d5280c3216c8ec667f\"\u003e\u003ccode\u003efa74b2d\u003c/code\u003e\u003c/a\u003e MAINT: numpy.i: Replace deprecated \u003ccode\u003esprintf\u003c/code\u003e with \u003ccode\u003esnprintf\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31056\"\u003e#31056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/533a6db96dfa2556a61102a58c35fd64eaf3fa2b\"\u003e\u003ccode\u003e533a6db\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31079\"\u003e#31079\u003c/a\u003e from charris/backport-20801\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9e496cbd0a281195bd779ae1833f2a8f4a1d46a7\"\u003e\u003ccode\u003e9e496cb\u003c/code\u003e\u003c/a\u003e TST: fix POWER VSX feature mapping (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30801\"\u003e#30801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/8052c4b69ef18e582709af946f93f9e58b848f39\"\u003e\u003ccode\u003e8052c4b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31058\"\u003e#31058\u003c/a\u003e from charris/backport-31021\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7f13b5ad2b69fd6ea6aa3af7036b2dcf98e96486\"\u003e\u003ccode\u003e7f13b5a\u003c/code\u003e\u003c/a\u003e MAINT: Skip test on PyPy.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/4c5fdd66c8f379a1e2b3f40fa62bd0b87769d1c7\"\u003e\u003ccode\u003e4c5fdd6\u003c/code\u003e\u003c/a\u003e MAINT: Remove unused import of tracemalloc.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a3ca5ed354b26e0fd6e35bf29765a24271ed7c3a\"\u003e\u003ccode\u003ea3ca5ed\u003c/code\u003e\u003c/a\u003e Update numpy/_core/src/multiarray/shape.c\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.4.3...v2.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-core` from 1.38.3 to 1.39.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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-core_1.39.0\u003c/h2\u003e\n\u003ch2\u003e1.39.0 (2026-03-18)\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChanged the previously undocumented \u003ccode\u003eazure_cloud\u003c/code\u003e setting environment variable from \u003ccode\u003eAZURE_CLOUD\u003c/code\u003e to \u003ccode\u003eAZURE_SDK_CLOUD_CONF\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/Azure/azure-sdk-for-python/commit/dee80a8fd745ddab91933f05e795cf41e10ab8fe\"\u003e\u003ccode\u003edee80a8\u003c/code\u003e\u003c/a\u003e Changed the \u003ccode\u003eazure_cloud\u003c/code\u003e setting environment variable (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45763\"\u003e#45763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/a2d11701462371d3f8b38b935f77f2e5070a5bf7\"\u003e\u003ccode\u003ea2d1170\u003c/code\u003e\u003c/a\u003e Increment package version after release of azure-core (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45671\"\u003e#45671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-core_1.38.3...azure-core_1.39.0\"\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.27.1 to 12.28.0\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.27.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 `marshmallow` from 3.26.2 to 4.2.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/marshmallow-code/marshmallow/blob/dev/CHANGELOG.rst\"\u003emarshmallow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.3 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003emarshmallow.fields.Number\u003c/code\u003e and \u003ccode\u003emarshmallow.fields.Mapping\u003c/code\u003e abstract base classes to\nprevent using them within Schemas (:issue:\u003ccode\u003e2924\u003c/code\u003e). Thanks :user:\u003ccode\u003eMartingaleCoda\u003c/code\u003e for reporting.\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003erequired\u003c/code\u003e to be set on \u003ccode\u003emarshmallow.fields.Contant\u003c/code\u003e (:issue:\u003ccode\u003e2900\u003c/code\u003e).\nThanks :user:\u003ccode\u003enosnickid\u003c/code\u003e for the report and :user:\u003ccode\u003eworksbyfriday\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003emarshmallow.validate.OneOf\u003c/code\u003e emitting extra pairs when labels outnumber choices (:issue:\u003ccode\u003e2869\u003c/code\u003e).\nThanks: user:\u003ccode\u003eT90REAL\u003c/code\u003e for the report and :user:\u003ccode\u003erstar327\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eFix behavior when passing a dot-delimited attribute name to \u003ccode\u003epartial\u003c/code\u003e for a key with \u003ccode\u003edata_key\u003c/code\u003e set (:pr:\u003ccode\u003e2903\u003c/code\u003e).\nThanks :user:\u003ccode\u003ebysiber\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eFix Enum field by-name lookup to only return actual members (:pr:\u003ccode\u003e2902\u003c/code\u003e).\nThanks :user:\u003ccode\u003ebysiber\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emarshmallow.fields.DateTime\u003c/code\u003e with \u003ccode\u003eformat=\u0026quot;timestamp_ms\u0026quot;\u003c/code\u003e properly\nrejects bool values (:pr:\u003ccode\u003e2904\u003c/code\u003e). Thanks :user:\u003ccode\u003ebysiber\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eFix typing of \u003ccode\u003eerror_essages\u003c/code\u003e argument to \u003ccode\u003emarshmallow.fields.Field\u003c/code\u003e (:pr:\u003ccode\u003e1636\u003c/code\u003e).\nThanks :user:\u003ccode\u003erepole\u003c/code\u003e for reporting and :user:\u003ccode\u003edhruvildarji\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eipaddress.*\u003c/code\u003e to \u003ccode\u003emarshmallow.Schema.TYPE_MAPPING\u003c/code\u003e (:issue:\u003ccode\u003e1695\u003c/code\u003e).\nThanks :user:\u003ccode\u003eliberforce\u003c/code\u003e for the suggestion and :user:\u003ccode\u003edhruvildarji\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.2 (2026-02-04)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix behavior of \u003ccode\u003efields.Contant(None)\u003c/code\u003e (:issue:\u003ccode\u003e2868\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for reporting and \u003ccode\u003eemmanuel-ferdman\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.1 (2026-01-23)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix validation of URLs beginning with uppercare \u003ccode\u003eFILE\u003c/code\u003e (:issue:\u003ccode\u003e2891\u003c/code\u003e).\nThanks :user:\u003ccode\u003ethanhlecongg\u003c/code\u003e for reporting and fixing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.0 (2026-01-04)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emany\u003c/code\u003e argument of \u003ccode\u003eNested\u003c/code\u003e properly overrides schema instance\nvalue (:pr:\u003ccode\u003e2854\u003c/code\u003e). Thanks :user:\u003ccode\u003ejafournier\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/be7379775a2e94ebbe22f8ada83e5cce745e964c\"\u003e\u003ccode\u003ebe73797\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c38b48ec3b8bb44315036d0c8a07bc8477eb5094\"\u003e\u003ccode\u003ec38b48e\u003c/code\u003e\u003c/a\u003e Add ipaddress types to Schema.TYPE_MAPPING (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2906\"\u003e#2906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/3bc191ab3c8cac8356839bcde0918cb6aed4d3a1\"\u003e\u003ccode\u003e3bc191a\u003c/code\u003e\u003c/a\u003e Fix Field.error_messages type to allow dict and list values (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2907\"\u003e#2907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c530f85f05a99665c7b803533734069b79a00c84\"\u003e\u003ccode\u003ec530f85\u003c/code\u003e\u003c/a\u003e Update package metadata to comply with PEP 639 (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2926\"\u003e#2926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/72ac4a04208ff24df0a9694d9b03b78b1c5a2e6a\"\u003e\u003ccode\u003e72ac4a0\u003c/code\u003e\u003c/a\u003e Reject booleans in from_timestamp_ms, consistent with from_timestamp (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2904\"\u003e#2904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/024b5d09e9f026f0f96d220e243be69346687ce0\"\u003e\u003ccode\u003e024b5d0\u003c/code\u003e\u003c/a\u003e Fix Enum field by-name lookup to only return actual members (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2902\"\u003e#2902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/252090c7c707166cf4fcfcdc73eb4376b7bbc4b7\"\u003e\u003ccode\u003e252090c\u003c/code\u003e\u003c/a\u003e Fix nested partial to use attr_name instead of data_key for prefix (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2903\"\u003e#2903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/65374df0c31cdc45acc4435741779298201306a2\"\u003e\u003ccode\u003e65374df\u003c/code\u003e\u003c/a\u003e Fix OneOf.options() emitting phantom entries when labels outnumber choices (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/070dde08bad456e743a0d2e1842c142a799a9568\"\u003e\u003ccode\u003e070dde0\u003c/code\u003e\u003c/a\u003e Fix Constant field with required=True raising ValueError (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2901\"\u003e#2901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/fea5428567960f15be0c9a3a4b99c0d9bb63848c\"\u003e\u003ccode\u003efea5428\u003c/code\u003e\u003c/a\u003e Make Number and Mapping abstract base classes (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2925\"\u003e#2925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/marshmallow-code/marshmallow/compare/3.26.2...4.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow` from 3.9.0 to 3.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/releases\"\u003emlflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gateway] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.10.0, which includes several notable updates:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.1 (2026-03-05)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.10.0 (2026-02-20)\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/mlflow/mlflow/commit/cadc323c059d08ee15c3a312afd0eefeeccedc94\"\u003e\u003ccode\u003ecadc323\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1 (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21396\"\u003e#21396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3d17d6c58e1e0078c062321322fc76b1b822ab6d\"\u003e\u003ccode\u003e3d17d6c\u003c/code\u003e\u003c/a\u003e Add back virtualenv to fix the docker build until the next release (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3cfc12fe1359afbade834a74f57e0bbe2ef4531c\"\u003e\u003ccode\u003e3cfc12f\u003c/code\u003e\u003c/a\u003e Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/bcaad26df7e825fe15d4deffa0f05478e010bc10\"\u003e\u003ccode\u003ebcaad26\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/ff3249ff8a5f62e344f382d5fcdb419379780c78\"\u003e\u003ccode\u003eff3249f\u003c/code\u003e\u003c/a\u003e Update GenAI link and video in the getting started page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1591d038ae47271382fddd2b8653286af7c31138\"\u003e\u003ccode\u003e1591d03\u003c/code\u003e\u003c/a\u003e Persist AI Gateway default passphrase security banner dismissal to localStora...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/32979c9e560346a54d05ba7ff53434f215c5958f\"\u003e\u003ccode\u003e32979c9\u003c/code\u003e\u003c/a\u003e Demote unused parameters log message from WARNING to DEBUG in instructions ju...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/18eeea03c3d0af5b915bb3880a71198b5123e0bd\"\u003e\u003ccode\u003e18eeea0\u003c/code\u003e\u003c/a\u003e Make simulator explicitly avoid stating goal in first message (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/42d4356e18c0c2548ff3b290b11f36a992530d9d\"\u003e\u003ccode\u003e42d4356\u003c/code\u003e\u003c/a\u003e Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1a14934cc0116ddd91fb693e2b52bed12683521a\"\u003e\u003ccode\u003e1a14934\u003c/code\u003e\u003c/a\u003e Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.9.0...v3.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 25.0 to 26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0\u003c/h2\u003e\n\u003cp\u003eRead about the performance improvements here: \u003ca href=\"https://iscinumpy.dev/post/packaging-faster\"\u003ehttps://iscinumpy.dev/post/packaging-faster\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/900\"\u003epypa/packaging#900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata by \u003ca href=\"https://github.com/brettcannon\"\u003e\u003ccode\u003e@​brettcannon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/948\"\u003epypa/packaging#948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport writing metadata by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/846\"\u003epypa/packaging#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e for \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1003\"\u003epypa/packaging#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifier\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1004\"\u003epypa/packaging#1004\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/897\"\u003epypa/packaging#897\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/942\"\u003epypa/packaging#942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/951\"\u003epypa/packaging#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/932\"\u003epypa/packaging#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/954\"\u003epypa/packaging#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparsions by \u003ca href=\"https://github.com/JP-Ellis\"\u003e\u003ccode\u003e@​JP-Ellis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/939\"\u003epypa/packaging#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e by \u003ca href=\"https://github.com/dholth\"\u003e\u003ccode\u003e@​dholth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/860\"\u003epypa/packaging#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/896\"\u003epypa/packaging#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/868\"\u003epypa/packaging#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e by \u003ca href=\"https://github.com/bwoodsend\"\u003e\u003ccode\u003e@​bwoodsend\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/879\"\u003epypa/packaging#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format by \u003ca href=\"https://github.com/di\"\u003e\u003ccode\u003e@​di\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/925\"\u003epypa/packaging#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon by \u003ca href=\"https://github.com/pradyunsg\"\u003e\u003ccode\u003e@​pradyunsg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/833\"\u003epypa/packaging#833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/931\"\u003epypa/packaging#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/953\"\u003epypa/packaging#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA root logger use found by ruff LOG, use \u003ccode\u003epackaging\u003c/code\u003e logger instead by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/965\"\u003epypa/packaging#965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1022\"\u003epypa/packaging#1022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1024\"\u003epypa/packaging#1024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1033\"\u003epypa/packaging#1033\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup by \u003ca href=\"https://github.com/hauntsaninja\"\u003e\u003ccode\u003e@​hauntsaninja\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1019\"\u003epypa/packaging#1019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/869\"\u003epypa/packaging#869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/bearomorphism\"\u003e\u003ccode\u003e@​bearomorphism\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/913\"\u003epypa/packaging#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003es in specifier comparison by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/986\"\u003epypa/packaging#986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eSpecifier\u003c/code\u003e's Version by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/985\"\u003epypa/packaging#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/987\"\u003epypa/packaging#987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/990\"\u003epypa/packaging#990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/988\"\u003epypa/packaging#988\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1055\"\u003epypa/packaging#1055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/989\"\u003epypa/packaging#989\u003c/a\u003e and regression for \u003ccode\u003epackaging_legacy\u003c/code\u003e fixed by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1048\"\u003epypa/packaging#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/993\"\u003epypa/packaging#993\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efullmatch\u003c/code\u003e in a couple more places by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/992\"\u003epypa/packaging#992\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/blob/main/CHANGELOG.rst\"\u003epackaging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e26.0 - 2026-01-20\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nFeatures:\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock (:pull:\u003ccode\u003e900\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata (:pull:\u003ccode\u003e948\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport for writing metadata to a file (:pull:\u003ccode\u003e846\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e on Version (:pull:\u003ccode\u003e1003\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e1004\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e897\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e951\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version (:pull:\u003ccode\u003e932\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. (:pull:\u003ccode\u003e954\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparisons (:pull:\u003ccode\u003e939\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e (:pull:\u003ccode\u003e860\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e (:pull:\u003ccode\u003e896\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e (:pull:\u003ccode\u003e868\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e (:pull:\u003ccode\u003e879\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format (:pull:\u003ccode\u003e925\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon (:pull:\u003ccode\u003e833\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions (:pull:\u003ccode\u003e931\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string (:pull:\u003ccode\u003e953\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eA root logger use found, use a \u003ccode\u003epackaging\u003c/code\u003e logger instead (:pull:\u003ccode\u003e965\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e (:pull:\u003ccode\u003e1022\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first (:pull:\u003ccode\u003e1024\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct (:pull:\u003ccode\u003e1033\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup (:pull:\u003ccode\u003e1019\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e (:pull:\u003ccode\u003e869\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e913\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003e's in specifier comparison (:pull:\u003ccode\u003e986\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCache the \u003ccode\u003eSpecifier\u003c/code\u003e's \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e985\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster (:pull:\u003ccode\u003e987\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup (:pull:\u003ccode\u003e990\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ for \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e988\u003c/code\u003e, :pull:\u003ccode\u003e1055\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e989\u003c/code\u003e, :pull:\u003ccode\u003e1048\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e (:pull:\u003ccode\u003e993\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ere.fullmatch\u003c/code\u003e in a couple more places (:pull:\u003ccode\u003e992\u003c/code\u003e, :pull:\u003ccode\u003e1029\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003emap\u003c/code\u003e instead of generator (:pull:\u003ccode\u003e996\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003e._version\u003c/code\u003e (\u003ccode\u003e_Version\u003c/code\u003e, a \u003ccode\u003eNamedTuple\u003c/code\u003e) (:pull:\u003ccode\u003e995\u003c/code\u003e, :pull:\u003ccode\u003e1062\u003c/code\u003e)\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/3b77a26f5a27473ad3b08194d773f325d018a2d0\"\u003e\u003ccode\u003e3b77a26\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/31371cce593d2bde0dd8c436ecfb7d53cb91cfb6\"\u003e\u003ccode\u003e31371cc\u003c/code\u003e\u003c/a\u003e docs: prepare for 26.0 final (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/9627a8821f09e4c55cd6e9daadb617b67c4741c2\"\u003e\u003ccode\u003e9627a88\u003c/code\u003e\u003c/a\u003e perf: dual replace (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1064\"\u003e#1064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/d5398b8bc19f3fad7b035ceb83023caf06d6e2da\"\u003e\u003ccode\u003ed5398b8\u003c/code\u003e\u003c/a\u003e fix: restore ._version as a compat shim (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1062\"\u003e#1062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/3a7b600a126d237b2ad3cd7e25d2cb5c176276af\"\u003e\u003ccode\u003e3a7b600\u003c/code\u003e\u003c/a\u003e Bump for development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/d4eefdccf992e963c48011875301d93df6a7f2cc\"\u003e\u003ccode\u003ed4eefdc\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/46189124fb43d8989d370902c80ab156eb83a45d\"\u003e\u003ccode\u003e4618912\u003c/code\u003e\u003c/a\u003e docs: prepare for 26.0rc3 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1060\"\u003e#1060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/0cf1b41b4b321ae08cad7d3e49cfaff5578fe813\"\u003e\u003ccode\u003e0cf1b41\u003c/code\u003e\u003c/a\u003e ci: test on first public release of CPythons (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1056\"\u003e#1056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/716beb1c0a5d7a398bf57fbd80bc2501811e616b\"\u003e\u003ccode\u003e716beb1\u003c/code\u003e\u003c/a\u003e perf:  10% faster stripping zeros (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/350a2306700b738f487f251efa278f532b263dee\"\u003e\u003ccode\u003e350a230\u003c/code\u003e\u003c/a\u003e fix: support CPython 3.11.0-3.11.4 and older PyPy3.11 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/packaging/compare/25.0...26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 46.0.5 to 46.0.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.6 - 2026-03-25\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **SECURITY ISSUE**: Fixed a bug where name constraints were not applied\n  to peer names during verification when the leaf certificate contains a\n  wildcard DNS SAN. Ordinary X.509 topologies are not affected by this bug,\n  including those used by the Web PKI. Credit to **Oleh Konko (1seal)** for\n  reporting the issue. **CVE-2026-34073**\n\u003cp\u003e.. _v46-0-5:\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/91d728897bdad30cd5c79a2b23e207f1f050d587\"\u003e\u003ccode\u003e91d7288\u003c/code\u003e\u003c/a\u003e Cherry-pick \u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14542\"\u003e#14542\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyca/cryptography/compare/46.0.5...46.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azureml-mlflow` from 1.62.0.post1 to 1.62.0.post2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Azure/MachineLearningNotebooks/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anyio` from 4.12.1 to 4.13.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.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ettl\u003c/code\u003e parameter to the \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e wrapper (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1073\"\u003e#1073\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Graeme22\"\u003e\u003ccode\u003e@​Graeme22\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWidened the type annotations of file I/O streams to accept \u003ccode\u003eIO[bytes]\u003c/code\u003e instead of just \u003ccode\u003eBinaryIO\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1078\"\u003e#1078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.Path\u003c/code\u003e not being compatible with Python 3.15 due to the removal of \u003ccode\u003epathlib.Path.is_reserved()\u003c/code\u003e and the addition of \u003ccode\u003epathlib.Path.__vfspath__()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1061\"\u003e#1061\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eBrokenResourceError\u003c/code\u003e raised by the asyncio \u003ccode\u003eSocketStream\u003c/code\u003e not having the original exception as its cause (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1055\"\u003e#1055\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eTypeError\u003c/code\u003e raised when using \u0026quot;func\u0026quot; as a parameter name in \u003ccode\u003epytest.mark.parametrize\u003c/code\u003e when using the pytest plugin (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1068\"\u003e#1068\u003c/a\u003e; PR by \u003ca href=\"https://github.com/JohnnyDeuss\"\u003e\u003ccode\u003e@​JohnnyDeuss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the pytest plugin not running tests that had the \u003ccode\u003eanyio\u003c/code\u003e marker added programmatically via \u003ccode\u003epytest_collection_modifyitems\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/422\"\u003e#422\u003c/a\u003e; PR by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when they are contained in an exception group alongside non-cancellation exceptions (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1091\"\u003e#1091\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCondition.wait()\u003c/code\u003e not passing on a notification when the task is cancelled but already received a notification\u003c/li\u003e\n\u003cli\u003eFixed inverted condition in the process pool shutdown phase which would cause still-running pooled processes not to be terminated (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1074\"\u003e#1074\u003c/a\u003e; PR by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\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/agronholm/anyio/commit/afbe93ca9d0c447adf2...\n\n_Description has been truncated_","html_url":"https://github.com/microsoft/physical-ai-toolchain/pull/371","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fphysical-ai-toolchain/issues/371","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/371/packages"}},{"old_version":"11.0.0","new_version":"14.0.1","update_type":"major","path":null,"pr_created_at":"2026-03-26T22:29:13.000Z","version_change":"11.0.0 → 14.0.1","issue":{"uuid":"4147732563","node_id":"PR_kwDOOK9uiM7N4GFn","number":151,"state":"open","title":"chore(deps): bump the pip group across 28 directories with 10 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-26T22:29:13.000Z","updated_at":"2026-04-08T04:51:50.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":10,"packages":[{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"pyarrow","old_version":"11.0.0","new_version":"14.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /alloydb/notebooks directory: [nbconvert](https://github.com/jupyter/nbconvert).\nBumps the pip group with 2 updates in the /appengine/standard/firebase/firenotes/backend directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 1 update in the /appengine/standard_python3/cloudsql directory: [flask](https://github.com/pallets/flask).\nBumps the pip group with 2 updates in the /bigquery/remote-function/document directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /bigquery/remote-function/translate directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /bigquery/remote-function/vision directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud-media-livestream/keypublisher directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud-sql/mysql/sqlalchemy directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud-sql/postgres/sqlalchemy directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud-sql/sql-server/sqlalchemy directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud_scheduler/snippets directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 6 updates in the /composer/2022_airflow_summit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [pyarrow](https://github.com/apache/arrow) | `11.0.0` | `14.0.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 5 updates in the /composer/airflow_1_samples directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `1.1.2` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `0.16.1` | `3.1.6` |\n| [pyarrow](https://github.com/apache/arrow) | `1.0.0` | `14.0.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `3.2.1` | `46.0.5` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `3.14.0` | `5.29.6` |\n\nBumps the pip group with 6 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [pyarrow](https://github.com/apache/arrow) | `11.0.0` | `14.0.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 5 updates in the /composer/workflows directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [cryptography](https://github.com/pyca/cryptography) | `41.0.7` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.53.0` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.25.3` | `5.29.6` |\n\nBumps the pip group with 1 update in the /compute/encryption directory: [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 2 updates in the /dataflow/flex-templates/pipeline_with_dependencies directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 3 updates in the /dataflow/gemma directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [protobuf](https://github.com/protocolbuffers/protobuf) and [keras](https://github.com/keras-team/keras).\nBumps the pip group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the pip group with 1 update in the /dataflow/run_template directory: [flask](https://github.com/pallets/flask).\nBumps the pip group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /functions/v2/response_streaming directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /gemma2 directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 2 updates in the /iap directory: [werkzeug](https://github.com/pallets/werkzeug) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\n\nUpdates `nbconvert` from 7.16.6 to 7.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/releases\"\u003enbconvert's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.17.0\u003c/h2\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\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/jupyter/nbconvert/blob/main/CHANGELOG.md\"\u003enbconvert's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/21b35d85b46f5ff0956d3d088a52b9bef00e8196\"\u003e\u003ccode\u003e21b35d8\u003c/code\u003e\u003c/a\u003e Publish 7.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003e\u003ccode\u003ec9ac1d1\u003c/code\u003e\u003c/a\u003e Fix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/b13276d80ae6fadbfda981304810e26f421c4ced\"\u003e\u003ccode\u003eb13276d\u003c/code\u003e\u003c/a\u003e avoid cov environment on free-threaded Pythons (\u003ca href=\"https://redirect.github.com/jupyter/nbconvert/issues/2267\"\u003e#2267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7c7055fe833fe9832e6f9a64fa5f67d66692c8d6\"\u003e\u003ccode\u003e7c7055f\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/74f3ddd37ef4b7ffb5eee9acbf52062217c15852\"\u003e\u003ccode\u003e74f3ddd\u003c/code\u003e\u003c/a\u003e Fix QtPNGExporter returning empty bytes on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/216550b2aae4c329f4dab597a96ae7cac30de79a\"\u003e\u003ccode\u003e216550b\u003c/code\u003e\u003c/a\u003e fix links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/39777ac5716350e994171d025a7369c58b0afc8c\"\u003e\u003ccode\u003e39777ac\u003c/code\u003e\u003c/a\u003e try to comment fialing test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7b591ca526f2598dbae3256a53765659c3edcf14\"\u003e\u003ccode\u003e7b591ca\u003c/code\u003e\u003c/a\u003e ruff-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/6ec7638a3dc7a0bc2c533c116202d7f9b07ce9d9\"\u003e\u003ccode\u003e6ec7638\u003c/code\u003e\u003c/a\u003e parent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/59414b36f94e318d4207e8af863167047d936c19\"\u003e\u003ccode\u003e59414b3\u003c/code\u003e\u003c/a\u003e fix mypy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...v7.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.0.0 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\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\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.0...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 3.0.3 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\u003ch2\u003e3.1.5\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.5 security fix release, which fixes security issues and 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/Werkzeug/3.1.5/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.5/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/43?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/43?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless of extension or surrounding spaces. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-87hc-h4r5-73f7\"\u003eGHSA-87hc-h4r5-73f7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3077\"\u003e#3077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with \u003ccode\u003epin_security=False\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3075\"\u003e#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.4\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.4 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/Werkzeug/3.1.4/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.4/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/42?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/42?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents reading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e already prevented writing to these. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2\"\u003eghsa-hgf8-39gv-g3f2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3020\"\u003e#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3054\"\u003e#3054\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3067\"\u003e#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available source lines. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3044\"\u003e#3044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the distinction between WSGI and sans-IO responses. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3056\"\u003e#3056\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.3/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/41?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/41?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts \u003ccode\u003elist\u003c/code\u003e, \u003ccode\u003etuple\u003c/code\u003e, or \u003ccode\u003eset\u003c/code\u003e when passing multiple values. It had been changed to accept any \u003ccode\u003eCollection\u003c/code\u003e, but this matched types that should be treated as single values, such as \u003ccode\u003ebytes\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2994\"\u003e#2994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen the \u003ccode\u003eHost\u003c/code\u003e header is not set and \u003ccode\u003eRequest.host\u003c/code\u003e falls back to the WSGI \u003ccode\u003eSERVER_NAME\u003c/code\u003e value, if that value is an IPv6 address it is wrapped in \u003ccode\u003e[]\u003c/code\u003e to match the \u003ccode\u003eHost\u003c/code\u003e header. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2993\"\u003e#2993\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.2/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/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\u003cli\u003e\u003ccode\u003eResponse.make_conditional\u003c/code\u003e sets the \u003ccode\u003eAccept-Ranges\u003c/code\u003e header even if it\nis not a satisfiable range request. :issue:\u003ccode\u003e3108\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.5\u003c/h2\u003e\n\u003cp\u003eReleased 2026-01-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless\nof extension or surrounding spaces. :ghsa:\u003ccode\u003e87hc-h4r5-73f7\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\nThis fixes the previous attempt, which caused incorrect content lengths.\n:issue:\u003ccode\u003e3065\u003c/code\u003e :issue:\u003ccode\u003e3077\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with\n\u003ccode\u003epin_security=False\u003c/code\u003e. :issue:\u003ccode\u003e3075\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.4\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-28\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents\nreading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e\nalready prevented writing to these. :ghsa:\u003ccode\u003ehgf8-39gv-g3f2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. :pr:\u003ccode\u003e3020\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\n:issue:\u003ccode\u003e3065\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. :issue:\u003ccode\u003e3054\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. :issue:\u003ccode\u003e3067\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available\nsource lines. :issue:\u003ccode\u003e3044\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the\ndistinction between WSGI and sans-IO responses. :issue:\u003ccode\u003e3056\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/werkzeug/compare/3.0.3...3.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.0.0 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\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\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.0...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` from 3.0.0 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\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\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/27be9338405382445a7cb01151e084559b98...\n\n_Description has been truncated_","html_url":"https://github.com/Reality2byte/python-docs-samples/pull/151","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reality2byte%2Fpython-docs-samples/issues/151","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/151/packages"}},{"old_version":"23.0.0","new_version":"23.0.1","update_type":"patch","path":null,"pr_created_at":"2026-03-24T08:52:53.000Z","version_change":"23.0.0 → 23.0.1","issue":{"uuid":"4126229300","node_id":"PR_kwDOQFtGkc7M7aw6","number":333,"state":"closed","title":"build(deps): bump the production group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-30T23:59:00.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-24T08:52:53.000Z","updated_at":"2026-03-30T23:59:02.000Z","time_to_close":572767,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"production","update_count":12,"packages":[{"name":"pandera","old_version":"0.22.1","new_version":"0.29.0","repository_url":"https://github.com/pandera-dev/pandera"},{"name":"numpy","old_version":"1.26.4","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"logbook","old_version":"1.8.2","new_version":"1.9.2","repository_url":"https://github.com/getlogbook/logbook"},{"name":"h5py","old_version":"3.15.1","new_version":"3.16.0","repository_url":"https://github.com/h5py/h5py"},{"name":"numpydantic","old_version":"1.7.0","new_version":"1.8.0","repository_url":"https://github.com/p2p-ld/numpydantic"},{"name":"jaxtyping","old_version":"0.2.38","new_version":"0.3.9","repository_url":"https://github.com/patrick-kidger/jaxtyping"},{"name":"polars","old_version":"1.37.1","new_version":"1.39.0","repository_url":"https://github.com/pola-rs/polars"},{"name":"pyarrow","old_version":"23.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"fsspec","old_version":"2026.1.0","new_version":"2026.2.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"pandapower","old_version":"3.1.2","new_version":"3.4.0","repository_url":"https://github.com/e2nIEE/pandapower"}],"path":null,"ecosystem":"pip"},"body":"Bumps the production group with 12 updates in the /packages/interfaces_pkg directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pandera](https://github.com/pandera-dev/pandera) | `0.22.1` | `0.29.0` |\n| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.4.3` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [logbook](https://github.com/getlogbook/logbook) | `1.8.2` | `1.9.2` |\n| [h5py](https://github.com/h5py/h5py) | `3.15.1` | `3.16.0` |\n| [numpydantic](https://github.com/p2p-ld/numpydantic) | `1.7.0` | `1.8.0` |\n| [jaxtyping](https://github.com/patrick-kidger/jaxtyping) | `0.2.38` | `0.3.9` |\n| [polars](https://github.com/pola-rs/polars) | `1.37.1` | `1.39.0` |\n| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `23.0.1` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2026.1.0` | `2026.2.0` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.1` |\n| [pandapower](https://github.com/e2nIEE/pandapower) | `3.1.2` | `3.4.0` |\n\n\nUpdates `pandera` from 0.22.1 to 0.29.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandera-dev/pandera/releases\"\u003epandera's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.29.0: support list, dict, and tuple of dataframes\u003c/h2\u003e\n\u003ch2\u003e⭐️ Highlight\u003c/h2\u003e\n\u003cp\u003ePandera now supports collection types containing dataframes, shoutout to \u003ca href=\"https://github.com/garethellis0\"\u003e\u003ccode\u003e@​garethellis0\u003c/code\u003e\u003c/a\u003e with an amazing first contribution!\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e@pa.check_types\r\ndef process_tuple_and_return_dict(\r\n    dfs: tuple[DataFrame[OnlyZeroesSchema], DataFrame[OnlyOnesSchema]],\r\n) -\u0026gt; dict[str, DataFrame[OnlyZeroesSchema]]:\r\n    return {\r\n        \u0026quot;foo\u0026quot;: dfs[0],\r\n        \u0026quot;bar\u0026quot;: dfs[0]\r\n    }\r\n\u003cp\u003eresult = process_tuple_and_return_dict((\npd.DataFrame({\u0026quot;a\u0026quot;: [0, 0]}),\npd.DataFrame({\u0026quot;a\u0026quot;: [1, 1]}),\n))\nprint(result)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeature/1078: Added Support For List, Dict, And Tuples Of Dataframes by \u003ca href=\"https://github.com/garethellis0\"\u003e\u003ccode\u003e@​garethellis0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2204\"\u003eunionai-oss/pandera#2204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epin sphinx version by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2208\"\u003eunionai-oss/pandera#2208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd map datatype to the Ibis engine implementation by \u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2206\"\u003eunionai-oss/pandera#2206\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/garethellis0\"\u003e\u003ccode\u003e@​garethellis0\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2204\"\u003eunionai-oss/pandera#2204\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.28.1...v0.29.0\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.28.1...v0.29.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.28.1: Fix regressions in Check behavior\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix bugs in Check interface and Field by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2203\"\u003eunionai-oss/pandera#2203\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.28.0...v0.28.1\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.28.0...v0.28.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease 0.28.0: Add support for Pyspark 4\u003c/h2\u003e\n\u003ch2\u003e⭐️ Highlight\u003c/h2\u003e\n\u003cp\u003ePandera now supports Pyspark 4 🚀\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(pyspark): restructure pyspark components by \u003ca href=\"https://github.com/ELC\"\u003e\u003ccode\u003e@​ELC\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2007\"\u003eunionai-oss/pandera#2007\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd support for pyspark 4 by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2193\"\u003eunionai-oss/pandera#2193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDecouple import dependencies for io serialization formats by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2195\"\u003eunionai-oss/pandera#2195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eget_annotations\u003c/code\u003e instead of direct \u003ccode\u003e__annotations__\u003c/code\u003e access by \u003ca href=\"https://github.com/amerberg\"\u003e\u003ccode\u003e@​amerberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2196\"\u003eunionai-oss/pandera#2196\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/unionai-oss/pandera/commit/7614754cb29f3495b1c1bc342e79176ebfa815be\"\u003e\u003ccode\u003e7614754\u003c/code\u003e\u003c/a\u003e Add map datatype to the Ibis engine implementation (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2206\"\u003e#2206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/8b87d0fd66a98a8525cfa6aae26facd566863712\"\u003e\u003ccode\u003e8b87d0f\u003c/code\u003e\u003c/a\u003e pin sphinx version (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2208\"\u003e#2208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/dc109085066c408a88a4d78e8b5a5daa06a55045\"\u003e\u003ccode\u003edc10908\u003c/code\u003e\u003c/a\u003e feature/1078: Added Support For List, Dict, And Tuples Of Dataframes (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2204\"\u003e#2204\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/71f860aa59ff6477134a1190d656f9d678574c9d\"\u003e\u003ccode\u003e71f860a\u003c/code\u003e\u003c/a\u003e fix bugs in Check interface and Field (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2203\"\u003e#2203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/82096dd7974de7531532ea7734c70030c27b859b\"\u003e\u003ccode\u003e82096dd\u003c/code\u003e\u003c/a\u003e schema descriptor should raise AttributeError if build_schema_ is not impleme...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/7055cbd38ee65259975249c48b25aa4c5b2a8327\"\u003e\u003ccode\u003e7055cbd\u003c/code\u003e\u003c/a\u003e Avoid full materialization of levels in failing MultiIndex validations (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2187\"\u003e#2187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/b69c6fa232d5e9bea39c84d1fb9116d95603043a\"\u003e\u003ccode\u003eb69c6fa\u003c/code\u003e\u003c/a\u003e Update .git-blame-ignore-revs to add Ruff refactor (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2199\"\u003e#2199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/42a2b3446eaf2a60d7945a5127072e720cc595b9\"\u003e\u003ccode\u003e42a2b34\u003c/code\u003e\u003c/a\u003e Support the \u003ccode\u003eDecimal\u003c/code\u003e data type in the Ibis engine (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2194\"\u003e#2194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/8c3b46ce02e5f723841072af4d2f5d280d11cca5\"\u003e\u003ccode\u003e8c3b46c\u003c/code\u003e\u003c/a\u003e Re-implement improvements to str_length check (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2198\"\u003e#2198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/8abbf2617918808e347c495f0270635c3ca10b73\"\u003e\u003ccode\u003e8abbf26\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003eget_annotations\u003c/code\u003e instead of direct \u003ccode\u003e__annotations__\u003c/code\u003e access (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2196\"\u003e#2196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandera-dev/pandera/compare/v0.22.1...v0.29.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 1.26.4 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/v1.26.4...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 2.3.3 to 3.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epandas 3.0.1\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.1.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/dev/whatsnew/v3.0.1.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003epandas 3.0.0\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.0, a major release from the pandas 2.x series. This release includes various new features, bug fixes, and performance improvements, as well as possible breaking changes.\u003c/p\u003e\n\u003cp\u003eThe pandas 3.0 release removed a functionality that was deprecated in previous releases. It is recommended to first upgrade to pandas 2.3 and to ensure your code is working without warnings, before upgrading to pandas 3.0.\u003c/p\u003e\n\u003cp\u003eHighlights include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-enhancements-string-dtype\"\u003eDedicated string data type by default\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-enhancements-copy_on_write\"\u003eConsistent copy/view behaviour with Copy-on-Write\u003c/a\u003e (CoW) (a.k.a. getting rid of the SettingWithCopyWarning)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-api-breaking-datetime-resolution-inference\"\u003eNew default resolution for datetime-like data\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-enhancements-col\"\u003eInitial support for the new \u003ccode\u003epd.col\u003c/code\u003e syntax\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/community/blog/pandas-3.0.html\"\u003eannouncement blog post\u003c/a\u003e and the \u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html\"\u003edetailed release notes\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues/new/choose\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003ePandas 3.0.0rc2\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ePandas 3.0.0rc1\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/pandas-dev/pandas/commit/e04b26f375035e5106cb913e47b6db612f4ebb11\"\u003e\u003ccode\u003ee04b26f\u003c/code\u003e\u003c/a\u003e RLS: 3.0.1  (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64206\"\u003e#64206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/47909e67760389ad32094b586eadcfceb52235b8\"\u003e\u003ccode\u003e47909e6\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] ENH: Add item() method to ExtensionArray class (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64134\"\u003e#64134\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64\"\u003e#64\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/a061bfd2f31ebba410ab87db475df651d02f8bcd\"\u003e\u003ccode\u003ea061bfd\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64199\"\u003e#64199\u003c/a\u003e on branch 3.0.x (DOC: cleanup 3.0.1 whatsnew) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64201\"\u003e#64201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/085a3856d362c4b849d84754cbc7005f2539dc54\"\u003e\u003ccode\u003e085a385\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: Fix read_hdf failing on generic datetime64 dtype (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/6400\"\u003e#6400\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/5f1704777bc2fe4864875d49b87d4e4cab417f30\"\u003e\u003ccode\u003e5f17047\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: use fill_null fallback for bug in pyarrow 21 on Windows...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/0d3a8cba13397e84606716f545f0afdce26172c4\"\u003e\u003ccode\u003e0d3a8cb\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64122\"\u003e#64122\u003c/a\u003e on branch 3.0.x (REG: Allow RE2 syntax in str.contains and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/78e1917e4d45dbea16636194b240a18b1a42bc97\"\u003e\u003ccode\u003e78e1917\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64185\"\u003e#64185\u003c/a\u003e on branch 3.0.x (TST: remove fixed xfail for PyArrow 23.0....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/75a42cabc9ff39b1ade4afabd0bc54b972d326b7\"\u003e\u003ccode\u003e75a42ca\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64168\"\u003e#64168\u003c/a\u003e on branch 3.0.x (TST: add legacy file generation and tests...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/46d443f9d603a0f65672182133e0e83f108afdcc\"\u003e\u003ccode\u003e46d443f\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64092\"\u003e#64092\u003c/a\u003e on branch 3.0.x (BUG: DataFrame.loc fills b'' instead of N...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/9d6793220be57edda0b9abb68dfa0b1740baf569\"\u003e\u003ccode\u003e9d67932\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64068\"\u003e#64068\u003c/a\u003e on branch 3.0.x (BUG: fixed to_timedelta with list of int ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v2.3.3...v3.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `logbook` from 1.8.2 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/getlogbook/logbook/releases\"\u003elogbook's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.2\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/getlogbook/logbook/blob/main/CHANGES\"\u003eCHANGES\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/getlogbook/logbook/blob/main/CHANGES\"\u003eCHANGES\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/getlogbook/logbook/blob/main/CHANGES\"\u003eCHANGES\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/getlogbook/logbook/blob/main/CHANGES\"\u003elogbook's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.2\u003c/h2\u003e\n\u003cp\u003eFixed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- When used as a context manager, handlers, flags, and processors would swallow\n  a raised ``BaseException`` and raise a ``TypeError`` `[#500](https://github.com/getlogbook/logbook/issues/500) \u0026lt;https://github.com/getlogbook/logbook/issues/500\u0026gt;`_.\n\u003ch2\u003eVersion 1.9.1\u003c/h2\u003e\n\u003cp\u003eFixed\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequired files were missing from the source distribution (sdist).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0\u003c/h2\u003e\n\u003cp\u003eAdded\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Python 3.14 support\n- Python 3.14 free-threading support (beta). This does not extend to all optional\n  dependencies. At the time of writing, the following extras are not supported due\n  to their dependencies pulling in C extensions which do not support free-threading:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebrotli\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enteventlog\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esqlalchemy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWheels are built for Windows ARM64\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanged\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe way handlers, flags, and processors are activated is now based on\n:mod:\u003ccode\u003econtextvars\u003c/code\u003e, and has been completely rewritten. See deprecations since\nmany methods have been deprecated and are mere aliases to the new defaults.\u003c/li\u003e\n\u003cli\u003eCython has been replaced with Rust for the speedups module.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLogbook[brotli]\u003c/code\u003e depends on \u003ccode\u003ebrotlicffi\u003c/code\u003e on non-CPython implementations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecated\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- ``logbook.__version__``. Use :mod:`importlib.metadata` instead.\n- There are now only two ways to activate :class:`~logbook.Handler`,\n  :class:`~logbook.Flags`, and :class:`~logbook.Processor` instances.\n\u003cp\u003eEither globally:\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/ab46a87502ed5bd5e83ee208aa6dabb05adece36\"\u003e\u003ccode\u003eab46a87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/502\"\u003e#502\u003c/a\u003e from getlogbook/feature/prepare-1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/d720c277fb2bf5a179fda8e097b8986db9465029\"\u003e\u003ccode\u003ed720c27\u003c/code\u003e\u003c/a\u003e Bump version to 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/4815c8a10c7bed301d8f00fa8502340e96e24c44\"\u003e\u003ccode\u003e4815c8a\u003c/code\u003e\u003c/a\u003e Update CHANGES\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/3899e0b8a15e9a881f679d92424510c401cce14d\"\u003e\u003ccode\u003e3899e0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/501\"\u003e#501\u003c/a\u003e from getlogbook/fix/stacked-object-base-exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/c9f59b635e3a81177525064f22577f6090792e0a\"\u003e\u003ccode\u003ec9f59b6\u003c/code\u003e\u003c/a\u003e Fix BaseException handling in Rust extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/e6b04a0fcc35cdc1935ce7cb835c93ce75d3a239\"\u003e\u003ccode\u003ee6b04a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/498\"\u003e#498\u003c/a\u003e from getlogbook/dependabot/cargo/syn-2.0.111\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/3ca9aeb888ba615af017621a273094476d37fd5c\"\u003e\u003ccode\u003e3ca9aeb\u003c/code\u003e\u003c/a\u003e Bump syn from 2.0.110 to 2.0.111\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/60dc16cc0f3ac736f2fec699d7bbf34f45281b52\"\u003e\u003ccode\u003e60dc16c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/496\"\u003e#496\u003c/a\u003e from getlogbook/dependabot/github_actions/actions/che...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/849bfa354b0e221ec66acc1deed3cff60de2808b\"\u003e\u003ccode\u003e849bfa3\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.0 to 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/14eddd9fa8e2e6c0b42ea868cd3323c8189ec947\"\u003e\u003ccode\u003e14eddd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/497\"\u003e#497\u003c/a\u003e from getlogbook/dependabot/github_actions/dtolnay/rus...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getlogbook/logbook/compare/1.8.2...1.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `h5py` from 3.15.1 to 3.16.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/b2f0347c4200333acd89b43733f1caa0c115162f\"\u003e\u003ccode\u003eb2f0347\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2807\"\u003e#2807\u003c/a\u003e from takluyver/prepare-3.16\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/f0dedaac8a816a7def3256c60e082400d4988fb1\"\u003e\u003ccode\u003ef0dedaa\u003c/code\u003e\u003c/a\u003e Add zlib update to release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/1e0402630e6531aef2aef14cccb339a581d743dd\"\u003e\u003ccode\u003e1e04026\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2808\"\u003e#2808\u003c/a\u003e from takluyver/zlib-1.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/c5c8f0655dda9f65b1820f36c412b65f884f9d32\"\u003e\u003ccode\u003ec5c8f06\u003c/code\u003e\u003c/a\u003e Fix another reference to zlib DLL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/d872c0c45990e36276808547aa8dac34044088ea\"\u003e\u003ccode\u003ed872c0c\u003c/code\u003e\u003c/a\u003e Use a newer bugfix release of HDF5 1.14 on Azure pipelines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/71c655a6095e451daecc56c161c8535102d874e7\"\u003e\u003ccode\u003e71c655a\u003c/code\u003e\u003c/a\u003e Fix calling zlib script on Windows Azure CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/2f5bf86b22054323d423cbbc2d4054c0487ca0dd\"\u003e\u003ccode\u003e2f5bf86\u003c/code\u003e\u003c/a\u003e Fix for new names z.lib \u0026amp; z.dll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/47ce1d882cf436cad1c9546803278324a17ae0b9\"\u003e\u003ccode\u003e47ce1d8\u003c/code\u003e\u003c/a\u003e Reduce duplicated code building zlib on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/d5c8b5deb04907ec4941e6d801a93c1b5b547f13\"\u003e\u003ccode\u003ed5c8b5d\u003c/code\u003e\u003c/a\u003e Try building zlib directly from source on Windows ARM64 as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/846abfc2694e7386f61c7b535b283df5e338e3d7\"\u003e\u003ccode\u003e846abfc\u003c/code\u003e\u003c/a\u003e Update zlib to 1.3.2 for Windows \u0026amp; Mac wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/h5py/h5py/compare/3.15.1...3.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpydantic` from 1.7.0 to 1.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/p2p-ld/numpydantic/releases\"\u003enumpydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.8.0 - \u003ccode\u003eNDArraySchema\u003c/code\u003e Annotated type specification\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eVersion Support\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/pull/63\"\u003e#63\u003c/a\u003e -\nDrop support for python 3.9, add (testing) support for 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eAdded\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/41\"\u003e#41\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/62\"\u003e#62\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/pull/64\"\u003e#64\u003c/a\u003e -\nAdd a {func}\u003ccode\u003e.NDArraySchema\u003c/code\u003e Annotated style specification to support static type checkers:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom numpydantic import NDArraySchema\r\n\u003cp\u003eclass MyModel(BaseModel):\narray: Annotated[np.ndarray, NDArraySchema((1, 2, 3), np.uint8)]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAllow shape to be used as a callable rather than a \u003ccode\u003e[]\u003c/code\u003e generic\u003c/li\u003e\n\u003cli\u003eAllow shape to accept shape arguments as \u003ccode\u003e*args\u003c/code\u003e rather than a single string\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eTesting\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded pyright testing\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/p2p-ld/numpydantic/blob/main/docs/changelog.md\"\u003enumpydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch4\u003e1.8.0 - 26-02-26\u003c/h4\u003e\n\u003cp\u003e\u003cstrong\u003eVersion Support\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/pull/63\"\u003e#63\u003c/a\u003e -\nDrop support for python 3.9, add (testing) support for 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eAdded\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/41\"\u003e#41\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/62\"\u003e#62\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/pull/64\"\u003e#64\u003c/a\u003e -\nAdd a {func}\u003ccode\u003e.NDArraySchema\u003c/code\u003e Annotated style specification to support static type checkers:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom numpydantic import NDArraySchema\n\u003cp\u003eclass MyModel(BaseModel):\narray: Annotated[np.ndarray, NDArraySchema((1, 2, 3), np.uint8)]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAllow shape to be used as a callable rather than a \u003ccode\u003e[]\u003c/code\u003e generic\u003c/li\u003e\n\u003cli\u003eAllow shape to accept shape arguments as \u003ccode\u003e*args\u003c/code\u003e rather than a single string\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eTesting\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded pyright testing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e1.7.*\u003c/h3\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/d213a8ceba9664864a9772824b855ee0d2d01eba\"\u003e\u003ccode\u003ed213a8c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/64\"\u003e#64\u003c/a\u003e from p2p-ld/ndarray-annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/73abaa73ecdfa373900cdb6ea0ba635e720ff519\"\u003e\u003ccode\u003e73abaa7\u003c/code\u003e\u003c/a\u003e remove reveal type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/967533574f2b9f036923d1efcbcce7d477d2c4cd\"\u003e\u003ccode\u003e9675335\u003c/code\u003e\u003c/a\u003e more normal numpy type annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/088bcce92cb6f72f86d5ebadbe3ba5b25735e9e5\"\u003e\u003ccode\u003e088bcce\u003c/code\u003e\u003c/a\u003e lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/fdaeec85498422d4805b1c341c5548ea95141b49\"\u003e\u003ccode\u003efdaeec8\u003c/code\u003e\u003c/a\u003e fix docs rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/2b9865f3ef6dc06c9c97bfa8c9d2757800dac109\"\u003e\u003ccode\u003e2b9865f\u003c/code\u003e\u003c/a\u003e make annotated schema class, allow shape to accept tuples and be callable, ad...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/d33350d2d99c37f05dd8f0c4cfdc54cbc39fe549\"\u003e\u003ccode\u003ed33350d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/63\"\u003e#63\u003c/a\u003e from p2p-ld/drop-py39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/6e59f07af3e1e6790483a67514e9c4c9b4daa75c\"\u003e\u003ccode\u003e6e59f07\u003c/code\u003e\u003c/a\u003e drop old pydantic test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/4a75ed511a725f101454a75b27ae9501d1160713\"\u003e\u003ccode\u003e4a75ed5\u003c/code\u003e\u003c/a\u003e bump python versions in linkml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/65a470f41422bdc444ac1a8d62f935b487ae840e\"\u003e\u003ccode\u003e65a470f\u003c/code\u003e\u003c/a\u003e if package missing, cant union None with None\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/p2p-ld/numpydantic/compare/v1.7.0...v1.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jaxtyping` from 0.2.38 to 0.3.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/releases\"\u003ejaxtyping's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejaxtyping v0.3.9\u003c/h2\u003e\n\u003cp\u003eBugfix: typechecking of pytrees of \u003ccode\u003e|\u003c/code\u003e-style unions, e.g. \u003ccode\u003eisinstance(..., PyTree[int | bool])\u003c/code\u003e, will no longer silently always pass. \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/381\"\u003epatrick-kidger/jaxtyping#381\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.8...v0.3.9\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.8...v0.3.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.8\u003c/h2\u003e\n\u003cp\u003eAnother bugfix release for \u003ccode\u003enumpy.typing.ArrayLike\u003c/code\u003e on numpy 2.4.0, I think this time only needed Python 3.13+. \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/380\"\u003e#380\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.7...v0.3.8\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.7...v0.3.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.7\u003c/h2\u003e\n\u003cp\u003eBugfix: \u003ccode\u003eSomeDtype[Union[numpy.typing.ArrayLike, ...], ...]\u003c/code\u003e will no longer crash in numpy 2.4.0. (\u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/374\"\u003e#374\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.6...v0.3.7\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.6...v0.3.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfix: \u003ccode\u003e@typing.no_type_check\u003c/code\u003e is now respected on dataclasses. (Thanks \u003ca href=\"https://github.com/jeertmans\"\u003e\u003ccode\u003e@​jeertmans\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/370\"\u003epatrick-kidger/jaxtyping#370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: the pytest plugin is now exected before pytest \u003ccode\u003econftest.py\u003c/code\u003e is ran, making it usable even if the package under test is imported inside \u003ccode\u003econftest.py\u003c/code\u003e. (Thanks \u003ca href=\"https://github.com/jeertmans\"\u003e\u003ccode\u003e@​jeertmans\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/371\"\u003epatrick-kidger/jaxtyping#371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: the pytest plugin supports typecheckers that call multi-argument constructors. (Thanks \u003ca href=\"https://github.com/jeertmans\"\u003e\u003ccode\u003e@​jeertmans\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/369\"\u003epatrick-kidger/jaxtyping#369\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.5...v0.3.6\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.5...v0.3.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature: support \u003ccode\u003eTypeAliasType\u003c/code\u003es as array types. For example:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003etype Foo = np.ndarray | int\r\nFloat[Foo, \u0026quot;\u0026quot;]\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eIn particular, this re-enables support for \u003ccode\u003enumpy.typing.ArrayLike\u003c/code\u003e, which recently switched from being a union to a type alias.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs: big update to emphasize the way in which we are framework-agnostic.\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/patrick-kidger/jaxtyping/compare/v0.3.4...v0.3.5\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.4...v0.3.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd fp4e2m1fn type (Thanks \u003ca href=\"https://github.com/vincentlo-a\"\u003e\u003ccode\u003e@​vincentlo-a\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/353\"\u003epatrick-kidger/jaxtyping#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNo longer crashing if \u003ccode\u003enumpy\u003c/code\u003e not available. (Thanks \u003ca href=\"https://github.com/charlesbmi\"\u003e\u003ccode\u003e@​charlesbmi\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/361\"\u003epatrick-kidger/jaxtyping#361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNo longer crashing when building documentation using either either \u003ccode\u003epytkdoc_tweaks\u003c/code\u003e or \u003ccode\u003ehippogriffe\u003c/code\u003e (=my internal doc libraries that probably no-one else uses 😁) and JAX is not available (\u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/362\"\u003e#362\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/vincentlo-a\"\u003e\u003ccode\u003e@​vincentlo-a\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/353\"\u003epatrick-kidger/jaxtyping#353\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charlesbmi\"\u003e\u003ccode\u003e@​charlesbmi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/361\"\u003epatrick-kidger/jaxtyping#361\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.3...v0.3.4\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.3...v0.3.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/f7e00886e6c79f4ddf11293c46fa2b6948ea6a72\"\u003e\u003ccode\u003ef7e0088\u003c/code\u003e\u003c/a\u003e 0.3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/aae2fa7da38ebfbebac70523e49814a7f32c576d\"\u003e\u003ccode\u003eaae2fa7\u003c/code\u003e\u003c/a\u003e Fix typechecking of pytree of new-style union.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/f6477d486c9deaeb5c1cd73443ef5cc5ba5ea128\"\u003e\u003ccode\u003ef6477d4\u003c/code\u003e\u003c/a\u003e bump release pipeline to 3.12 to avoid jax weirdness on 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/7d360677973772984ab71b99bfd7a3ed738e15fe\"\u003e\u003ccode\u003e7d36067\u003c/code\u003e\u003c/a\u003e 0.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/6c3f488a5a6269981388ae3af9f747a0b6b7bd95\"\u003e\u003ccode\u003e6c3f488\u003c/code\u003e\u003c/a\u003e Yet another fix for numpy 2.4.0, I think this time this is needed for Python ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/b3ad46f43b6a75a11a4ce880b0cb6eed883b88a3\"\u003e\u003ccode\u003eb3ad46f\u003c/code\u003e\u003c/a\u003e Numpy 2.4.0 compat: fix union of arraylike.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/103e004b2b8aba25afb7423ff6579c93bcd33da3\"\u003e\u003ccode\u003e103e004\u003c/code\u003e\u003c/a\u003e 0.3.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/4bb34ef92fc54baa2e2edc537255acec96e00fa4\"\u003e\u003ccode\u003e4bb34ef\u003c/code\u003e\u003c/a\u003e fix(lib): respect \u003ccode\u003e@no_type_check\u003c/code\u003e decorator on class (\u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/370\"\u003e#370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/9be85233d60c8c08167e24704b2af7b017478e2e\"\u003e\u003ccode\u003e9be8523\u003c/code\u003e\u003c/a\u003e fix(pytest): execute import hook before \u003ccode\u003econftest.py\u003c/code\u003e files are read\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/aec7db5977f54b332931b5f84fc75978e4b30f71\"\u003e\u003ccode\u003eaec7db5\u003c/code\u003e\u003c/a\u003e fix(pytest_plugin): avoid splitting typechecker constructor with commas\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.2.38...v0.3.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `polars` from 1.37.1 to 1.39.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pola-rs/polars/releases\"\u003epolars's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePython Polars 1.39.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Performance improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLower \u003ccode\u003earg_{min,max}\u003c/code\u003e to streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26845\"\u003e#26845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional IR slice pushdown after filter pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26815\"\u003e#26815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming first/last on Enum through physical (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26783\"\u003e#26783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFast filter for scalar predicates (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26745\"\u003e#26745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow SimpleProjection in streaming engine to rename (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26709\"\u003e#26709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming cloud download for \u003ccode\u003escan_csv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26637\"\u003e#26637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop columns only needed for predicates after the predicate is applied (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26703\"\u003e#26703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun projection pushdown after predicate pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26688\"\u003e#26688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eComparison literal downcasting (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26663\"\u003e#26663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd dynamic predicates for TopK (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26495\"\u003e#26495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncrease minimum default parquet row group prefetch to 8 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26632\"\u003e#26632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePartial predicate conversion to PyArrow (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26567\"\u003e#26567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming cloud download for \u003ccode\u003escan_ndjson\u003c/code\u003e / \u003ccode\u003escan_lines\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26563\"\u003e#26563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGrab GIL fewer times during Object join materialization (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26587\"\u003e#26587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove CSV and NDJSON cloud sink performance (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26545\"\u003e#26545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTune cloud writer performance (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26518\"\u003e#26518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow parallel InMemorySinks in streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26501\"\u003e#26501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd streaming \u003ccode\u003eAsOf\u003c/code\u003e join node (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26398\"\u003e#26398\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't always rechunk on gather of nested types (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26478\"\u003e#26478\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Expr for holidays in business day calculations (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26193\"\u003e#26193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eParameter for pivot to always include value column name (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26730\"\u003e#26730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRaise error in \u003ccode\u003e.collect_schema()\u003c/code\u003e when \u003ccode\u003earr.get()\u003c/code\u003e is out-of-bounds (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26866\"\u003e#26866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExtend \u003ccode\u003eExpr.reinterpret\u003c/code\u003e to all numeric types of the same size (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26401\"\u003e#26401\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing_columns parameter to scan_csv (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26787\"\u003e#26787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClear no-op scan projections (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26858\"\u003e#26858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport nested datatypes for \u003ccode\u003e{min,max}_by\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26849\"\u003e#26849\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport SQL \u003ccode\u003eARRAY\u003c/code\u003e init from typed literals (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26622\"\u003e#26622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAccept table identifier string in \u003ccode\u003escan_iceberg()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26826\"\u003e#26826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a convenience \u003ccode\u003emake fresh\u003c/code\u003e command to the Makefile (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26809\"\u003e#26809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose \u0026quot;use_zip64\u0026quot; Workbook option for \u003ccode\u003ewrite_excel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26699\"\u003e#26699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd unstable \u003ccode\u003eLazyFrame.sink_iceberg\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26799\"\u003e#26799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd maintain order argument on implode (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26782\"\u003e#26782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up casting primitive to bool by at least 2x (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26823\"\u003e#26823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport ASCII format table input to \u003ccode\u003epl.from_repr\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26806\"\u003e#26806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable rowgroup skipping for float columns (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26805\"\u003e#26805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd expression context to errors (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26716\"\u003e#26716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Decimal support for product reduction (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26725\"\u003e#26725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport all Iceberg V2 arrow types in sink_parquet arrow_schema parameter (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26669\"\u003e#26669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRe-work behavior of arrow_schema parameter on sink_parquet (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26621\"\u003e#26621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003econtains_dtype()\u003c/code\u003e method for \u003ccode\u003eSchema\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26661\"\u003e#26661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003etruncate\u003c/code\u003e as a \u0026quot;to_zero\u0026quot; rounding mode (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26677\"\u003e#26677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMore generic streaming GroupBy lowering (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26696\"\u003e#26696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCreate an \u003ccode\u003eAlignment\u003c/code\u003e TypeAlias (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26668\"\u003e#26668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd basic MemoryManager to track buffered dataframes for out-of-core support later (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26443\"\u003e#26443\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/pola-rs/polars/commit/2bce04ad4e3136d767c24bf1123739bc4ecd3c94\"\u003e\u003ccode\u003e2bce04a\u003c/code\u003e\u003c/a\u003e chore: Use large linux-arm runner for release (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26898\"\u003e#26898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/d764326cf1d661d02e78b5c42d0eb89cf0cf403c\"\u003e\u003ccode\u003ed764326\u003c/code\u003e\u003c/a\u003e Python Polars 1.39.0 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26891\"\u003e#26891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/3ebdb3acef9ca0976843f97ac5e95409f7ba93f7\"\u003e\u003ccode\u003e3ebdb3a\u003c/code\u003e\u003c/a\u003e fix: Prevent \u003ccode\u003eBoolean\u003c/code\u003e arithmetic with integer literals producing \u003ccode\u003eUnknown\u003c/code\u003e t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/fc24eeada027d04144c30910076f1beb90a9e284\"\u003e\u003ccode\u003efc24eea\u003c/code\u003e\u003c/a\u003e fix: Fix sink to partitioned S3 from Windows corrupted slashes (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26889\"\u003e#26889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/9a78aa1929e48c3b50590750b8b87da197b20d1e\"\u003e\u003ccode\u003e9a78aa1\u003c/code\u003e\u003c/a\u003e fix: Remove outdated warning about List columns in unique() (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26295\"\u003e#26295\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26890\"\u003e#26890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/d310d9660731ee491a2da37dfa0ee3984f763fdd\"\u003e\u003ccode\u003ed310d96\u003c/code\u003e\u003c/a\u003e fix: Restore pyarrow predicate conversion for is_in (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26811\"\u003e#26811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/9398fe91b1bb20ced505848ec079313eda146d0f\"\u003e\u003ccode\u003e9398fe9\u003c/code\u003e\u003c/a\u003e fix: Release GIL before df.to_ndarray() to avoid deadlock (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26832\"\u003e#26832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/7e1b8138aae609de4e1f07a6e784f9d558608df1\"\u003e\u003ccode\u003e7e1b813\u003c/code\u003e\u003c/a\u003e fix: Fix panic on CSV count_rows with FORCE_ASYNC (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26883\"\u003e#26883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/f380d60bc3da3c2fbbf84f6f584d3fff8589dcc7\"\u003e\u003ccode\u003ef380d60\u003c/code\u003e\u003c/a\u003e feat: Support Expr for holidays in business day calculations (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26193\"\u003e#26193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/13f88c656a2ba549df0fab180f6ac8ac6fffe567\"\u003e\u003ccode\u003e13f88c6\u003c/code\u003e\u003c/a\u003e fix: Add scalar comparisons for \u003ccode\u003eUInt128\u003c/code\u003e series (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26886\"\u003e#26886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pola-rs/polars/compare/py-1.37.1...py-1.39.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 23.0.0 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-23.0.0...apache-arrow-23.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fsspec` from 2026.1.0 to 2026.2.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/e6668a146cd07b9f50530c49ea3916d8ab13e169\"\u003e\u003ccode\u003ee6668a1\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1989\"\u003e#1989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/b6bd0752c1f133fb5005b4b21c065bde76f2c52b\"\u003e\u003ccode\u003eb6bd075\u003c/code\u003e\u003c/a\u003e fix parquet tests (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1988\"\u003e#1988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/6f825f3ba989893a283cb1f84abcb87953b4ca96\"\u003e\u003ccode\u003e6f825f3\u003c/code\u003e\u003c/a\u003e feat(compression): recover the support of the zstandard (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1986\"\u003e#1986\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1987\"\u003e#1987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/1de5e1db3bf6ba984a1386008f3fff97a406ec90\"\u003e\u003ccode\u003e1de5e1d\u003c/code\u003e\u003c/a\u003e Remove prefetching loop (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1984\"\u003e#1984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/9603a7c8329c7c24b476c77dcf924dda572113f0\"\u003e\u003ccode\u003e9603a7c\u003c/code\u003e\u003c/a\u003e fixes to parquet and known cache (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1982\"\u003e#1982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/2576617e5cbe441bcc53b021bccd85ff3489fde7\"\u003e\u003ccode\u003e2576617\u003c/code\u003e\u003c/a\u003e Support append and update for cached file systems (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1980\"\u003e#1980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/cea9d7c1fa3df31c02aa2ddd5df0cd06a9f4d1f4\"\u003e\u003ccode\u003ecea9d7c\u003c/code\u003e\u003c/a\u003e Return None for size if arrow file is not seekable (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1981\"\u003e#1981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/6e1196304d0ffdeb92372ff2f7ef154253afa92c\"\u003e\u003ccode\u003e6e11963\u003c/code\u003e\u003c/a\u003e Maybe fix column selection (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1979\"\u003e#1979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/635b2efb31d650c84405e97b6c26887361c3a973\"\u003e\u003ccode\u003e635b2ef\u003c/code\u003e\u003c/a\u003e Correct \u003ccode\u003efind\u003c/code\u003e behaviour with different combinations of arguments for `ZipFil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/8ce70ee802856daa540cdbc0bdde302a923288fb\"\u003e\u003ccode\u003e8ce70ee\u003c/code\u003e\u003c/a\u003e Implement created and modified methods from abstract filesystem class… (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1971\"\u003e#1971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/filesystem_spec/compare/2026.1.0...2026.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fonttools` from 4.61.1 to 4.62.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fonttools/fonttools/releases\"\u003efonttools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.62.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[feaLib] Extend contextual rule merging to all rule types: single subst, GSUB/GPOS named lookups, ignore rules, and chained alternate subst (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4061\"\u003e#4061\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.62.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[diff] Add new \u003ccode\u003efonttools diff\u003c/code\u003e command for comparing font files, imported from the \u003ccode\u003efdiff\u003c/code\u003e project and heavily reworked (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/1190\"\u003e#1190\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4007\"\u003e#4007\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4009\"\u003e#4009\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4011\"\u003e#4011\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4013\"\u003e#4013\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4019\"\u003e#4019\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e interpolation bug with non-linear avar mappings. Also decouple \u003ccode\u003eVariableScalar\u003c/code\u003e from compiled fonts, allowing it to work with designspace data before compilation (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3938\"\u003e#3938\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4054\"\u003e#4054\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e axis ordering and iterative delta rounding to match fontc behavior (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4053\"\u003e#4053\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Merge chained multi subst rules with same context into a single subtable instead of emitting one subtable per glyph (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4016\"\u003e#4016\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4058\"\u003e#4058\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Pass location to \u003ccode\u003eConditionsetStatement\u003c/code\u003e\u003ccode\u003efontra/fontra-glyphs#130\u003c/code\u003e\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4057\"\u003e#4057\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Write \u003ccode\u003e0xFFFF\u003c/code\u003e instead of \u003ccode\u003e0\u003c/code\u003e for missing nameIDs in \u003ccode\u003ecv\u003c/code\u003e feature params (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4010\"\u003e#4010\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4012\"\u003e#4012\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[cmap] Fix \u003ccode\u003eCmapSubtable.__lt__()\u003c/code\u003e \u003ccode\u003eTypeError\u003c/code\u003e on Python 3 when subtables share the same encoding record, and add compile-time validation for unique encoding records (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4035\"\u003e#4035\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4055\"\u003e#4055\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[svgLib] Skip non-element XML nodes (comments, processing instructions) when drawing SVG paths (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4042\"\u003e#4042\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4043\"\u003e#4043\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[glifLib] Fix regression reading glyph outlines when \u003ccode\u003eglyphObject=None\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4030\"\u003e#4030\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4031\"\u003e#4031\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[pointPen] Fix \u003ccode\u003eSegmentToPointPen\u003c/code\u003e edge case: only remove a duplicate final point on \u003ccode\u003eclosePath()\u003c/code\u003e if it is an on-curve point (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4014\"\u003e#4014\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4015\"\u003e#4015\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[cffLib] \u003cstrong\u003eSECURITY\u003c/strong\u003e Replace \u003ccode\u003eeval()\u003c/code\u003e with \u003ccode\u003esafeEval()\u003c/code\u003e in \u003ccode\u003eparseBlendList()\u003c/code\u003e to prevent arbitrary code execution from crafted TTX files (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4039\"\u003e#4039\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4040\"\u003e#4040\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[ttLib] Remove defunct Adobe SING Glyphlet tables (\u003ccode\u003eMETA\u003c/code\u003e, \u003ccode\u003eSING\u003c/code\u003e, \u003ccode\u003eGMAP\u003c/code\u003e, \u003ccode\u003eGPKG\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4044\"\u003e#4044\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib.interpolatable] Various bugfixes: fix swapped nodeTypes assignment, duplicate kink-detector condition, typos, CFF2 vsindex parsing, glyph existence check, and plot helpers (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4046\"\u003e#4046\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib.models] Fix \u003ccode\u003egetSubModel\u003c/code\u003e not forwarding \u003ccode\u003eextrapolate\u003c/code\u003e/\u003ccode\u003eaxisRanges\u003c/code\u003e; check location uniqueness after stripping zeros (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4047\"\u003e#4047\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib] Fix \u003ccode\u003e--variable-fonts\u003c/code\u003e filter in \u003ccode\u003ebuild_many\u003c/code\u003e; remove dead code and fix comments (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4048\"\u003e#4048\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[avar] Preserve existing name table in build; keep \u003ccode\u003eunbuild\u003c/code\u003e return types consistent; validate \u003ccode\u003emap\u003c/code\u003e CLI coordinates (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4051\"\u003e#4051\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[cu2qu/qu2cu] Add input validation: reject non-positive tolerances, validate curve inputs and list lengths (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4052\"\u003e#4052\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[colorLib] Raise a clear \u003ccode\u003eColorLibError\u003c/code\u003e when base glyphs are missing from glyphMap, instead of a confusing \u003ccode\u003eKeyError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4041\"\u003e#4041\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[glyf] Remove unnecessary \u003ccode\u003efvar\u003c/code\u003e table dependency (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4017\"\u003e#4017\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[fvar/trak] Remove unnecessary \u003ccode\u003ename\u003c/code\u003e table dependency (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4018\"\u003e#4018\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[ufoLib] Relax guideline validation to follow the updated spec (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3537\"\u003e#3537\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3553\"\u003e#3553\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[ttFont] Fix \u003ccode\u003esaveXML\u003c/code\u003e regression with empty table lists, clarify docstring (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4025\"\u003e#4025\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4026\"\u003e#4026\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4056\"\u003e#4056\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[setup.py] Link \u003ccode\u003elibm\u003c/code\u003e for Cython extensions using math functions (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4028\"\u003e#4028\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4029\"\u003e#4029\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd typing annotations for \u003ccode\u003eDSIG\u003c/code\u003e, \u003ccode\u003eDefaultTable\u003c/code\u003e, \u003ccode\u003ettProgram\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4033\"\u003e#4033\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/fonttools/fonttools/blob/main/NEWS.rst\"\u003efonttools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.62.1 (released 2026-03-13)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[feaLib] Extend contextual rule merging to all rule types: single subst, GSUB/GPOS\nnamed lookups, ignore rules, and chained alternate subst (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4061\"\u003e#4061\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.62.0 (released 2026-03-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[diff] Add new \u003ccode\u003efonttools diff\u003c/code\u003e command for comparing font files, imported from the\n\u003ccode\u003efdiff\u003c/code\u003e project and heavily reworked (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/1190\"\u003e#1190\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4007\"\u003e#4007\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4009\"\u003e#4009\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4011\"\u003e#4011\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4013\"\u003e#4013\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4019\"\u003e#4019\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e interpolation bug with non-linear avar mappings. Also\ndecouple \u003ccode\u003eVariableScalar\u003c/code\u003e from compiled fonts, allowing it to work with designspace data\nbefore compilation (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3938\"\u003e#3938\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4054\"\u003e#4054\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e axis ordering and iterative delta rounding to match fontc\nbehavior (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4053\"\u003e#4053\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Merge chained multi subst rules with same context into a single subtable instead of\nemitting one subtable per glyph (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4016\"\u003e#4016\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4058\"\u003e#4058\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Pass location to \u003ccode\u003eConditionsetStatement\u003c/code\u003e to fix glyphsLib round-tripping\n\u003ccode\u003efontra/fontra-glyphs#130\u003c/code\u003e\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4057\"\u003e#4057\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Write \u003ccode\u003e0xFFFF\u003c/code\u003e instead of \u003ccode\u003e0\u003c/code\u003e for missing nameIDs in \u003ccode\u003ecv\u003c/code\u003e feature params\n(\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4010\"\u003e#4010\u003c/a\u003e, \u003ca href=\"https://re...\n\n_Description has been truncated_","html_url":"https://github.com/eliagroup/ToOp/pull/333","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliagroup%2FToOp/issues/333","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/333/packages"}},{"old_version":"23.0.0","new_version":"23.0.1","update_type":"patch","path":null,"pr_created_at":"2026-03-23T12:45:00.000Z","version_change":"23.0.0 → 23.0.1","issue":{"uuid":"4120591595","node_id":"PR_kwDOQFtGkc7MrCgA","number":328,"state":"closed","title":"build(deps): bump the production group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-24T08:52:56.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-23T12:45:00.000Z","updated_at":"2026-03-24T08:52:58.000Z","time_to_close":72476,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"production","update_count":12,"packages":[{"name":"pandera","old_version":"0.22.1","new_version":"0.29.0","repository_url":"https://github.com/pandera-dev/pandera"},{"name":"numpy","old_version":"1.26.4","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"logbook","old_version":"1.8.2","new_version":"1.9.2","repository_url":"https://github.com/getlogbook/logbook"},{"name":"h5py","old_version":"3.15.1","new_version":"3.16.0","repository_url":"https://github.com/h5py/h5py"},{"name":"numpydantic","old_version":"1.7.0","new_version":"1.8.0","repository_url":"https://github.com/p2p-ld/numpydantic"},{"name":"jaxtyping","old_version":"0.2.38","new_version":"0.3.9","repository_url":"https://github.com/patrick-kidger/jaxtyping"},{"name":"polars","old_version":"1.37.1","new_version":"1.39.0","repository_url":"https://github.com/pola-rs/polars"},{"name":"pyarrow","old_version":"23.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"fsspec","old_version":"2026.1.0","new_version":"2026.2.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.0","repository_url":"https://github.com/fonttools/fonttools"},{"name":"pandapower","old_version":"3.1.2","new_version":"3.4.0","repository_url":"https://github.com/e2nIEE/pandapower"}],"path":null,"ecosystem":"pip"},"body":"Bumps the production group with 12 updates in the /packages/interfaces_pkg directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pandera](https://github.com/pandera-dev/pandera) | `0.22.1` | `0.29.0` |\n| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.4.3` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [logbook](https://github.com/getlogbook/logbook) | `1.8.2` | `1.9.2` |\n| [h5py](https://github.com/h5py/h5py) | `3.15.1` | `3.16.0` |\n| [numpydantic](https://github.com/p2p-ld/numpydantic) | `1.7.0` | `1.8.0` |\n| [jaxtyping](https://github.com/patrick-kidger/jaxtyping) | `0.2.38` | `0.3.9` |\n| [polars](https://github.com/pola-rs/polars) | `1.37.1` | `1.39.0` |\n| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `23.0.1` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2026.1.0` | `2026.2.0` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.0` |\n| [pandapower](https://github.com/e2nIEE/pandapower) | `3.1.2` | `3.4.0` |\n\n\nUpdates `pandera` from 0.22.1 to 0.29.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandera-dev/pandera/releases\"\u003epandera's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.29.0: support list, dict, and tuple of dataframes\u003c/h2\u003e\n\u003ch2\u003e⭐️ Highlight\u003c/h2\u003e\n\u003cp\u003ePandera now supports collection types containing dataframes, shoutout to \u003ca href=\"https://github.com/garethellis0\"\u003e\u003ccode\u003e@​garethellis0\u003c/code\u003e\u003c/a\u003e with an amazing first contribution!\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e@pa.check_types\r\ndef process_tuple_and_return_dict(\r\n    dfs: tuple[DataFrame[OnlyZeroesSchema], DataFrame[OnlyOnesSchema]],\r\n) -\u0026gt; dict[str, DataFrame[OnlyZeroesSchema]]:\r\n    return {\r\n        \u0026quot;foo\u0026quot;: dfs[0],\r\n        \u0026quot;bar\u0026quot;: dfs[0]\r\n    }\r\n\u003cp\u003eresult = process_tuple_and_return_dict((\npd.DataFrame({\u0026quot;a\u0026quot;: [0, 0]}),\npd.DataFrame({\u0026quot;a\u0026quot;: [1, 1]}),\n))\nprint(result)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeature/1078: Added Support For List, Dict, And Tuples Of Dataframes by \u003ca href=\"https://github.com/garethellis0\"\u003e\u003ccode\u003e@​garethellis0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2204\"\u003eunionai-oss/pandera#2204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epin sphinx version by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2208\"\u003eunionai-oss/pandera#2208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd map datatype to the Ibis engine implementation by \u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2206\"\u003eunionai-oss/pandera#2206\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/garethellis0\"\u003e\u003ccode\u003e@​garethellis0\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2204\"\u003eunionai-oss/pandera#2204\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.28.1...v0.29.0\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.28.1...v0.29.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.28.1: Fix regressions in Check behavior\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix bugs in Check interface and Field by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2203\"\u003eunionai-oss/pandera#2203\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.28.0...v0.28.1\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.28.0...v0.28.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease 0.28.0: Add support for Pyspark 4\u003c/h2\u003e\n\u003ch2\u003e⭐️ Highlight\u003c/h2\u003e\n\u003cp\u003ePandera now supports Pyspark 4 🚀\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(pyspark): restructure pyspark components by \u003ca href=\"https://github.com/ELC\"\u003e\u003ccode\u003e@​ELC\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2007\"\u003eunionai-oss/pandera#2007\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd support for pyspark 4 by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2193\"\u003eunionai-oss/pandera#2193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDecouple import dependencies for io serialization formats by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2195\"\u003eunionai-oss/pandera#2195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eget_annotations\u003c/code\u003e instead of direct \u003ccode\u003e__annotations__\u003c/code\u003e access by \u003ca href=\"https://github.com/amerberg\"\u003e\u003ccode\u003e@​amerberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2196\"\u003eunionai-oss/pandera#2196\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/unionai-oss/pandera/commit/7614754cb29f3495b1c1bc342e79176ebfa815be\"\u003e\u003ccode\u003e7614754\u003c/code\u003e\u003c/a\u003e Add map datatype to the Ibis engine implementation (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2206\"\u003e#2206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/8b87d0fd66a98a8525cfa6aae26facd566863712\"\u003e\u003ccode\u003e8b87d0f\u003c/code\u003e\u003c/a\u003e pin sphinx version (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2208\"\u003e#2208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/dc109085066c408a88a4d78e8b5a5daa06a55045\"\u003e\u003ccode\u003edc10908\u003c/code\u003e\u003c/a\u003e feature/1078: Added Support For List, Dict, And Tuples Of Dataframes (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2204\"\u003e#2204\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/71f860aa59ff6477134a1190d656f9d678574c9d\"\u003e\u003ccode\u003e71f860a\u003c/code\u003e\u003c/a\u003e fix bugs in Check interface and Field (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2203\"\u003e#2203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/82096dd7974de7531532ea7734c70030c27b859b\"\u003e\u003ccode\u003e82096dd\u003c/code\u003e\u003c/a\u003e schema descriptor should raise AttributeError if build_schema_ is not impleme...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/7055cbd38ee65259975249c48b25aa4c5b2a8327\"\u003e\u003ccode\u003e7055cbd\u003c/code\u003e\u003c/a\u003e Avoid full materialization of levels in failing MultiIndex validations (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2187\"\u003e#2187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/b69c6fa232d5e9bea39c84d1fb9116d95603043a\"\u003e\u003ccode\u003eb69c6fa\u003c/code\u003e\u003c/a\u003e Update .git-blame-ignore-revs to add Ruff refactor (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2199\"\u003e#2199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/42a2b3446eaf2a60d7945a5127072e720cc595b9\"\u003e\u003ccode\u003e42a2b34\u003c/code\u003e\u003c/a\u003e Support the \u003ccode\u003eDecimal\u003c/code\u003e data type in the Ibis engine (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2194\"\u003e#2194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/8c3b46ce02e5f723841072af4d2f5d280d11cca5\"\u003e\u003ccode\u003e8c3b46c\u003c/code\u003e\u003c/a\u003e Re-implement improvements to str_length check (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2198\"\u003e#2198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/8abbf2617918808e347c495f0270635c3ca10b73\"\u003e\u003ccode\u003e8abbf26\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003eget_annotations\u003c/code\u003e instead of direct \u003ccode\u003e__annotations__\u003c/code\u003e access (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2196\"\u003e#2196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandera-dev/pandera/compare/v0.22.1...v0.29.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 1.26.4 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/v1.26.4...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 2.3.3 to 3.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epandas 3.0.1\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.1.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/dev/whatsnew/v3.0.1.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003epandas 3.0.0\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.0, a major release from the pandas 2.x series. This release includes various new features, bug fixes, and performance improvements, as well as possible breaking changes.\u003c/p\u003e\n\u003cp\u003eThe pandas 3.0 release removed a functionality that was deprecated in previous releases. It is recommended to first upgrade to pandas 2.3 and to ensure your code is working without warnings, before upgrading to pandas 3.0.\u003c/p\u003e\n\u003cp\u003eHighlights include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-enhancements-string-dtype\"\u003eDedicated string data type by default\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-enhancements-copy_on_write\"\u003eConsistent copy/view behaviour with Copy-on-Write\u003c/a\u003e (CoW) (a.k.a. getting rid of the SettingWithCopyWarning)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-api-breaking-datetime-resolution-inference\"\u003eNew default resolution for datetime-like data\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-enhancements-col\"\u003eInitial support for the new \u003ccode\u003epd.col\u003c/code\u003e syntax\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/community/blog/pandas-3.0.html\"\u003eannouncement blog post\u003c/a\u003e and the \u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html\"\u003edetailed release notes\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues/new/choose\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003ePandas 3.0.0rc2\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ePandas 3.0.0rc1\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/pandas-dev/pandas/commit/e04b26f375035e5106cb913e47b6db612f4ebb11\"\u003e\u003ccode\u003ee04b26f\u003c/code\u003e\u003c/a\u003e RLS: 3.0.1  (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64206\"\u003e#64206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/47909e67760389ad32094b586eadcfceb52235b8\"\u003e\u003ccode\u003e47909e6\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] ENH: Add item() method to ExtensionArray class (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64134\"\u003e#64134\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64\"\u003e#64\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/a061bfd2f31ebba410ab87db475df651d02f8bcd\"\u003e\u003ccode\u003ea061bfd\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64199\"\u003e#64199\u003c/a\u003e on branch 3.0.x (DOC: cleanup 3.0.1 whatsnew) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64201\"\u003e#64201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/085a3856d362c4b849d84754cbc7005f2539dc54\"\u003e\u003ccode\u003e085a385\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: Fix read_hdf failing on generic datetime64 dtype (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/6400\"\u003e#6400\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/5f1704777bc2fe4864875d49b87d4e4cab417f30\"\u003e\u003ccode\u003e5f17047\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: use fill_null fallback for bug in pyarrow 21 on Windows...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/0d3a8cba13397e84606716f545f0afdce26172c4\"\u003e\u003ccode\u003e0d3a8cb\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64122\"\u003e#64122\u003c/a\u003e on branch 3.0.x (REG: Allow RE2 syntax in str.contains and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/78e1917e4d45dbea16636194b240a18b1a42bc97\"\u003e\u003ccode\u003e78e1917\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64185\"\u003e#64185\u003c/a\u003e on branch 3.0.x (TST: remove fixed xfail for PyArrow 23.0....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/75a42cabc9ff39b1ade4afabd0bc54b972d326b7\"\u003e\u003ccode\u003e75a42ca\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64168\"\u003e#64168\u003c/a\u003e on branch 3.0.x (TST: add legacy file generation and tests...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/46d443f9d603a0f65672182133e0e83f108afdcc\"\u003e\u003ccode\u003e46d443f\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64092\"\u003e#64092\u003c/a\u003e on branch 3.0.x (BUG: DataFrame.loc fills b'' instead of N...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/9d6793220be57edda0b9abb68dfa0b1740baf569\"\u003e\u003ccode\u003e9d67932\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64068\"\u003e#64068\u003c/a\u003e on branch 3.0.x (BUG: fixed to_timedelta with list of int ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v2.3.3...v3.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `logbook` from 1.8.2 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/getlogbook/logbook/releases\"\u003elogbook's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.2\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/getlogbook/logbook/blob/main/CHANGES\"\u003eCHANGES\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/getlogbook/logbook/blob/main/CHANGES\"\u003eCHANGES\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/getlogbook/logbook/blob/main/CHANGES\"\u003eCHANGES\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/getlogbook/logbook/blob/main/CHANGES\"\u003elogbook's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.2\u003c/h2\u003e\n\u003cp\u003eFixed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- When used as a context manager, handlers, flags, and processors would swallow\n  a raised ``BaseException`` and raise a ``TypeError`` `[#500](https://github.com/getlogbook/logbook/issues/500) \u0026lt;https://github.com/getlogbook/logbook/issues/500\u0026gt;`_.\n\u003ch2\u003eVersion 1.9.1\u003c/h2\u003e\n\u003cp\u003eFixed\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequired files were missing from the source distribution (sdist).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0\u003c/h2\u003e\n\u003cp\u003eAdded\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Python 3.14 support\n- Python 3.14 free-threading support (beta). This does not extend to all optional\n  dependencies. At the time of writing, the following extras are not supported due\n  to their dependencies pulling in C extensions which do not support free-threading:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebrotli\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enteventlog\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esqlalchemy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWheels are built for Windows ARM64\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanged\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe way handlers, flags, and processors are activated is now based on\n:mod:\u003ccode\u003econtextvars\u003c/code\u003e, and has been completely rewritten. See deprecations since\nmany methods have been deprecated and are mere aliases to the new defaults.\u003c/li\u003e\n\u003cli\u003eCython has been replaced with Rust for the speedups module.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLogbook[brotli]\u003c/code\u003e depends on \u003ccode\u003ebrotlicffi\u003c/code\u003e on non-CPython implementations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecated\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- ``logbook.__version__``. Use :mod:`importlib.metadata` instead.\n- There are now only two ways to activate :class:`~logbook.Handler`,\n  :class:`~logbook.Flags`, and :class:`~logbook.Processor` instances.\n\u003cp\u003eEither globally:\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/ab46a87502ed5bd5e83ee208aa6dabb05adece36\"\u003e\u003ccode\u003eab46a87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/502\"\u003e#502\u003c/a\u003e from getlogbook/feature/prepare-1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/d720c277fb2bf5a179fda8e097b8986db9465029\"\u003e\u003ccode\u003ed720c27\u003c/code\u003e\u003c/a\u003e Bump version to 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/4815c8a10c7bed301d8f00fa8502340e96e24c44\"\u003e\u003ccode\u003e4815c8a\u003c/code\u003e\u003c/a\u003e Update CHANGES\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/3899e0b8a15e9a881f679d92424510c401cce14d\"\u003e\u003ccode\u003e3899e0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/501\"\u003e#501\u003c/a\u003e from getlogbook/fix/stacked-object-base-exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/c9f59b635e3a81177525064f22577f6090792e0a\"\u003e\u003ccode\u003ec9f59b6\u003c/code\u003e\u003c/a\u003e Fix BaseException handling in Rust extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/e6b04a0fcc35cdc1935ce7cb835c93ce75d3a239\"\u003e\u003ccode\u003ee6b04a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/498\"\u003e#498\u003c/a\u003e from getlogbook/dependabot/cargo/syn-2.0.111\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/3ca9aeb888ba615af017621a273094476d37fd5c\"\u003e\u003ccode\u003e3ca9aeb\u003c/code\u003e\u003c/a\u003e Bump syn from 2.0.110 to 2.0.111\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/60dc16cc0f3ac736f2fec699d7bbf34f45281b52\"\u003e\u003ccode\u003e60dc16c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/496\"\u003e#496\u003c/a\u003e from getlogbook/dependabot/github_actions/actions/che...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/849bfa354b0e221ec66acc1deed3cff60de2808b\"\u003e\u003ccode\u003e849bfa3\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.0 to 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/14eddd9fa8e2e6c0b42ea868cd3323c8189ec947\"\u003e\u003ccode\u003e14eddd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/497\"\u003e#497\u003c/a\u003e from getlogbook/dependabot/github_actions/dtolnay/rus...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getlogbook/logbook/compare/1.8.2...1.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `h5py` from 3.15.1 to 3.16.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/b2f0347c4200333acd89b43733f1caa0c115162f\"\u003e\u003ccode\u003eb2f0347\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2807\"\u003e#2807\u003c/a\u003e from takluyver/prepare-3.16\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/f0dedaac8a816a7def3256c60e082400d4988fb1\"\u003e\u003ccode\u003ef0dedaa\u003c/code\u003e\u003c/a\u003e Add zlib update to release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/1e0402630e6531aef2aef14cccb339a581d743dd\"\u003e\u003ccode\u003e1e04026\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2808\"\u003e#2808\u003c/a\u003e from takluyver/zlib-1.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/c5c8f0655dda9f65b1820f36c412b65f884f9d32\"\u003e\u003ccode\u003ec5c8f06\u003c/code\u003e\u003c/a\u003e Fix another reference to zlib DLL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/d872c0c45990e36276808547aa8dac34044088ea\"\u003e\u003ccode\u003ed872c0c\u003c/code\u003e\u003c/a\u003e Use a newer bugfix release of HDF5 1.14 on Azure pipelines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/71c655a6095e451daecc56c161c8535102d874e7\"\u003e\u003ccode\u003e71c655a\u003c/code\u003e\u003c/a\u003e Fix calling zlib script on Windows Azure CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/2f5bf86b22054323d423cbbc2d4054c0487ca0dd\"\u003e\u003ccode\u003e2f5bf86\u003c/code\u003e\u003c/a\u003e Fix for new names z.lib \u0026amp; z.dll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/47ce1d882cf436cad1c9546803278324a17ae0b9\"\u003e\u003ccode\u003e47ce1d8\u003c/code\u003e\u003c/a\u003e Reduce duplicated code building zlib on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/d5c8b5deb04907ec4941e6d801a93c1b5b547f13\"\u003e\u003ccode\u003ed5c8b5d\u003c/code\u003e\u003c/a\u003e Try building zlib directly from source on Windows ARM64 as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/846abfc2694e7386f61c7b535b283df5e338e3d7\"\u003e\u003ccode\u003e846abfc\u003c/code\u003e\u003c/a\u003e Update zlib to 1.3.2 for Windows \u0026amp; Mac wheels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/h5py/h5py/compare/3.15.1...3.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpydantic` from 1.7.0 to 1.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/p2p-ld/numpydantic/releases\"\u003enumpydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.8.0 - \u003ccode\u003eNDArraySchema\u003c/code\u003e Annotated type specification\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eVersion Support\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/pull/63\"\u003e#63\u003c/a\u003e -\nDrop support for python 3.9, add (testing) support for 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eAdded\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/41\"\u003e#41\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/62\"\u003e#62\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/pull/64\"\u003e#64\u003c/a\u003e -\nAdd a {func}\u003ccode\u003e.NDArraySchema\u003c/code\u003e Annotated style specification to support static type checkers:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom numpydantic import NDArraySchema\r\n\u003cp\u003eclass MyModel(BaseModel):\narray: Annotated[np.ndarray, NDArraySchema((1, 2, 3), np.uint8)]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAllow shape to be used as a callable rather than a \u003ccode\u003e[]\u003c/code\u003e generic\u003c/li\u003e\n\u003cli\u003eAllow shape to accept shape arguments as \u003ccode\u003e*args\u003c/code\u003e rather than a single string\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eTesting\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded pyright testing\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/p2p-ld/numpydantic/blob/main/docs/changelog.md\"\u003enumpydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch4\u003e1.8.0 - 26-02-26\u003c/h4\u003e\n\u003cp\u003e\u003cstrong\u003eVersion Support\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/pull/63\"\u003e#63\u003c/a\u003e -\nDrop support for python 3.9, add (testing) support for 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eAdded\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/41\"\u003e#41\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/62\"\u003e#62\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/pull/64\"\u003e#64\u003c/a\u003e -\nAdd a {func}\u003ccode\u003e.NDArraySchema\u003c/code\u003e Annotated style specification to support static type checkers:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom numpydantic import NDArraySchema\n\u003cp\u003eclass MyModel(BaseModel):\narray: Annotated[np.ndarray, NDArraySchema((1, 2, 3), np.uint8)]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAllow shape to be used as a callable rather than a \u003ccode\u003e[]\u003c/code\u003e generic\u003c/li\u003e\n\u003cli\u003eAllow shape to accept shape arguments as \u003ccode\u003e*args\u003c/code\u003e rather than a single string\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eTesting\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded pyright testing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e1.7.*\u003c/h3\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/d213a8ceba9664864a9772824b855ee0d2d01eba\"\u003e\u003ccode\u003ed213a8c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/64\"\u003e#64\u003c/a\u003e from p2p-ld/ndarray-annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/73abaa73ecdfa373900cdb6ea0ba635e720ff519\"\u003e\u003ccode\u003e73abaa7\u003c/code\u003e\u003c/a\u003e remove reveal type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/967533574f2b9f036923d1efcbcce7d477d2c4cd\"\u003e\u003ccode\u003e9675335\u003c/code\u003e\u003c/a\u003e more normal numpy type annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/088bcce92cb6f72f86d5ebadbe3ba5b25735e9e5\"\u003e\u003ccode\u003e088bcce\u003c/code\u003e\u003c/a\u003e lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/fdaeec85498422d4805b1c341c5548ea95141b49\"\u003e\u003ccode\u003efdaeec8\u003c/code\u003e\u003c/a\u003e fix docs rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/2b9865f3ef6dc06c9c97bfa8c9d2757800dac109\"\u003e\u003ccode\u003e2b9865f\u003c/code\u003e\u003c/a\u003e make annotated schema class, allow shape to accept tuples and be callable, ad...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/d33350d2d99c37f05dd8f0c4cfdc54cbc39fe549\"\u003e\u003ccode\u003ed33350d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/p2p-ld/numpydantic/issues/63\"\u003e#63\u003c/a\u003e from p2p-ld/drop-py39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/6e59f07af3e1e6790483a67514e9c4c9b4daa75c\"\u003e\u003ccode\u003e6e59f07\u003c/code\u003e\u003c/a\u003e drop old pydantic test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/4a75ed511a725f101454a75b27ae9501d1160713\"\u003e\u003ccode\u003e4a75ed5\u003c/code\u003e\u003c/a\u003e bump python versions in linkml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/p2p-ld/numpydantic/commit/65a470f41422bdc444ac1a8d62f935b487ae840e\"\u003e\u003ccode\u003e65a470f\u003c/code\u003e\u003c/a\u003e if package missing, cant union None with None\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/p2p-ld/numpydantic/compare/v1.7.0...v1.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jaxtyping` from 0.2.38 to 0.3.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/releases\"\u003ejaxtyping's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejaxtyping v0.3.9\u003c/h2\u003e\n\u003cp\u003eBugfix: typechecking of pytrees of \u003ccode\u003e|\u003c/code\u003e-style unions, e.g. \u003ccode\u003eisinstance(..., PyTree[int | bool])\u003c/code\u003e, will no longer silently always pass. \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/381\"\u003epatrick-kidger/jaxtyping#381\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.8...v0.3.9\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.8...v0.3.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.8\u003c/h2\u003e\n\u003cp\u003eAnother bugfix release for \u003ccode\u003enumpy.typing.ArrayLike\u003c/code\u003e on numpy 2.4.0, I think this time only needed Python 3.13+. \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/380\"\u003e#380\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.7...v0.3.8\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.7...v0.3.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.7\u003c/h2\u003e\n\u003cp\u003eBugfix: \u003ccode\u003eSomeDtype[Union[numpy.typing.ArrayLike, ...], ...]\u003c/code\u003e will no longer crash in numpy 2.4.0. (\u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/374\"\u003e#374\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.6...v0.3.7\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.6...v0.3.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfix: \u003ccode\u003e@typing.no_type_check\u003c/code\u003e is now respected on dataclasses. (Thanks \u003ca href=\"https://github.com/jeertmans\"\u003e\u003ccode\u003e@​jeertmans\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/370\"\u003epatrick-kidger/jaxtyping#370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: the pytest plugin is now exected before pytest \u003ccode\u003econftest.py\u003c/code\u003e is ran, making it usable even if the package under test is imported inside \u003ccode\u003econftest.py\u003c/code\u003e. (Thanks \u003ca href=\"https://github.com/jeertmans\"\u003e\u003ccode\u003e@​jeertmans\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/371\"\u003epatrick-kidger/jaxtyping#371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: the pytest plugin supports typecheckers that call multi-argument constructors. (Thanks \u003ca href=\"https://github.com/jeertmans\"\u003e\u003ccode\u003e@​jeertmans\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/369\"\u003epatrick-kidger/jaxtyping#369\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.5...v0.3.6\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.5...v0.3.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature: support \u003ccode\u003eTypeAliasType\u003c/code\u003es as array types. For example:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003etype Foo = np.ndarray | int\r\nFloat[Foo, \u0026quot;\u0026quot;]\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eIn particular, this re-enables support for \u003ccode\u003enumpy.typing.ArrayLike\u003c/code\u003e, which recently switched from being a union to a type alias.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs: big update to emphasize the way in which we are framework-agnostic.\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/patrick-kidger/jaxtyping/compare/v0.3.4...v0.3.5\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.4...v0.3.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd fp4e2m1fn type (Thanks \u003ca href=\"https://github.com/vincentlo-a\"\u003e\u003ccode\u003e@​vincentlo-a\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/353\"\u003epatrick-kidger/jaxtyping#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNo longer crashing if \u003ccode\u003enumpy\u003c/code\u003e not available. (Thanks \u003ca href=\"https://github.com/charlesbmi\"\u003e\u003ccode\u003e@​charlesbmi\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/361\"\u003epatrick-kidger/jaxtyping#361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNo longer crashing when building documentation using either either \u003ccode\u003epytkdoc_tweaks\u003c/code\u003e or \u003ccode\u003ehippogriffe\u003c/code\u003e (=my internal doc libraries that probably no-one else uses 😁) and JAX is not available (\u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/362\"\u003e#362\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/vincentlo-a\"\u003e\u003ccode\u003e@​vincentlo-a\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/353\"\u003epatrick-kidger/jaxtyping#353\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charlesbmi\"\u003e\u003ccode\u003e@​charlesbmi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/361\"\u003epatrick-kidger/jaxtyping#361\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.3...v0.3.4\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.3...v0.3.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/f7e00886e6c79f4ddf11293c46fa2b6948ea6a72\"\u003e\u003ccode\u003ef7e0088\u003c/code\u003e\u003c/a\u003e 0.3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/aae2fa7da38ebfbebac70523e49814a7f32c576d\"\u003e\u003ccode\u003eaae2fa7\u003c/code\u003e\u003c/a\u003e Fix typechecking of pytree of new-style union.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/f6477d486c9deaeb5c1cd73443ef5cc5ba5ea128\"\u003e\u003ccode\u003ef6477d4\u003c/code\u003e\u003c/a\u003e bump release pipeline to 3.12 to avoid jax weirdness on 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/7d360677973772984ab71b99bfd7a3ed738e15fe\"\u003e\u003ccode\u003e7d36067\u003c/code\u003e\u003c/a\u003e 0.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/6c3f488a5a6269981388ae3af9f747a0b6b7bd95\"\u003e\u003ccode\u003e6c3f488\u003c/code\u003e\u003c/a\u003e Yet another fix for numpy 2.4.0, I think this time this is needed for Python ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/b3ad46f43b6a75a11a4ce880b0cb6eed883b88a3\"\u003e\u003ccode\u003eb3ad46f\u003c/code\u003e\u003c/a\u003e Numpy 2.4.0 compat: fix union of arraylike.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/103e004b2b8aba25afb7423ff6579c93bcd33da3\"\u003e\u003ccode\u003e103e004\u003c/code\u003e\u003c/a\u003e 0.3.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/4bb34ef92fc54baa2e2edc537255acec96e00fa4\"\u003e\u003ccode\u003e4bb34ef\u003c/code\u003e\u003c/a\u003e fix(lib): respect \u003ccode\u003e@no_type_check\u003c/code\u003e decorator on class (\u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/370\"\u003e#370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/9be85233d60c8c08167e24704b2af7b017478e2e\"\u003e\u003ccode\u003e9be8523\u003c/code\u003e\u003c/a\u003e fix(pytest): execute import hook before \u003ccode\u003econftest.py\u003c/code\u003e files are read\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/aec7db5977f54b332931b5f84fc75978e4b30f71\"\u003e\u003ccode\u003eaec7db5\u003c/code\u003e\u003c/a\u003e fix(pytest_plugin): avoid splitting typechecker constructor with commas\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.2.38...v0.3.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `polars` from 1.37.1 to 1.39.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pola-rs/polars/releases\"\u003epolars's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePython Polars 1.39.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Performance improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLower \u003ccode\u003earg_{min,max}\u003c/code\u003e to streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26845\"\u003e#26845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional IR slice pushdown after filter pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26815\"\u003e#26815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming first/last on Enum through physical (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26783\"\u003e#26783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFast filter for scalar predicates (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26745\"\u003e#26745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow SimpleProjection in streaming engine to rename (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26709\"\u003e#26709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming cloud download for \u003ccode\u003escan_csv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26637\"\u003e#26637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop columns only needed for predicates after the predicate is applied (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26703\"\u003e#26703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun projection pushdown after predicate pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26688\"\u003e#26688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eComparison literal downcasting (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26663\"\u003e#26663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd dynamic predicates for TopK (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26495\"\u003e#26495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncrease minimum default parquet row group prefetch to 8 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26632\"\u003e#26632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePartial predicate conversion to PyArrow (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26567\"\u003e#26567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming cloud download for \u003ccode\u003escan_ndjson\u003c/code\u003e / \u003ccode\u003escan_lines\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26563\"\u003e#26563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGrab GIL fewer times during Object join materialization (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26587\"\u003e#26587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove CSV and NDJSON cloud sink performance (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26545\"\u003e#26545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTune cloud writer performance (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26518\"\u003e#26518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow parallel InMemorySinks in streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26501\"\u003e#26501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd streaming \u003ccode\u003eAsOf\u003c/code\u003e join node (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26398\"\u003e#26398\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't always rechunk on gather of nested types (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26478\"\u003e#26478\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Expr for holidays in business day calculations (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26193\"\u003e#26193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eParameter for pivot to always include value column name (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26730\"\u003e#26730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRaise error in \u003ccode\u003e.collect_schema()\u003c/code\u003e when \u003ccode\u003earr.get()\u003c/code\u003e is out-of-bounds (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26866\"\u003e#26866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExtend \u003ccode\u003eExpr.reinterpret\u003c/code\u003e to all numeric types of the same size (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26401\"\u003e#26401\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing_columns parameter to scan_csv (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26787\"\u003e#26787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClear no-op scan projections (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26858\"\u003e#26858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport nested datatypes for \u003ccode\u003e{min,max}_by\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26849\"\u003e#26849\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport SQL \u003ccode\u003eARRAY\u003c/code\u003e init from typed literals (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26622\"\u003e#26622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAccept table identifier string in \u003ccode\u003escan_iceberg()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26826\"\u003e#26826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a convenience \u003ccode\u003emake fresh\u003c/code\u003e command to the Makefile (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26809\"\u003e#26809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose \u0026quot;use_zip64\u0026quot; Workbook option for \u003ccode\u003ewrite_excel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26699\"\u003e#26699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd unstable \u003ccode\u003eLazyFrame.sink_iceberg\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26799\"\u003e#26799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd maintain order argument on implode (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26782\"\u003e#26782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up casting primitive to bool by at least 2x (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26823\"\u003e#26823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport ASCII format table input to \u003ccode\u003epl.from_repr\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26806\"\u003e#26806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable rowgroup skipping for float columns (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26805\"\u003e#26805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd expression context to errors (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26716\"\u003e#26716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Decimal support for product reduction (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26725\"\u003e#26725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport all Iceberg V2 arrow types in sink_parquet arrow_schema parameter (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26669\"\u003e#26669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRe-work behavior of arrow_schema parameter on sink_parquet (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26621\"\u003e#26621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003econtains_dtype()\u003c/code\u003e method for \u003ccode\u003eSchema\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26661\"\u003e#26661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003etruncate\u003c/code\u003e as a \u0026quot;to_zero\u0026quot; rounding mode (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26677\"\u003e#26677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMore generic streaming GroupBy lowering (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26696\"\u003e#26696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCreate an \u003ccode\u003eAlignment\u003c/code\u003e TypeAlias (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26668\"\u003e#26668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd basic MemoryManager to track buffered dataframes for out-of-core support later (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26443\"\u003e#26443\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/pola-rs/polars/commit/2bce04ad4e3136d767c24bf1123739bc4ecd3c94\"\u003e\u003ccode\u003e2bce04a\u003c/code\u003e\u003c/a\u003e chore: Use large linux-arm runner for release (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26898\"\u003e#26898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/d764326cf1d661d02e78b5c42d0eb89cf0cf403c\"\u003e\u003ccode\u003ed764326\u003c/code\u003e\u003c/a\u003e Python Polars 1.39.0 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26891\"\u003e#26891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/3ebdb3acef9ca0976843f97ac5e95409f7ba93f7\"\u003e\u003ccode\u003e3ebdb3a\u003c/code\u003e\u003c/a\u003e fix: Prevent \u003ccode\u003eBoolean\u003c/code\u003e arithmetic with integer literals producing \u003ccode\u003eUnknown\u003c/code\u003e t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/fc24eeada027d04144c30910076f1beb90a9e284\"\u003e\u003ccode\u003efc24eea\u003c/code\u003e\u003c/a\u003e fix: Fix sink to partitioned S3 from Windows corrupted slashes (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26889\"\u003e#26889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/9a78aa1929e48c3b50590750b8b87da197b20d1e\"\u003e\u003ccode\u003e9a78aa1\u003c/code\u003e\u003c/a\u003e fix: Remove outdated warning about List columns in unique() (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26295\"\u003e#26295\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26890\"\u003e#26890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/d310d9660731ee491a2da37dfa0ee3984f763fdd\"\u003e\u003ccode\u003ed310d96\u003c/code\u003e\u003c/a\u003e fix: Restore pyarrow predicate conversion for is_in (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26811\"\u003e#26811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/9398fe91b1bb20ced505848ec079313eda146d0f\"\u003e\u003ccode\u003e9398fe9\u003c/code\u003e\u003c/a\u003e fix: Release GIL before df.to_ndarray() to avoid deadlock (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26832\"\u003e#26832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/7e1b8138aae609de4e1f07a6e784f9d558608df1\"\u003e\u003ccode\u003e7e1b813\u003c/code\u003e\u003c/a\u003e fix: Fix panic on CSV count_rows with FORCE_ASYNC (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26883\"\u003e#26883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/f380d60bc3da3c2fbbf84f6f584d3fff8589dcc7\"\u003e\u003ccode\u003ef380d60\u003c/code\u003e\u003c/a\u003e feat: Support Expr for holidays in business day calculations (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26193\"\u003e#26193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/13f88c656a2ba549df0fab180f6ac8ac6fffe567\"\u003e\u003ccode\u003e13f88c6\u003c/code\u003e\u003c/a\u003e fix: Add scalar comparisons for \u003ccode\u003eUInt128\u003c/code\u003e series (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26886\"\u003e#26886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pola-rs/polars/compare/py-1.37.1...py-1.39.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 23.0.0 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-23.0.0...apache-arrow-23.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fsspec` from 2026.1.0 to 2026.2.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/e6668a146cd07b9f50530c49ea3916d8ab13e169\"\u003e\u003ccode\u003ee6668a1\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1989\"\u003e#1989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/b6bd0752c1f133fb5005b4b21c065bde76f2c52b\"\u003e\u003ccode\u003eb6bd075\u003c/code\u003e\u003c/a\u003e fix parquet tests (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1988\"\u003e#1988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/6f825f3ba989893a283cb1f84abcb87953b4ca96\"\u003e\u003ccode\u003e6f825f3\u003c/code\u003e\u003c/a\u003e feat(compression): recover the support of the zstandard (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1986\"\u003e#1986\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1987\"\u003e#1987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/1de5e1db3bf6ba984a1386008f3fff97a406ec90\"\u003e\u003ccode\u003e1de5e1d\u003c/code\u003e\u003c/a\u003e Remove prefetching loop (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1984\"\u003e#1984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/9603a7c8329c7c24b476c77dcf924dda572113f0\"\u003e\u003ccode\u003e9603a7c\u003c/code\u003e\u003c/a\u003e fixes to parquet and known cache (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1982\"\u003e#1982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/2576617e5cbe441bcc53b021bccd85ff3489fde7\"\u003e\u003ccode\u003e2576617\u003c/code\u003e\u003c/a\u003e Support append and update for cached file systems (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1980\"\u003e#1980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/cea9d7c1fa3df31c02aa2ddd5df0cd06a9f4d1f4\"\u003e\u003ccode\u003ecea9d7c\u003c/code\u003e\u003c/a\u003e Return None for size if arrow file is not seekable (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1981\"\u003e#1981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/6e1196304d0ffdeb92372ff2f7ef154253afa92c\"\u003e\u003ccode\u003e6e11963\u003c/code\u003e\u003c/a\u003e Maybe fix column selection (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1979\"\u003e#1979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/635b2efb31d650c84405e97b6c26887361c3a973\"\u003e\u003ccode\u003e635b2ef\u003c/code\u003e\u003c/a\u003e Correct \u003ccode\u003efind\u003c/code\u003e behaviour with different combinations of arguments for `ZipFil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/8ce70ee802856daa540cdbc0bdde302a923288fb\"\u003e\u003ccode\u003e8ce70ee\u003c/code\u003e\u003c/a\u003e Implement created and modified methods from abstract filesystem class… (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1971\"\u003e#1971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/filesystem_spec/compare/2026.1.0...2026.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fonttools` from 4.61.1 to 4.62.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fonttools/fonttools/releases\"\u003efonttools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.62.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[diff] Add new \u003ccode\u003efonttools diff\u003c/code\u003e command for comparing font files, imported from the \u003ccode\u003efdiff\u003c/code\u003e project and heavily reworked (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/1190\"\u003e#1190\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4007\"\u003e#4007\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4009\"\u003e#4009\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4011\"\u003e#4011\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4013\"\u003e#4013\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4019\"\u003e#4019\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e interpolation bug with non-linear avar mappings. Also decouple \u003ccode\u003eVariableScalar\u003c/code\u003e from compiled fonts, allowing it to work with designspace data before compilation (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3938\"\u003e#3938\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4054\"\u003e#4054\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e axis ordering and iterative delta rounding to match fontc behavior (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4053\"\u003e#4053\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Merge chained multi subst rules with same context into a single subtable instead of emitting one subtable per glyph (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4016\"\u003e#4016\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4058\"\u003e#4058\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Pass location to \u003ccode\u003eConditionsetStatement\u003c/code\u003e\u003ccode\u003efontra/fontra-glyphs#130\u003c/code\u003e\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4057\"\u003e#4057\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Write \u003ccode\u003e0xFFFF\u003c/code\u003e instead of \u003ccode\u003e0\u003c/code\u003e for missing nameIDs in \u003ccode\u003ecv\u003c/code\u003e feature params (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4010\"\u003e#4010\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4012\"\u003e#4012\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[cmap] Fix \u003ccode\u003eCmapSubtable.__lt__()\u003c/code\u003e \u003ccode\u003eTypeError\u003c/code\u003e on Python 3 when subtables share the same encoding record, and add compile-time validation for unique encoding records (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4035\"\u003e#4035\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4055\"\u003e#4055\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[svgLib] Skip non-element XML nodes (comments, processing instructions) when drawing SVG paths (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4042\"\u003e#4042\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4043\"\u003e#4043\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[glifLib] Fix regression reading glyph outlines when \u003ccode\u003eglyphObject=None\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4030\"\u003e#4030\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4031\"\u003e#4031\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[pointPen] Fix \u003ccode\u003eSegmentToPointPen\u003c/code\u003e edge case: only remove a duplicate final point on \u003ccode\u003eclosePath()\u003c/code\u003e if it is an on-curve point (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4014\"\u003e#4014\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4015\"\u003e#4015\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[cffLib] \u003cstrong\u003eSECURITY\u003c/strong\u003e Replace \u003ccode\u003eeval()\u003c/code\u003e with \u003ccode\u003esafeEval()\u003c/code\u003e in \u003ccode\u003eparseBlendList()\u003c/code\u003e to prevent arbitrary code execution from crafted TTX files (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4039\"\u003e#4039\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4040\"\u003e#4040\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[ttLib] Remove defunct Adobe SING Glyphlet tables (\u003ccode\u003eMETA\u003c/code\u003e, \u003ccode\u003eSING\u003c/code\u003e, \u003ccode\u003eGMAP\u003c/code\u003e, \u003ccode\u003eGPKG\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4044\"\u003e#4044\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib.interpolatable] Various bugfixes: fix swapped nodeTypes assignment, duplicate kink-detector condition, typos, CFF2 vsindex parsing, glyph existence check, and plot helpers (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4046\"\u003e#4046\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib.models] Fix \u003ccode\u003egetSubModel\u003c/code\u003e not forwarding \u003ccode\u003eextrapolate\u003c/code\u003e/\u003ccode\u003eaxisRanges\u003c/code\u003e; check location uniqueness after stripping zeros (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4047\"\u003e#4047\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[varLib] Fix \u003ccode\u003e--variable-fonts\u003c/code\u003e filter in \u003ccode\u003ebuild_many\u003c/code\u003e; remove dead code and fix comments (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4048\"\u003e#4048\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[avar] Preserve existing name table in build; keep \u003ccode\u003eunbuild\u003c/code\u003e return types consistent; validate \u003ccode\u003emap\u003c/code\u003e CLI coordinates (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4051\"\u003e#4051\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[cu2qu/qu2cu] Add input validation: reject non-positive tolerances, validate curve inputs and list lengths (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4052\"\u003e#4052\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[colorLib] Raise a clear \u003ccode\u003eColorLibError\u003c/code\u003e when base glyphs are missing from glyphMap, instead of a confusing \u003ccode\u003eKeyError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4041\"\u003e#4041\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[glyf] Remove unnecessary \u003ccode\u003efvar\u003c/code\u003e table dependency (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4017\"\u003e#4017\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[fvar/trak] Remove unnecessary \u003ccode\u003ename\u003c/code\u003e table dependency (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4018\"\u003e#4018\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[ufoLib] Relax guideline validation to follow the updated spec (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3537\"\u003e#3537\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3553\"\u003e#3553\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[ttFont] Fix \u003ccode\u003esaveXML\u003c/code\u003e regression with empty table lists, clarify docstring (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4025\"\u003e#4025\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4026\"\u003e#4026\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4056\"\u003e#4056\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[setup.py] Link \u003ccode\u003elibm\u003c/code\u003e for Cython extensions using math functions (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4028\"\u003e#4028\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4029\"\u003e#4029\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd typing annotations for \u003ccode\u003eDSIG\u003c/code\u003e, \u003ccode\u003eDefaultTable\u003c/code\u003e, \u003ccode\u003ettProgram\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4033\"\u003e#4033\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/fonttools/fonttools/blob/main/NEWS.rst\"\u003efonttools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.62.0 (released 2026-03-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[diff] Add new \u003ccode\u003efonttools diff\u003c/code\u003e command for comparing font files, imported from the\n\u003ccode\u003efdiff\u003c/code\u003e project and heavily reworked (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/1190\"\u003e#1190\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4007\"\u003e#4007\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4009\"\u003e#4009\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4011\"\u003e#4011\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4013\"\u003e#4013\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4019\"\u003e#4019\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e interpolation bug with non-linear avar mappings. Also\ndecouple \u003ccode\u003eVariableScalar\u003c/code\u003e from compiled fonts, allowing it to work with designspace data\nbefore compilation (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/3938\"\u003e#3938\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4054\"\u003e#4054\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Fix \u003ccode\u003eVariableScalar\u003c/code\u003e axis ordering and iterative delta rounding to match fontc\nbehavior (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4053\"\u003e#4053\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Merge chained multi subst rules with same context into a single subtable instead of\nemitting one subtable per glyph (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4016\"\u003e#4016\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4058\"\u003e#4058\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Pass location to \u003ccode\u003eConditionsetStatement\u003c/code\u003e to fix glyphsLib round-tripping\n\u003ccode\u003efontra/fontra-glyphs#130\u003c/code\u003e\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4057\"\u003e#4057\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[feaLib] Write \u003ccode\u003e0xFFFF\u003c/code\u003e instead of \u003ccode\u003e0\u003c/code\u003e for missing nameIDs in \u003ccode\u003ecv\u003c/code\u003e feature params\n(\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4010\"\u003e#4010\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4012\"\u003e#4012\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[cmap] Fix \u003ccode\u003eCmapSubtable.__lt__()\u003c/code\u003e \u003ccode\u003eTypeError\u003c/code\u003e on Python 3 when subtables share the\nsame encoding record, and add compile-time validation for unique encoding records (\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4035\"\u003e#4035\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/fonttools/fonttools/issues/4055\"\u003e#4055\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e[svgLib] Skip non-element XML nodes (comments, processing instructions) when drawing SVG\npaths (\u003ca href=\"ht...\n\n_Description has been truncated_","html_url":"https://github.com/eliagroup/ToOp/pull/328","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliagroup%2FToOp/issues/328","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/328/packages"}},{"old_version":"21.0.0","new_version":"23.0.1","update_type":"major","path":null,"pr_created_at":"2026-03-17T04:04:37.000Z","version_change":"21.0.0 → 23.0.1","issue":{"uuid":"4086072905","node_id":"PR_kwDORckIoM7LGgi0","number":286,"state":"open","title":"security(deps): bump the training-dependencies group across 1 directory with 54 updates","user":"dependabot[bot]","labels":["dependencies","python","training"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-17T04:04:37.000Z","updated_at":"2026-03-17T04:36:23.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"security(deps): bump","group_name":"training-dependencies","update_count":54,"packages":[{"name":"numpy","old_version":"1.26.4","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"azure-core","old_version":"1.38.2","new_version":"1.38.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-identity","old_version":"1.25.2","new_version":"1.25.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-ai-ml","old_version":"1.31.0","new_version":"1.32.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"marshmallow","old_version":"3.26.2","new_version":"4.2.2","repository_url":"https://github.com/marshmallow-code/marshmallow"},{"name":"mlflow","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"rsl-rl-lib","old_version":"5.0.0","new_version":"5.0.1","repository_url":"https://github.com/leggedrobotics/rsl_rl"},{"name":"azure-storage-file-datalake","old_version":"12.14.0","new_version":"12.23.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"cachetools","old_version":"6.2.6","new_version":"7.0.5","repository_url":"https://github.com/tkem/cachetools"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.6","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"croniter","old_version":"6.0.0","new_version":"6.2.2","repository_url":"https://github.com/pallets-eco/croniter"},{"name":"cyclopts","old_version":"4.6.0","new_version":"4.10.0","repository_url":"https://github.com/BrianPugh/cyclopts"},{"name":"databricks-sdk","old_version":"0.96.0","new_version":"0.100.0","repository_url":"https://github.com/databricks/databricks-sdk-py"},{"name":"fastmcp","old_version":"2.14.5","new_version":"3.1.1","repository_url":"https://github.com/PrefectHQ/fastmcp"},{"name":"filelock","old_version":"3.25.0","new_version":"3.25.2","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"google-auth","old_version":"2.48.0","new_version":"2.49.1","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"graphql-core","old_version":"3.2.7","new_version":"3.2.8","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"jaraco-context","old_version":"6.1.0","new_version":"6.1.1","repository_url":"https://github.com/jaraco/jaraco.context"},{"name":"kiwisolver","old_version":"1.4.9","new_version":"1.5.0","repository_url":"https://github.com/nucleic/kiwi"},{"name":"mlflow-skinny","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mlflow-tracing","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/mpmath/mpmath"},{"name":"msal","old_version":"1.35.0","new_version":"1.35.1","repository_url":"https://github.com/AzureAD/microsoft-authentication-library-for-python"},{"name":"opentelemetry-api","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-asgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-dbapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-django","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-fastapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-flask","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-psycopg2","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-wsgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-util-http","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"platformdirs","old_version":"4.9.2","new_version":"4.9.4","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"protobuf","old_version":"6.33.5","new_version":"7.34.0","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"py-key-value-aio","old_version":"0.3.0","new_version":"0.4.4"},{"name":"pyarrow","old_version":"21.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"pyasn1","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pydocket","old_version":"0.18.0","new_version":"0.18.2","repository_url":"https://github.com/chrisguidry/docket"},{"name":"pytz","old_version":"2025.2","new_version":"2026.1.post1","repository_url":"https://github.com/stub42/pytz"},{"name":"redis","old_version":"7.2.1","new_version":"7.3.0","repository_url":"https://github.com/redis/redis-py"},{"name":"setuptools","old_version":"82.0.0","new_version":"82.0.1","repository_url":"https://github.com/pypa/setuptools"},{"name":"smmap","old_version":"5.0.2","new_version":"5.0.3","repository_url":"https://github.com/gitpython-developers/smmap"},{"name":"uvicorn","old_version":"0.41.0","new_version":"0.42.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"wrapt","old_version":"1.17.3","new_version":"2.1.2","repository_url":"https://github.com/GrahamDumpleton/wrapt"}],"path":null,"ecosystem":"pip"},"body":"Bumps the training-dependencies group with 54 updates in the /training/rl directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.4.3` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.2` | `1.38.3` |\n| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.25.2` | `1.25.3` |\n| [azure-ai-ml](https://github.com/Azure/azure-sdk-for-python) | `1.31.0` | `1.32.0` |\n| [marshmallow](https://github.com/marshmallow-code/marshmallow) | `3.26.2` | `4.2.2` |\n| [mlflow](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [rsl-rl-lib](https://github.com/leggedrobotics/rsl_rl) | `5.0.0` | `5.0.1` |\n| [azure-storage-file-datalake](https://github.com/Azure/azure-sdk-for-python) | `12.14.0` | `12.23.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.6` | `7.0.5` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.6` |\n| [croniter](https://github.com/pallets-eco/croniter) | `6.0.0` | `6.2.2` |\n| [cyclopts](https://github.com/BrianPugh/cyclopts) | `4.6.0` | `4.10.0` |\n| [databricks-sdk](https://github.com/databricks/databricks-sdk-py) | `0.96.0` | `0.100.0` |\n| [fastmcp](https://github.com/PrefectHQ/fastmcp) | `2.14.5` | `3.1.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.25.0` | `3.25.2` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.1` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.48.0` | `2.49.1` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.7` | `3.2.8` |\n| [jaraco-context](https://github.com/jaraco/jaraco.context) | `6.1.0` | `6.1.1` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.9` | `1.5.0` |\n| [mlflow-skinny](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mlflow-tracing](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.1` |\n| [msal](https://github.com/AzureAD/microsoft-authentication-library-for-python) | `1.35.0` | `1.35.1` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-asgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-dbapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-django](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-flask](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-psycopg2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-wsgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b0` | `0.61b0` |\n| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.9.2` | `4.9.4` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.5` | `7.34.0` |\n| py-key-value-aio | `0.3.0` | `0.4.4` |\n| [pyarrow](https://github.com/apache/arrow) | `21.0.0` | `23.0.1` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.6.2` | `0.6.3` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| [pydocket](https://github.com/chrisguidry/docket) | `0.18.0` | `0.18.2` |\n| [pytz](https://github.com/stub42/pytz) | `2025.2` | `2026.1.post1` |\n| [redis](https://github.com/redis/redis-py) | `7.2.1` | `7.3.0` |\n| [setuptools](https://github.com/pypa/setuptools) | `82.0.0` | `82.0.1` |\n| [smmap](https://github.com/gitpython-developers/smmap) | `5.0.2` | `5.0.3` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.41.0` | `0.42.0` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.2` |\n\n\nUpdates `numpy` from 1.26.4 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/v1.26.4...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-core` from 1.38.2 to 1.38.3\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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-core_1.38.3\u003c/h2\u003e\n\u003ch2\u003e1.38.3 (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ePipelineClient.format_url\u003c/code\u003e to preserve trailing slash in the base URL when the URL template is query-string-only (e.g., \u003ccode\u003e?key=value\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45365\"\u003e#45365\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSensitiveHeaderCleanupPolicy\u003c/code\u003e to persist the \u003ccode\u003einsecure_domain_change\u003c/code\u003e flag across retries after a cross-domain redirect. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45518\"\u003e#45518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded jitter to token refresh timing in \u003ccode\u003eBearerTokenCredentialPolicy\u003c/code\u003e and \u003ccode\u003eAsyncBearerTokenCredentialPolicy\u003c/code\u003e to prevent simultaneous token refresh attempts across multiple processes. This helps mitigate the thundering herd problem during token refresh operations. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43720\"\u003e#43720\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/Azure/azure-sdk-for-python/commit/c6e48b5cd71adf5728a5e2f33bc9f62fb221221f\"\u003e\u003ccode\u003ec6e48b5\u003c/code\u003e\u003c/a\u003e [Core] Prepare release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45656\"\u003e#45656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/079e76bb7bef96cf1027777afc69995b6024b857\"\u003e\u003ccode\u003e079e76b\u003c/code\u003e\u003c/a\u003e Port data-plane packages in sdk/core/ to pyproject.toml (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45556\"\u003e#45556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2117dfb31ed48fe429ef2604aeb89526e9496c66\"\u003e\u003ccode\u003e2117dfb\u003c/code\u003e\u003c/a\u003e [Core] Persist cross domain redirect flag (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45518\"\u003e#45518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2d0a9aa509c220d575c33e81207a5b6dedb5f148\"\u003e\u003ccode\u003e2d0a9aa\u003c/code\u003e\u003c/a\u003e [Core] Update pytest fixture scope (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45563\"\u003e#45563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/4c4c8698d61f2ad60296ef0cf7c64f7837cdc5a3\"\u003e\u003ccode\u003e4c4c869\u003c/code\u003e\u003c/a\u003e [Core] Add jitter to token refresh intervals (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43720\"\u003e#43720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/41391f1e7b5ad52e3d480a7adcbf3fa5b99e2326\"\u003e\u003ccode\u003e41391f1\u003c/code\u003e\u003c/a\u003e [azure-core] Fix \u003ccode\u003eformat_url\u003c/code\u003e dropping trailing slash when URL template is qu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/9fdb4f1a9764b466a408eeed45ce59da97e150a5\"\u003e\u003ccode\u003e9fdb4f1\u003c/code\u003e\u003c/a\u003e [Corehttp] Changelog update (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45113\"\u003e#45113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/f40b764989ce757cd35698cae9c91b3a52c0b7a9\"\u003e\u003ccode\u003ef40b764\u003c/code\u003e\u003c/a\u003e Increment package version after release of azure-core (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45246\"\u003e#45246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-core_1.38.2...azure-core_1.38.3\"\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.25.2 to 1.25.3\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-identity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-identity_1.25.3\u003c/h2\u003e\n\u003ch2\u003e1.25.3 (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an expired token could skip refresh when a recent token request was made, due to the retry delay taking precedence over expiration. (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/45496\"\u003e#45496\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBumped minimum dependency on \u003ccode\u003emsal\u003c/code\u003e to \u003ccode\u003e\u0026gt;=1.35.1\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/Azure/azure-sdk-for-python/commit/a989ea467731265fdf097b622ba254703187746b\"\u003e\u003ccode\u003ea989ea4\u003c/code\u003e\u003c/a\u003e [Identity] Prep patch release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/79728834e7f38018d372860cf9117bf51d9ed417\"\u003e\u003ccode\u003e7972883\u003c/code\u003e\u003c/a\u003e [Identity] Adjust refresh logic (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45496\"\u003e#45496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/04764a9a8a0cb59aab6421b41152246853dfcfe8\"\u003e\u003ccode\u003e04764a9\u003c/code\u003e\u003c/a\u003e add psscript to convert apiview json files to md (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45589\"\u003e#45589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/50e01659d7204865dfa07c5ece1019ed9a229b4f\"\u003e\u003ccode\u003e50e0165\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 14461 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45646\"\u003e#45646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/5333117e0e181404ff4deaa757e9b6ef86dabf8b\"\u003e\u003ccode\u003e5333117\u003c/code\u003e\u003c/a\u003e Add Bo to /sdk/ai/azure-ai-projects owner list (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45664\"\u003e#45664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/775d6942e4335422fc69da8e997a6069e356b104\"\u003e\u003ccode\u003e775d694\u003c/code\u003e\u003c/a\u003e Doc and automation updates for .github sync directory changes (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45630\"\u003e#45630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/c6e48b5cd71adf5728a5e2f33bc9f62fb221221f\"\u003e\u003ccode\u003ec6e48b5\u003c/code\u003e\u003c/a\u003e [Core] Prepare release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45656\"\u003e#45656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/ae769c4e9379c8d309bffa5ccb76dcfba64e1f71\"\u003e\u003ccode\u003eae769c4\u003c/code\u003e\u003c/a\u003e Fix custom Memory Stores LRO poller operation (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45662\"\u003e#45662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/6074492844d670316eb171756483f1394a6c94c7\"\u003e\u003ccode\u003e6074492\u003c/code\u003e\u003c/a\u003e Add asset id none check in dt (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45618\"\u003e#45618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/e1a986aeb7a8001bd3a4f336cf096c2b050aa480\"\u003e\u003ccode\u003ee1a986a\u003c/code\u003e\u003c/a\u003e Bump tar from 7.5.10 to 7.5.11 in /eng/common/tsp-client (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45640\"\u003e#45640\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.25.2...azure-identity_1.25.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-ai-ml` from 1.31.0 to 1.32.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-ai-ml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-ai-ml_1.32.0\u003c/h2\u003e\n\u003ch2\u003e1.32.0 (2026-03-04)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip _list_secrets for identity-based datastores to prevent noisy telemetry traces.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4f79bdf278eaa55e855884dbd9bd841d62c7583c\"\u003e\u003ccode\u003e4f79bdf\u003c/code\u003e\u003c/a\u003e Remove empty 'Other Changes' section from CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/fe81c2e887e21aad87f63c476f71f4444f8deaab\"\u003e\u003ccode\u003efe81c2e\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 1.32.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/b5e228067bf3e66f04074a893e30eda239e13f0f\"\u003e\u003ccode\u003eb5e2280\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2ddc7b9c3d0c1f05304ff1bb53863b730e6edb1d\"\u003e\u003ccode\u003e2ddc7b9\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-artifactsigning]-generated-from-SDK Generation - Python-58...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/c270319e20141ce00ac29959f3a5aad1836c4176\"\u003e\u003ccode\u003ec270319\u003c/code\u003e\u003c/a\u003e App Configuration - Snapshot references (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44116\"\u003e#44116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/f6050668fd6308858a3dabc8e5d660c563b033b0\"\u003e\u003ccode\u003ef605066\u003c/code\u003e\u003c/a\u003e [CODEOWNERS Data Quality] Fix up CODEOWNERS (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44945\"\u003e#44945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/47e90c151dfde889db32985b8ec0b0d7edcfa167\"\u003e\u003ccode\u003e47e90c1\u003c/code\u003e\u003c/a\u003e Use azpysdk ApiStub in CI (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44439\"\u003e#44439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/7700f5a8eae238b6e9777da321cd20b5fe6a7100\"\u003e\u003ccode\u003e7700f5a\u003c/code\u003e\u003c/a\u003e [VoiceLive] Add code owners (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45191\"\u003e#45191\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/a9b472fb0526d64c3eb6d55d7d14ff63c8a761fe\"\u003e\u003ccode\u003ea9b472f\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-managedops]-generated-from-SDK Generation - Python-5788712...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/bef7492d4b2d346178adea165eff23fafe838c0c\"\u003e\u003ccode\u003ebef7492\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-postgresqlflexibleservers]-generated-from-SDK Generation -...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-ai-ml_1.31.0...azure-ai-ml_1.32.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marshmallow` from 3.26.2 to 4.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/marshmallow-code/marshmallow/blob/dev/CHANGELOG.rst\"\u003emarshmallow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.2 (2026-02-04)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix behavior of \u003ccode\u003efields.Contant(None)\u003c/code\u003e (:issue:\u003ccode\u003e2868\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for reporting and \u003ccode\u003eemmanuel-ferdman\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.1 (2026-01-23)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix validation of URLs beginning with uppercare \u003ccode\u003eFILE\u003c/code\u003e (:issue:\u003ccode\u003e2891\u003c/code\u003e).\nThanks :user:\u003ccode\u003ethanhlecongg\u003c/code\u003e for reporting and fixing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.0 (2026-01-04)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emany\u003c/code\u003e argument of \u003ccode\u003eNested\u003c/code\u003e properly overrides schema instance\nvalue (:pr:\u003ccode\u003e2854\u003c/code\u003e). Thanks :user:\u003ccode\u003ejafournier\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.2 (2025-12-19)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:cve:\u003ccode\u003e2025-68480\u003c/code\u003e: Merge error store messages without rebuilding collections.\nThanks 카푸치노 for reporting and :user:\u003ccode\u003edeckar01\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.1 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003eURL\u003c/code\u003e validator is case-insensitive when using custom schemes (:pr:\u003ccode\u003e2874\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.0 (2025-11-01)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e__len__\u003c/code\u003e implementation to \u003ccode\u003emissing\u003c/code\u003e so that it can be used with\n\u003ccode\u003evalidate.Length \u0026lt;marshmallow.validate.Length\u0026gt;\u003c/code\u003e (:pr:\u003ccode\u003e2861\u003c/code\u003e).\nThanks :user:\u003ccode\u003eagentgodzilla\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (:pr:\u003ccode\u003e2363\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/marshmallow-code/marshmallow/commit/2a3812d5049c83e98db60a0869919521f97cd77d\"\u003e\u003ccode\u003e2a3812d\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/19ca8dce2d5bde94509a4a89e495f35c695442d5\"\u003e\u003ccode\u003e19ca8dc\u003c/code\u003e\u003c/a\u003e Fix Constant field rejecting None values during load (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2894\"\u003e#2894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/213ee3a020e24fb26ead3a2285ba0402c90080ce\"\u003e\u003ccode\u003e213ee3a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2896\"\u003e#2896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/ba8b512b24ebf4789099f1afafe9256b1bda950e\"\u003e\u003ccode\u003eba8b512\u003c/code\u003e\u003c/a\u003e Update AUTHORS.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/40105adb3b3916dda5dcd16133d29ad44e7a33b9\"\u003e\u003ccode\u003e40105ad\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/39e7c833e9c8711a49d6d710f7e3ee5cf2effbbe\"\u003e\u003ccode\u003e39e7c83\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2892\"\u003e#2892\u003c/a\u003e from thanhlecongg/fix-2891\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/78a94ea0e7ee9f35f8322318064232fe6147f190\"\u003e\u003ccode\u003e78a94ea\u003c/code\u003e\u003c/a\u003e Fix docstring typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/8dc078e2b86312988e5f7ed32849ae0788779e81\"\u003e\u003ccode\u003e8dc078e\u003c/code\u003e\u003c/a\u003e fix issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c62b9113dc0ec136eb24214b6eb6f856af8f5df3\"\u003e\u003ccode\u003ec62b911\u003c/code\u003e\u003c/a\u003e add tests for issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/d07bf5e3d218cd5ffa1fcd1dce411f7a5c88e256\"\u003e\u003ccode\u003ed07bf5e\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2887\"\u003e#2887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/marshmallow-code/marshmallow/compare/3.26.2...4.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow` from 3.5.0 to 3.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/releases\"\u003emlflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gateway] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.10.0, which includes several notable updates:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.1 (2026-03-05)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.10.0 (2026-02-20)\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/mlflow/mlflow/commit/cadc323c059d08ee15c3a312afd0eefeeccedc94\"\u003e\u003ccode\u003ecadc323\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1 (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21396\"\u003e#21396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3d17d6c58e1e0078c062321322fc76b1b822ab6d\"\u003e\u003ccode\u003e3d17d6c\u003c/code\u003e\u003c/a\u003e Add back virtualenv to fix the docker build until the next release (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3cfc12fe1359afbade834a74f57e0bbe2ef4531c\"\u003e\u003ccode\u003e3cfc12f\u003c/code\u003e\u003c/a\u003e Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/bcaad26df7e825fe15d4deffa0f05478e010bc10\"\u003e\u003ccode\u003ebcaad26\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/ff3249ff8a5f62e344f382d5fcdb419379780c78\"\u003e\u003ccode\u003eff3249f\u003c/code\u003e\u003c/a\u003e Update GenAI link and video in the getting started page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1591d038ae47271382fddd2b8653286af7c31138\"\u003e\u003ccode\u003e1591d03\u003c/code\u003e\u003c/a\u003e Persist AI Gateway default passphrase security banner dismissal to localStora...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/32979c9e560346a54d05ba7ff53434f215c5958f\"\u003e\u003ccode\u003e32979c9\u003c/code\u003e\u003c/a\u003e Demote unused parameters log message from WARNING to DEBUG in instructions ju...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/18eeea03c3d0af5b915bb3880a71198b5123e0bd\"\u003e\u003ccode\u003e18eeea0\u003c/code\u003e\u003c/a\u003e Make simulator explicitly avoid stating goal in first message (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/42d4356e18c0c2548ff3b290b11f36a992530d9d\"\u003e\u003ccode\u003e42d4356\u003c/code\u003e\u003c/a\u003e Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1a14934cc0116ddd91fb693e2b52bed12683521a\"\u003e\u003ccode\u003e1a14934\u003c/code\u003e\u003c/a\u003e Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.5.0...v3.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 25.0 to 26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0\u003c/h2\u003e\n\u003cp\u003eRead about the performance improvements here: \u003ca href=\"https://iscinumpy.dev/post/packaging-faster\"\u003ehttps://iscinumpy.dev/post/packaging-faster\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/900\"\u003epypa/packaging#900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata by \u003ca href=\"https://github.com/brettcannon\"\u003e\u003ccode\u003e@​brettcannon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/948\"\u003epypa/packaging#948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport writing metadata by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/846\"\u003epypa/packaging#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e for \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1003\"\u003epypa/packaging#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifier\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1004\"\u003epypa/packaging#1004\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/897\"\u003epypa/packaging#897\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/942\"\u003epypa/packaging#942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/951\"\u003epypa/packaging#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/932\"\u003epypa/packaging#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/954\"\u003epypa/packaging#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparsions by \u003ca href=\"https://github.com/JP-Ellis\"\u003e\u003ccode\u003e@​JP-Ellis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/939\"\u003epypa/packaging#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e by \u003ca href=\"https://github.com/dholth\"\u003e\u003ccode\u003e@​dholth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/860\"\u003epypa/packaging#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/896\"\u003epypa/packaging#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/868\"\u003epypa/packaging#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e by \u003ca href=\"https://github.com/bwoodsend\"\u003e\u003ccode\u003e@​bwoodsend\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/879\"\u003epypa/packaging#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format by \u003ca href=\"https://github.com/di\"\u003e\u003ccode\u003e@​di\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/925\"\u003epypa/packaging#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon by \u003ca href=\"https://github.com/pradyunsg\"\u003e\u003ccode\u003e@​pradyunsg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/833\"\u003epypa/packaging#833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/931\"\u003epypa/packaging#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/953\"\u003epypa/packaging#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA root logger use found by ruff LOG, use \u003ccode\u003epackaging\u003c/code\u003e logger instead by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/965\"\u003epypa/packaging#965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1022\"\u003epypa/packaging#1022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1024\"\u003epypa/packaging#1024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1033\"\u003epypa/packaging#1033\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup by \u003ca href=\"https://github.com/hauntsaninja\"\u003e\u003ccode\u003e@​hauntsaninja\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1019\"\u003epypa/packaging#1019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/869\"\u003epypa/packaging#869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/bearomorphism\"\u003e\u003ccode\u003e@​bearomorphism\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/913\"\u003epypa/packaging#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003es in specifier comparison by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/986\"\u003epypa/packaging#986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eSpecifier\u003c/code\u003e's Version by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/985\"\u003epypa/packaging#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/987\"\u003epypa/packaging#987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/990\"\u003epypa/packaging#990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/988\"\u003epypa/packaging#988\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1055\"\u003epypa/packaging#1055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/989\"\u003epypa/packaging#989\u003c/a\u003e and regression for \u003ccode\u003epackaging_legacy\u003c/code\u003e fixed by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1048\"\u003epypa/packaging#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/993\"\u003epypa/packaging#993\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efullmatch\u003c/code\u003e in a couple more places by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/992\"\u003epypa/packaging#992\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/blob/main/CHANGELOG.rst\"\u003epackaging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e26.0 - 2026-01-20\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nFeatures:\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock (:pull:\u003ccode\u003e900\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata (:pull:\u003ccode\u003e948\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport for writing metadata to a file (:pull:\u003ccode\u003e846\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e on Version (:pull:\u003ccode\u003e1003\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e1004\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e897\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e951\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version (:pull:\u003ccode\u003e932\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. (:pull:\u003ccode\u003e954\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparisons (:pull:\u003ccode\u003e939\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e (:pull:\u003ccode\u003e860\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e (:pull:\u003ccode\u003e896\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e (:pull:\u003ccode\u003e868\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e (:pull:\u003ccode\u003e879\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format (:pull:\u003ccode\u003e925\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon (:pull:\u003ccode\u003e833\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions (:pull:\u003ccode\u003e931\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string (:pull:\u003ccode\u003e953\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eA root logger use found, use a \u003ccode\u003epackaging\u003c/code\u003e logger instead (:pull:\u003ccode\u003e965\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e (:pull:\u003ccode\u003e1022\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first (:pull:\u003ccode\u003e1024\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct (:pull:\u003ccode\u003e1033\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup (:pull:\u003ccode\u003e1019\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e (:pull:\u003ccode\u003e869\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e913\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003e's in specifier comparison (:pull:\u003ccode\u003e986\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCache the \u003ccode\u003eSpecifier\u003c/code\u003e's \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e985\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster (:pull:\u003ccode\u003e987\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup (:pull:\u003ccode\u003e990\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ for \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e988\u003c/code\u003e, :pull:\u003ccode\u003e1055\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e989\u003c/code\u003e, :pull:\u003ccode\u003e1048\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e (:pull:\u003ccode\u003e993\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ere.fullmatch\u003c/code\u003e in a couple more places (:pull:\u003ccode\u003e992\u003c/code\u003e, :pull:\u003ccode\u003e1029\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003emap\u003c/code\u003e instead of generator (:pull:\u003ccode\u003e996\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003e._version\u003c/code\u003e (\u003ccode\u003e_Version\u003c/code\u003e, a \u003ccode\u003eNamedTuple\u003c/code\u003e) (:pull:\u003ccode\u003e995\u003c/code\u003e, :pull:\u003ccode\u003e106...\n\n_Description has been truncated_","html_url":"https://github.com/microsoft/physical-ai-toolchain/pull/286","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fphysical-ai-toolchain/issues/286","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/286/packages"}},{"old_version":"21.0.0","new_version":"23.0.1","update_type":"major","path":null,"pr_created_at":"2026-03-17T02:36:10.000Z","version_change":"21.0.0 → 23.0.1","issue":{"uuid":"4085856754","node_id":"PR_kwDORckIoM7LF2od","number":285,"state":"closed","title":"chore(deps): bump the training-dependencies group across 1 directory with 57 updates","user":"dependabot[bot]","labels":["dependencies","python","training"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-03-17T04:01:06.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-17T02:36:10.000Z","updated_at":"2026-03-17T04:38:38.000Z","time_to_close":5096,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"training-dependencies","update_count":57,"packages":[{"name":"numpy","old_version":"1.26.4","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"azure-core","old_version":"1.38.1","new_version":"1.38.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-blob","old_version":"12.19.0","new_version":"12.28.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-identity","old_version":"1.25.2","new_version":"1.25.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-ai-ml","old_version":"1.31.0","new_version":"1.32.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"marshmallow","old_version":"3.26.2","new_version":"4.2.2","repository_url":"https://github.com/marshmallow-code/marshmallow"},{"name":"mlflow","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"azureml-mlflow","old_version":"1.61.0.post1","new_version":"1.62.0","repository_url":"https://github.com/Azure/MachineLearningNotebooks"},{"name":"rsl-rl-lib","old_version":"4.0.1","new_version":"5.0.1","repository_url":"https://github.com/leggedrobotics/rsl_rl"},{"name":"azure-storage-file-datalake","old_version":"12.14.0","new_version":"12.23.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"cachetools","old_version":"6.2.6","new_version":"7.0.5","repository_url":"https://github.com/tkem/cachetools"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.6","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"croniter","old_version":"6.0.0","new_version":"6.2.2","repository_url":"https://github.com/pallets-eco/croniter"},{"name":"cyclopts","old_version":"4.6.0","new_version":"4.10.0","repository_url":"https://github.com/BrianPugh/cyclopts"},{"name":"databricks-sdk","old_version":"0.96.0","new_version":"0.100.0","repository_url":"https://github.com/databricks/databricks-sdk-py"},{"name":"fastmcp","old_version":"2.14.5","new_version":"3.1.1","repository_url":"https://github.com/PrefectHQ/fastmcp"},{"name":"filelock","old_version":"3.25.0","new_version":"3.25.2","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"google-auth","old_version":"2.48.0","new_version":"2.49.1","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"graphql-core","old_version":"3.2.7","new_version":"3.2.8","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"gunicorn","old_version":"23.0.0","new_version":"25.1.0","repository_url":"https://github.com/benoitc/gunicorn"},{"name":"jaraco-context","old_version":"6.1.0","new_version":"6.1.1","repository_url":"https://github.com/jaraco/jaraco.context"},{"name":"kiwisolver","old_version":"1.4.9","new_version":"1.5.0","repository_url":"https://github.com/nucleic/kiwi"},{"name":"mlflow-skinny","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mlflow-tracing","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/mpmath/mpmath"},{"name":"msal","old_version":"1.35.0","new_version":"1.35.1","repository_url":"https://github.com/AzureAD/microsoft-authentication-library-for-python"},{"name":"opentelemetry-api","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-asgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-dbapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-django","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-fastapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-flask","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-psycopg2","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-wsgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-util-http","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"platformdirs","old_version":"4.9.2","new_version":"4.9.4","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"protobuf","old_version":"6.33.5","new_version":"7.34.0","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"py-key-value-aio","old_version":"0.3.0","new_version":"0.4.4"},{"name":"pyarrow","old_version":"21.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"pyasn1","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pydocket","old_version":"0.18.0","new_version":"0.18.2","repository_url":"https://github.com/chrisguidry/docket"},{"name":"pytz","old_version":"2025.2","new_version":"2026.1.post1","repository_url":"https://github.com/stub42/pytz"},{"name":"redis","old_version":"7.2.1","new_version":"7.3.0","repository_url":"https://github.com/redis/redis-py"},{"name":"setuptools","old_version":"82.0.0","new_version":"82.0.1","repository_url":"https://github.com/pypa/setuptools"},{"name":"smmap","old_version":"5.0.2","new_version":"5.0.3","repository_url":"https://github.com/gitpython-developers/smmap"},{"name":"uvicorn","old_version":"0.41.0","new_version":"0.42.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"wrapt","old_version":"1.17.3","new_version":"2.1.2","repository_url":"https://github.com/GrahamDumpleton/wrapt"}],"path":null,"ecosystem":"pip"},"body":"Bumps the training-dependencies group with 57 updates in the /training/rl directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.4.3` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.1` | `1.38.3` |\n| [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python) | `12.19.0` | `12.28.0` |\n| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.25.2` | `1.25.3` |\n| [azure-ai-ml](https://github.com/Azure/azure-sdk-for-python) | `1.31.0` | `1.32.0` |\n| [marshmallow](https://github.com/marshmallow-code/marshmallow) | `3.26.2` | `4.2.2` |\n| [mlflow](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [azureml-mlflow](https://github.com/Azure/MachineLearningNotebooks) | `1.61.0.post1` | `1.62.0` |\n| [rsl-rl-lib](https://github.com/leggedrobotics/rsl_rl) | `4.0.1` | `5.0.1` |\n| [azure-storage-file-datalake](https://github.com/Azure/azure-sdk-for-python) | `12.14.0` | `12.23.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.6` | `7.0.5` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.6` |\n| [croniter](https://github.com/pallets-eco/croniter) | `6.0.0` | `6.2.2` |\n| [cyclopts](https://github.com/BrianPugh/cyclopts) | `4.6.0` | `4.10.0` |\n| [databricks-sdk](https://github.com/databricks/databricks-sdk-py) | `0.96.0` | `0.100.0` |\n| [fastmcp](https://github.com/PrefectHQ/fastmcp) | `2.14.5` | `3.1.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.25.0` | `3.25.2` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.1` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.48.0` | `2.49.1` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.7` | `3.2.8` |\n| [gunicorn](https://github.com/benoitc/gunicorn) | `23.0.0` | `25.1.0` |\n| [jaraco-context](https://github.com/jaraco/jaraco.context) | `6.1.0` | `6.1.1` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.9` | `1.5.0` |\n| [mlflow-skinny](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mlflow-tracing](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.1` |\n| [msal](https://github.com/AzureAD/microsoft-authentication-library-for-python) | `1.35.0` | `1.35.1` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-asgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-dbapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-django](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-flask](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-psycopg2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-wsgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b0` | `0.61b0` |\n| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.9.2` | `4.9.4` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.5` | `7.34.0` |\n| py-key-value-aio | `0.3.0` | `0.4.4` |\n| [pyarrow](https://github.com/apache/arrow) | `21.0.0` | `23.0.1` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.6.2` | `0.6.3` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| [pydocket](https://github.com/chrisguidry/docket) | `0.18.0` | `0.18.2` |\n| [pytz](https://github.com/stub42/pytz) | `2025.2` | `2026.1.post1` |\n| [redis](https://github.com/redis/redis-py) | `7.2.1` | `7.3.0` |\n| [setuptools](https://github.com/pypa/setuptools) | `82.0.0` | `82.0.1` |\n| [smmap](https://github.com/gitpython-developers/smmap) | `5.0.2` | `5.0.3` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.41.0` | `0.42.0` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.2` |\n\n\nUpdates `numpy` from 1.26.4 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/v1.26.4...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-core` from 1.38.1 to 1.38.3\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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-core_1.38.3\u003c/h2\u003e\n\u003ch2\u003e1.38.3 (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ePipelineClient.format_url\u003c/code\u003e to preserve trailing slash in the base URL when the URL template is query-string-only (e.g., \u003ccode\u003e?key=value\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45365\"\u003e#45365\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSensitiveHeaderCleanupPolicy\u003c/code\u003e to persist the \u003ccode\u003einsecure_domain_change\u003c/code\u003e flag across retries after a cross-domain redirect. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45518\"\u003e#45518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded jitter to token refresh timing in \u003ccode\u003eBearerTokenCredentialPolicy\u003c/code\u003e and \u003ccode\u003eAsyncBearerTokenCredentialPolicy\u003c/code\u003e to prevent simultaneous token refresh attempts across multiple processes. This helps mitigate the thundering herd problem during token refresh operations. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43720\"\u003e#43720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eazure-core_1.38.2\u003c/h2\u003e\n\u003ch2\u003e1.38.2 (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ePipelineClient.format_url\u003c/code\u003e to preserve the leading slash when the URL template starts with \u003ccode\u003e/?\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45218\"\u003e#45218\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/Azure/azure-sdk-for-python/commit/c6e48b5cd71adf5728a5e2f33bc9f62fb221221f\"\u003e\u003ccode\u003ec6e48b5\u003c/code\u003e\u003c/a\u003e [Core] Prepare release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45656\"\u003e#45656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/079e76bb7bef96cf1027777afc69995b6024b857\"\u003e\u003ccode\u003e079e76b\u003c/code\u003e\u003c/a\u003e Port data-plane packages in sdk/core/ to pyproject.toml (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45556\"\u003e#45556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2117dfb31ed48fe429ef2604aeb89526e9496c66\"\u003e\u003ccode\u003e2117dfb\u003c/code\u003e\u003c/a\u003e [Core] Persist cross domain redirect flag (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45518\"\u003e#45518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2d0a9aa509c220d575c33e81207a5b6dedb5f148\"\u003e\u003ccode\u003e2d0a9aa\u003c/code\u003e\u003c/a\u003e [Core] Update pytest fixture scope (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45563\"\u003e#45563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/4c4c8698d61f2ad60296ef0cf7c64f7837cdc5a3\"\u003e\u003ccode\u003e4c4c869\u003c/code\u003e\u003c/a\u003e [Core] Add jitter to token refresh intervals (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43720\"\u003e#43720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/41391f1e7b5ad52e3d480a7adcbf3fa5b99e2326\"\u003e\u003ccode\u003e41391f1\u003c/code\u003e\u003c/a\u003e [azure-core] Fix \u003ccode\u003eformat_url\u003c/code\u003e dropping trailing slash when URL template is qu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/9fdb4f1a9764b466a408eeed45ce59da97e150a5\"\u003e\u003ccode\u003e9fdb4f1\u003c/code\u003e\u003c/a\u003e [Corehttp] Changelog update (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45113\"\u003e#45113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/f40b764989ce757cd35698cae9c91b3a52c0b7a9\"\u003e\u003ccode\u003ef40b764\u003c/code\u003e\u003c/a\u003e Increment package version after release of azure-core (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45246\"\u003e#45246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/3e9fec2338ae644e380401dec9e407706cb27115\"\u003e\u003ccode\u003e3e9fec2\u003c/code\u003e\u003c/a\u003e [Core] Update changelog (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45230\"\u003e#45230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/b5f8d700bf670c475692fd1de087d696af72b66c\"\u003e\u003ccode\u003eb5f8d70\u003c/code\u003e\u003c/a\u003e [Core] Fix format_url to allow leading slash if specified (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45218\"\u003e#45218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-core_1.38.1...azure-core_1.38.3\"\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.19.0 to 12.28.0\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.19.0...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 `azure-identity` from 1.25.2 to 1.25.3\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-identity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-identity_1.25.3\u003c/h2\u003e\n\u003ch2\u003e1.25.3 (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an expired token could skip refresh when a recent token request was made, due to the retry delay taking precedence over expiration. (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/45496\"\u003e#45496\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBumped minimum dependency on \u003ccode\u003emsal\u003c/code\u003e to \u003ccode\u003e\u0026gt;=1.35.1\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/Azure/azure-sdk-for-python/commit/a989ea467731265fdf097b622ba254703187746b\"\u003e\u003ccode\u003ea989ea4\u003c/code\u003e\u003c/a\u003e [Identity] Prep patch release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/79728834e7f38018d372860cf9117bf51d9ed417\"\u003e\u003ccode\u003e7972883\u003c/code\u003e\u003c/a\u003e [Identity] Adjust refresh logic (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45496\"\u003e#45496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/04764a9a8a0cb59aab6421b41152246853dfcfe8\"\u003e\u003ccode\u003e04764a9\u003c/code\u003e\u003c/a\u003e add psscript to convert apiview json files to md (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45589\"\u003e#45589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/50e01659d7204865dfa07c5ece1019ed9a229b4f\"\u003e\u003ccode\u003e50e0165\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 14461 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45646\"\u003e#45646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/5333117e0e181404ff4deaa757e9b6ef86dabf8b\"\u003e\u003ccode\u003e5333117\u003c/code\u003e\u003c/a\u003e Add Bo to /sdk/ai/azure-ai-projects owner list (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45664\"\u003e#45664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/775d6942e4335422fc69da8e997a6069e356b104\"\u003e\u003ccode\u003e775d694\u003c/code\u003e\u003c/a\u003e Doc and automation updates for .github sync directory changes (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45630\"\u003e#45630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/c6e48b5cd71adf5728a5e2f33bc9f62fb221221f\"\u003e\u003ccode\u003ec6e48b5\u003c/code\u003e\u003c/a\u003e [Core] Prepare release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45656\"\u003e#45656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/ae769c4e9379c8d309bffa5ccb76dcfba64e1f71\"\u003e\u003ccode\u003eae769c4\u003c/code\u003e\u003c/a\u003e Fix custom Memory Stores LRO poller operation (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45662\"\u003e#45662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/6074492844d670316eb171756483f1394a6c94c7\"\u003e\u003ccode\u003e6074492\u003c/code\u003e\u003c/a\u003e Add asset id none check in dt (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45618\"\u003e#45618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/e1a986aeb7a8001bd3a4f336cf096c2b050aa480\"\u003e\u003ccode\u003ee1a986a\u003c/code\u003e\u003c/a\u003e Bump tar from 7.5.10 to 7.5.11 in /eng/common/tsp-client (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45640\"\u003e#45640\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.25.2...azure-identity_1.25.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-ai-ml` from 1.31.0 to 1.32.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-ai-ml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-ai-ml_1.32.0\u003c/h2\u003e\n\u003ch2\u003e1.32.0 (2026-03-04)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip _list_secrets for identity-based datastores to prevent noisy telemetry traces.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4f79bdf278eaa55e855884dbd9bd841d62c7583c\"\u003e\u003ccode\u003e4f79bdf\u003c/code\u003e\u003c/a\u003e Remove empty 'Other Changes' section from CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/fe81c2e887e21aad87f63c476f71f4444f8deaab\"\u003e\u003ccode\u003efe81c2e\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 1.32.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/b5e228067bf3e66f04074a893e30eda239e13f0f\"\u003e\u003ccode\u003eb5e2280\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2ddc7b9c3d0c1f05304ff1bb53863b730e6edb1d\"\u003e\u003ccode\u003e2ddc7b9\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-artifactsigning]-generated-from-SDK Generation - Python-58...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/c270319e20141ce00ac29959f3a5aad1836c4176\"\u003e\u003ccode\u003ec270319\u003c/code\u003e\u003c/a\u003e App Configuration - Snapshot references (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44116\"\u003e#44116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/f6050668fd6308858a3dabc8e5d660c563b033b0\"\u003e\u003ccode\u003ef605066\u003c/code\u003e\u003c/a\u003e [CODEOWNERS Data Quality] Fix up CODEOWNERS (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44945\"\u003e#44945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/47e90c151dfde889db32985b8ec0b0d7edcfa167\"\u003e\u003ccode\u003e47e90c1\u003c/code\u003e\u003c/a\u003e Use azpysdk ApiStub in CI (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44439\"\u003e#44439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/7700f5a8eae238b6e9777da321cd20b5fe6a7100\"\u003e\u003ccode\u003e7700f5a\u003c/code\u003e\u003c/a\u003e [VoiceLive] Add code owners (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45191\"\u003e#45191\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/a9b472fb0526d64c3eb6d55d7d14ff63c8a761fe\"\u003e\u003ccode\u003ea9b472f\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-managedops]-generated-from-SDK Generation - Python-5788712...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/bef7492d4b2d346178adea165eff23fafe838c0c\"\u003e\u003ccode\u003ebef7492\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-postgresqlflexibleservers]-generated-from-SDK Generation -...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-ai-ml_1.31.0...azure-ai-ml_1.32.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marshmallow` from 3.26.2 to 4.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/marshmallow-code/marshmallow/blob/dev/CHANGELOG.rst\"\u003emarshmallow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.2 (2026-02-04)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix behavior of \u003ccode\u003efields.Contant(None)\u003c/code\u003e (:issue:\u003ccode\u003e2868\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for reporting and \u003ccode\u003eemmanuel-ferdman\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.1 (2026-01-23)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix validation of URLs beginning with uppercare \u003ccode\u003eFILE\u003c/code\u003e (:issue:\u003ccode\u003e2891\u003c/code\u003e).\nThanks :user:\u003ccode\u003ethanhlecongg\u003c/code\u003e for reporting and fixing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.0 (2026-01-04)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emany\u003c/code\u003e argument of \u003ccode\u003eNested\u003c/code\u003e properly overrides schema instance\nvalue (:pr:\u003ccode\u003e2854\u003c/code\u003e). Thanks :user:\u003ccode\u003ejafournier\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.2 (2025-12-19)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:cve:\u003ccode\u003e2025-68480\u003c/code\u003e: Merge error store messages without rebuilding collections.\nThanks 카푸치노 for reporting and :user:\u003ccode\u003edeckar01\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.1 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003eURL\u003c/code\u003e validator is case-insensitive when using custom schemes (:pr:\u003ccode\u003e2874\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.0 (2025-11-01)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e__len__\u003c/code\u003e implementation to \u003ccode\u003emissing\u003c/code\u003e so that it can be used with\n\u003ccode\u003evalidate.Length \u0026lt;marshmallow.validate.Length\u0026gt;\u003c/code\u003e (:pr:\u003ccode\u003e2861\u003c/code\u003e).\nThanks :user:\u003ccode\u003eagentgodzilla\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (:pr:\u003ccode\u003e2363\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/marshmallow-code/marshmallow/commit/2a3812d5049c83e98db60a0869919521f97cd77d\"\u003e\u003ccode\u003e2a3812d\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/19ca8dce2d5bde94509a4a89e495f35c695442d5\"\u003e\u003ccode\u003e19ca8dc\u003c/code\u003e\u003c/a\u003e Fix Constant field rejecting None values during load (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2894\"\u003e#2894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/213ee3a020e24fb26ead3a2285ba0402c90080ce\"\u003e\u003ccode\u003e213ee3a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2896\"\u003e#2896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/ba8b512b24ebf4789099f1afafe9256b1bda950e\"\u003e\u003ccode\u003eba8b512\u003c/code\u003e\u003c/a\u003e Update AUTHORS.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/40105adb3b3916dda5dcd16133d29ad44e7a33b9\"\u003e\u003ccode\u003e40105ad\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/39e7c833e9c8711a49d6d710f7e3ee5cf2effbbe\"\u003e\u003ccode\u003e39e7c83\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2892\"\u003e#2892\u003c/a\u003e from thanhlecongg/fix-2891\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/78a94ea0e7ee9f35f8322318064232fe6147f190\"\u003e\u003ccode\u003e78a94ea\u003c/code\u003e\u003c/a\u003e Fix docstring typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/8dc078e2b86312988e5f7ed32849ae0788779e81\"\u003e\u003ccode\u003e8dc078e\u003c/code\u003e\u003c/a\u003e fix issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c62b9113dc0ec136eb24214b6eb6f856af8f5df3\"\u003e\u003ccode\u003ec62b911\u003c/code\u003e\u003c/a\u003e add tests for issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/d07bf5e3d218cd5ffa1fcd1dce411f7a5c88e256\"\u003e\u003ccode\u003ed07bf5e\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2887\"\u003e#2887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/marshmallow-code/marshmallow/compare/3.26.2...4.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow` from 3.5.0 to 3.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/releases\"\u003emlflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gateway] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.10.0, which includes several notable updates:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.1 (2026-03-05)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.10.0 (2026-02-20)\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/mlflow/mlflow/commit/cadc323c059d08ee15c3a312afd0eefeeccedc94\"\u003e\u003ccode\u003ecadc323\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1 (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21396\"\u003e#21396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3d17d6c58e1e0078c062321322fc76b1b822ab6d\"\u003e\u003ccode\u003e3d17d6c\u003c/code\u003e\u003c/a\u003e Add back virtualenv to fix the docker build until the next release (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3cfc12fe1359afbade834a74f57e0bbe2ef4531c\"\u003e\u003ccode\u003e3cfc12f\u003c/code\u003e\u003c/a\u003e Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/bcaad26df7e825fe15d4deffa0f05478e010bc10\"\u003e\u003ccode\u003ebcaad26\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/ff3249ff8a5f62e344f382d5fcdb419379780c78\"\u003e\u003ccode\u003eff3249f\u003c/code\u003e\u003c/a\u003e Update GenAI link and video in the getting started page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1591d038ae47271382fddd2b8653286af7c31138\"\u003e\u003ccode\u003e1591d03\u003c/code\u003e\u003c/a\u003e Persist AI Gateway default passphrase security banner dismissal to localStora...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/32979c9e560346a54d05ba7ff53434f215c5958f\"\u003e\u003ccode\u003e32979c9\u003c/code\u003e\u003c/a\u003e Demote unused parameters log message from WARNING to DEBUG in instructions ju...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/18eeea03c3d0af5b915bb3880a71198b5123e0bd\"\u003e\u003ccode\u003e18eeea0\u003c/code\u003e\u003c/a\u003e Make simulator explicitly avoid stating goal in first message (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/42d4356e18c0c2548ff3b290b11f36a992530d9d\"\u003e\u003ccode\u003e42d4356\u003c/code\u003e\u003c/a\u003e Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1a14934cc0116ddd91fb693e2b52bed12683521a\"\u003e\u003ccode\u003e1a14934\u003c/code\u003e\u003c/a\u003e Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.5.0...v3.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 25.0 to 26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0\u003c/h2\u003e\n\u003cp\u003eRead about the performance improvements here: \u003ca href=\"https://iscinumpy.dev/post/packaging-faster\"\u003ehttps://iscinumpy.dev/post/packaging-faster\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/900\"\u003epypa/packaging#900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata by \u003ca href=\"https://github.com/brettcannon\"\u003e\u003ccode\u003e@​brettcannon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/948\"\u003epypa/packaging#948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport writing metadata by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/846\"\u003epypa/packaging#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e for \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1003\"\u003epypa/packaging#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifier\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1004\"\u003epypa/packaging#1004\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/897\"\u003epypa/packaging#897\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/942\"\u003epypa/packaging#942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/951\"\u003epypa/packaging#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/932\"\u003epypa/packaging#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/954\"\u003epypa/packaging#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparsions by \u003ca href=\"https://github.com/JP-Ellis\"\u003e\u003ccode\u003e@​JP-Ellis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/939\"\u003epypa/packaging#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e by \u003ca href=\"https://github.com/dholth\"\u003e\u003ccode\u003e@​dholth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/860\"\u003epypa/packaging#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/896\"\u003epypa/packaging#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/868\"\u003epypa/packaging#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e by \u003ca href=\"https://github.com/bwoodsend\"\u003e\u003ccode\u003e@​bwoodsend\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/879\"\u003epypa/packaging#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format by \u003ca href=\"https://github.com/di\"\u003e\u003ccode\u003e@​di\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/925\"\u003epypa/packaging#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon by \u003ca href=\"https://github.com/pradyunsg\"\u003e\u003ccode\u003e@​pradyunsg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/833\"\u003epypa/packaging#833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/931\"\u003epypa/packaging#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/953\"\u003epypa/packaging#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA root logger use found by ruff LOG, use \u003ccode\u003epackaging\u003c/code\u003e logger instead by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/965\"\u003epypa/packaging#965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1022\"\u003epypa/packaging#1022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1024\"\u003epypa/packaging#1024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1033\"\u003epypa/packaging#1033\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup by \u003ca href=\"https://github.com/hauntsaninja\"\u003e\u003ccode\u003e@​hauntsaninja\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1019\"\u003epypa/packaging#1019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/869\"\u003epypa/packaging#869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/bearomorphism\"\u003e\u003ccode\u003e@​bearomorphism\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/913\"\u003epypa/packaging#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003es in specifier comparison by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/986\"\u003epypa/packaging#986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eSpecifier\u003c/code\u003e's Version by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/985\"\u003epypa/packaging#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/987\"\u003epypa/packaging#987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/990\"\u003epypa/packaging#990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/988\"\u003epypa/packaging#988\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1055\"\u003epypa/packaging#1055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/989\"\u003epypa/packaging#989\u003c/a\u003e and regression for \u003ccode\u003epackaging_legacy\u003c/code\u003e fixed by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1048\"\u003epypa/packaging#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/993\"\u003epypa/packaging#993\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efullmatch\u003c/code\u003e in a couple more places by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/992\"\u003epypa/packa...\n\n_Description has been truncated_","html_url":"https://github.com/microsoft/physical-ai-toolchain/pull/285","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fphysical-ai-toolchain/issues/285","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/285/packages"}},{"old_version":"21.0.0","new_version":"23.0.1","update_type":"major","path":"/training/rl","pr_created_at":"2026-03-16T21:05:58.000Z","version_change":"21.0.0 → 23.0.1","issue":{"uuid":"4084790470","node_id":"PR_kwDORckIoM7LCgsA","number":281,"state":"open","title":"chore(deps): bump the training-dependencies group in /training/rl with 56 updates","user":"dependabot[bot]","labels":["dependencies","python","training"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-16T21:05:58.000Z","updated_at":"2026-03-16T21:06:33.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"training-dependencies","update_count":56,"packages":[{"name":"numpy","old_version":"1.26.4","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"azure-core","old_version":"1.38.1","new_version":"1.38.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-blob","old_version":"12.19.0","new_version":"12.28.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-identity","old_version":"1.25.2","new_version":"1.25.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-ai-ml","old_version":"1.31.0","new_version":"1.32.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"marshmallow","old_version":"3.26.2","new_version":"4.2.2","repository_url":"https://github.com/marshmallow-code/marshmallow"},{"name":"mlflow","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"azureml-mlflow","old_version":"1.61.0.post1","new_version":"1.62.0","repository_url":"https://github.com/Azure/MachineLearningNotebooks"},{"name":"rsl-rl-lib","old_version":"4.0.1","new_version":"5.0.1","repository_url":"https://github.com/leggedrobotics/rsl_rl"},{"name":"azure-storage-file-datalake","old_version":"12.14.0","new_version":"12.23.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"cachetools","old_version":"6.2.6","new_version":"7.0.5","repository_url":"https://github.com/tkem/cachetools"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.6","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"croniter","old_version":"6.0.0","new_version":"6.2.2","repository_url":"https://github.com/pallets-eco/croniter"},{"name":"cyclopts","old_version":"4.6.0","new_version":"4.10.0","repository_url":"https://github.com/BrianPugh/cyclopts"},{"name":"databricks-sdk","old_version":"0.96.0","new_version":"0.100.0","repository_url":"https://github.com/databricks/databricks-sdk-py"},{"name":"fastmcp","old_version":"2.14.5","new_version":"3.1.1","repository_url":"https://github.com/PrefectHQ/fastmcp"},{"name":"filelock","old_version":"3.25.0","new_version":"3.25.2","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"google-auth","old_version":"2.48.0","new_version":"2.49.1","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"graphql-core","old_version":"3.2.7","new_version":"3.2.8","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"gunicorn","old_version":"23.0.0","new_version":"25.1.0","repository_url":"https://github.com/benoitc/gunicorn"},{"name":"jaraco-context","old_version":"6.1.0","new_version":"6.1.1","repository_url":"https://github.com/jaraco/jaraco.context"},{"name":"kiwisolver","old_version":"1.4.9","new_version":"1.5.0","repository_url":"https://github.com/nucleic/kiwi"},{"name":"mlflow-skinny","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mlflow-tracing","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/mpmath/mpmath"},{"name":"msal","old_version":"1.35.0","new_version":"1.35.1","repository_url":"https://github.com/AzureAD/microsoft-authentication-library-for-python"},{"name":"opentelemetry-api","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-asgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-dbapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-django","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-fastapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-flask","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-psycopg2","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-wsgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-util-http","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"platformdirs","old_version":"4.9.2","new_version":"4.9.4","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"protobuf","old_version":"6.33.5","new_version":"7.34.0","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"py-key-value-aio","old_version":"0.3.0","new_version":"0.4.4"},{"name":"pyarrow","old_version":"21.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pydocket","old_version":"0.18.0","new_version":"0.18.2","repository_url":"https://github.com/chrisguidry/docket"},{"name":"pytz","old_version":"2025.2","new_version":"2026.1.post1","repository_url":"https://github.com/stub42/pytz"},{"name":"redis","old_version":"7.2.1","new_version":"7.3.0","repository_url":"https://github.com/redis/redis-py"},{"name":"setuptools","old_version":"82.0.0","new_version":"82.0.1","repository_url":"https://github.com/pypa/setuptools"},{"name":"smmap","old_version":"5.0.2","new_version":"5.0.3","repository_url":"https://github.com/gitpython-developers/smmap"},{"name":"uvicorn","old_version":"0.41.0","new_version":"0.42.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"wrapt","old_version":"1.17.3","new_version":"2.1.2","repository_url":"https://github.com/GrahamDumpleton/wrapt"}],"path":"/training/rl","ecosystem":"pip"},"body":"Bumps the training-dependencies group in /training/rl with 56 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.4.3` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.1` | `1.38.3` |\n| [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python) | `12.19.0` | `12.28.0` |\n| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.25.2` | `1.25.3` |\n| [azure-ai-ml](https://github.com/Azure/azure-sdk-for-python) | `1.31.0` | `1.32.0` |\n| [marshmallow](https://github.com/marshmallow-code/marshmallow) | `3.26.2` | `4.2.2` |\n| [mlflow](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [azureml-mlflow](https://github.com/Azure/MachineLearningNotebooks) | `1.61.0.post1` | `1.62.0` |\n| [rsl-rl-lib](https://github.com/leggedrobotics/rsl_rl) | `4.0.1` | `5.0.1` |\n| [azure-storage-file-datalake](https://github.com/Azure/azure-sdk-for-python) | `12.14.0` | `12.23.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.6` | `7.0.5` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.6` |\n| [croniter](https://github.com/pallets-eco/croniter) | `6.0.0` | `6.2.2` |\n| [cyclopts](https://github.com/BrianPugh/cyclopts) | `4.6.0` | `4.10.0` |\n| [databricks-sdk](https://github.com/databricks/databricks-sdk-py) | `0.96.0` | `0.100.0` |\n| [fastmcp](https://github.com/PrefectHQ/fastmcp) | `2.14.5` | `3.1.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.25.0` | `3.25.2` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.1` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.48.0` | `2.49.1` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.7` | `3.2.8` |\n| [gunicorn](https://github.com/benoitc/gunicorn) | `23.0.0` | `25.1.0` |\n| [jaraco-context](https://github.com/jaraco/jaraco.context) | `6.1.0` | `6.1.1` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.9` | `1.5.0` |\n| [mlflow-skinny](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mlflow-tracing](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.1` |\n| [msal](https://github.com/AzureAD/microsoft-authentication-library-for-python) | `1.35.0` | `1.35.1` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-asgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-dbapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-django](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-flask](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-psycopg2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-wsgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b0` | `0.61b0` |\n| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.9.2` | `4.9.4` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.5` | `7.34.0` |\n| py-key-value-aio | `0.3.0` | `0.4.4` |\n| [pyarrow](https://github.com/apache/arrow) | `21.0.0` | `23.0.1` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| [pydocket](https://github.com/chrisguidry/docket) | `0.18.0` | `0.18.2` |\n| [pytz](https://github.com/stub42/pytz) | `2025.2` | `2026.1.post1` |\n| [redis](https://github.com/redis/redis-py) | `7.2.1` | `7.3.0` |\n| [setuptools](https://github.com/pypa/setuptools) | `82.0.0` | `82.0.1` |\n| [smmap](https://github.com/gitpython-developers/smmap) | `5.0.2` | `5.0.3` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.41.0` | `0.42.0` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.2` |\n\nUpdates `numpy` from 1.26.4 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/v1.26.4...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-core` from 1.38.1 to 1.38.3\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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-core_1.38.3\u003c/h2\u003e\n\u003ch2\u003e1.38.3 (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ePipelineClient.format_url\u003c/code\u003e to preserve trailing slash in the base URL when the URL template is query-string-only (e.g., \u003ccode\u003e?key=value\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45365\"\u003e#45365\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSensitiveHeaderCleanupPolicy\u003c/code\u003e to persist the \u003ccode\u003einsecure_domain_change\u003c/code\u003e flag across retries after a cross-domain redirect. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45518\"\u003e#45518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded jitter to token refresh timing in \u003ccode\u003eBearerTokenCredentialPolicy\u003c/code\u003e and \u003ccode\u003eAsyncBearerTokenCredentialPolicy\u003c/code\u003e to prevent simultaneous token refresh attempts across multiple processes. This helps mitigate the thundering herd problem during token refresh operations. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43720\"\u003e#43720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eazure-core_1.38.2\u003c/h2\u003e\n\u003ch2\u003e1.38.2 (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ePipelineClient.format_url\u003c/code\u003e to preserve the leading slash when the URL template starts with \u003ccode\u003e/?\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45218\"\u003e#45218\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/Azure/azure-sdk-for-python/commit/c6e48b5cd71adf5728a5e2f33bc9f62fb221221f\"\u003e\u003ccode\u003ec6e48b5\u003c/code\u003e\u003c/a\u003e [Core] Prepare release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45656\"\u003e#45656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/079e76bb7bef96cf1027777afc69995b6024b857\"\u003e\u003ccode\u003e079e76b\u003c/code\u003e\u003c/a\u003e Port data-plane packages in sdk/core/ to pyproject.toml (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45556\"\u003e#45556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2117dfb31ed48fe429ef2604aeb89526e9496c66\"\u003e\u003ccode\u003e2117dfb\u003c/code\u003e\u003c/a\u003e [Core] Persist cross domain redirect flag (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45518\"\u003e#45518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2d0a9aa509c220d575c33e81207a5b6dedb5f148\"\u003e\u003ccode\u003e2d0a9aa\u003c/code\u003e\u003c/a\u003e [Core] Update pytest fixture scope (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45563\"\u003e#45563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/4c4c8698d61f2ad60296ef0cf7c64f7837cdc5a3\"\u003e\u003ccode\u003e4c4c869\u003c/code\u003e\u003c/a\u003e [Core] Add jitter to token refresh intervals (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43720\"\u003e#43720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/41391f1e7b5ad52e3d480a7adcbf3fa5b99e2326\"\u003e\u003ccode\u003e41391f1\u003c/code\u003e\u003c/a\u003e [azure-core] Fix \u003ccode\u003eformat_url\u003c/code\u003e dropping trailing slash when URL template is qu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/9fdb4f1a9764b466a408eeed45ce59da97e150a5\"\u003e\u003ccode\u003e9fdb4f1\u003c/code\u003e\u003c/a\u003e [Corehttp] Changelog update (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45113\"\u003e#45113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/f40b764989ce757cd35698cae9c91b3a52c0b7a9\"\u003e\u003ccode\u003ef40b764\u003c/code\u003e\u003c/a\u003e Increment package version after release of azure-core (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45246\"\u003e#45246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/3e9fec2338ae644e380401dec9e407706cb27115\"\u003e\u003ccode\u003e3e9fec2\u003c/code\u003e\u003c/a\u003e [Core] Update changelog (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45230\"\u003e#45230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/b5f8d700bf670c475692fd1de087d696af72b66c\"\u003e\u003ccode\u003eb5f8d70\u003c/code\u003e\u003c/a\u003e [Core] Fix format_url to allow leading slash if specified (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45218\"\u003e#45218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-core_1.38.1...azure-core_1.38.3\"\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.19.0 to 12.28.0\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.19.0...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 `azure-identity` from 1.25.2 to 1.25.3\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-identity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-identity_1.25.3\u003c/h2\u003e\n\u003ch2\u003e1.25.3 (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an expired token could skip refresh when a recent token request was made, due to the retry delay taking precedence over expiration. (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/45496\"\u003e#45496\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBumped minimum dependency on \u003ccode\u003emsal\u003c/code\u003e to \u003ccode\u003e\u0026gt;=1.35.1\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/Azure/azure-sdk-for-python/commit/a989ea467731265fdf097b622ba254703187746b\"\u003e\u003ccode\u003ea989ea4\u003c/code\u003e\u003c/a\u003e [Identity] Prep patch release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/79728834e7f38018d372860cf9117bf51d9ed417\"\u003e\u003ccode\u003e7972883\u003c/code\u003e\u003c/a\u003e [Identity] Adjust refresh logic (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45496\"\u003e#45496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/04764a9a8a0cb59aab6421b41152246853dfcfe8\"\u003e\u003ccode\u003e04764a9\u003c/code\u003e\u003c/a\u003e add psscript to convert apiview json files to md (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45589\"\u003e#45589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/50e01659d7204865dfa07c5ece1019ed9a229b4f\"\u003e\u003ccode\u003e50e0165\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 14461 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45646\"\u003e#45646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/5333117e0e181404ff4deaa757e9b6ef86dabf8b\"\u003e\u003ccode\u003e5333117\u003c/code\u003e\u003c/a\u003e Add Bo to /sdk/ai/azure-ai-projects owner list (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45664\"\u003e#45664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/775d6942e4335422fc69da8e997a6069e356b104\"\u003e\u003ccode\u003e775d694\u003c/code\u003e\u003c/a\u003e Doc and automation updates for .github sync directory changes (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45630\"\u003e#45630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/c6e48b5cd71adf5728a5e2f33bc9f62fb221221f\"\u003e\u003ccode\u003ec6e48b5\u003c/code\u003e\u003c/a\u003e [Core] Prepare release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45656\"\u003e#45656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/ae769c4e9379c8d309bffa5ccb76dcfba64e1f71\"\u003e\u003ccode\u003eae769c4\u003c/code\u003e\u003c/a\u003e Fix custom Memory Stores LRO poller operation (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45662\"\u003e#45662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/6074492844d670316eb171756483f1394a6c94c7\"\u003e\u003ccode\u003e6074492\u003c/code\u003e\u003c/a\u003e Add asset id none check in dt (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45618\"\u003e#45618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/e1a986aeb7a8001bd3a4f336cf096c2b050aa480\"\u003e\u003ccode\u003ee1a986a\u003c/code\u003e\u003c/a\u003e Bump tar from 7.5.10 to 7.5.11 in /eng/common/tsp-client (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45640\"\u003e#45640\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.25.2...azure-identity_1.25.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-ai-ml` from 1.31.0 to 1.32.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-ai-ml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-ai-ml_1.32.0\u003c/h2\u003e\n\u003ch2\u003e1.32.0 (2026-03-04)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSkip _list_secrets for identity-based datastores to prevent noisy telemetry traces.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4f79bdf278eaa55e855884dbd9bd841d62c7583c\"\u003e\u003ccode\u003e4f79bdf\u003c/code\u003e\u003c/a\u003e Remove empty 'Other Changes' section from CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/fe81c2e887e21aad87f63c476f71f4444f8deaab\"\u003e\u003ccode\u003efe81c2e\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 1.32.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/b5e228067bf3e66f04074a893e30eda239e13f0f\"\u003e\u003ccode\u003eb5e2280\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2ddc7b9c3d0c1f05304ff1bb53863b730e6edb1d\"\u003e\u003ccode\u003e2ddc7b9\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-artifactsigning]-generated-from-SDK Generation - Python-58...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/c270319e20141ce00ac29959f3a5aad1836c4176\"\u003e\u003ccode\u003ec270319\u003c/code\u003e\u003c/a\u003e App Configuration - Snapshot references (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44116\"\u003e#44116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/f6050668fd6308858a3dabc8e5d660c563b033b0\"\u003e\u003ccode\u003ef605066\u003c/code\u003e\u003c/a\u003e [CODEOWNERS Data Quality] Fix up CODEOWNERS (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44945\"\u003e#44945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/47e90c151dfde889db32985b8ec0b0d7edcfa167\"\u003e\u003ccode\u003e47e90c1\u003c/code\u003e\u003c/a\u003e Use azpysdk ApiStub in CI (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/44439\"\u003e#44439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/7700f5a8eae238b6e9777da321cd20b5fe6a7100\"\u003e\u003ccode\u003e7700f5a\u003c/code\u003e\u003c/a\u003e [VoiceLive] Add code owners (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45191\"\u003e#45191\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/a9b472fb0526d64c3eb6d55d7d14ff63c8a761fe\"\u003e\u003ccode\u003ea9b472f\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-managedops]-generated-from-SDK Generation - Python-5788712...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/bef7492d4b2d346178adea165eff23fafe838c0c\"\u003e\u003ccode\u003ebef7492\u003c/code\u003e\u003c/a\u003e [AutoPR azure-mgmt-postgresqlflexibleservers]-generated-from-SDK Generation -...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-ai-ml_1.31.0...azure-ai-ml_1.32.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marshmallow` from 3.26.2 to 4.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/marshmallow-code/marshmallow/blob/dev/CHANGELOG.rst\"\u003emarshmallow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.2 (2026-02-04)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix behavior of \u003ccode\u003efields.Contant(None)\u003c/code\u003e (:issue:\u003ccode\u003e2868\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for reporting and \u003ccode\u003eemmanuel-ferdman\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.1 (2026-01-23)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix validation of URLs beginning with uppercare \u003ccode\u003eFILE\u003c/code\u003e (:issue:\u003ccode\u003e2891\u003c/code\u003e).\nThanks :user:\u003ccode\u003ethanhlecongg\u003c/code\u003e for reporting and fixing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.0 (2026-01-04)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emany\u003c/code\u003e argument of \u003ccode\u003eNested\u003c/code\u003e properly overrides schema instance\nvalue (:pr:\u003ccode\u003e2854\u003c/code\u003e). Thanks :user:\u003ccode\u003ejafournier\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.2 (2025-12-19)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:cve:\u003ccode\u003e2025-68480\u003c/code\u003e: Merge error store messages without rebuilding collections.\nThanks 카푸치노 for reporting and :user:\u003ccode\u003edeckar01\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.1 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003eURL\u003c/code\u003e validator is case-insensitive when using custom schemes (:pr:\u003ccode\u003e2874\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.0 (2025-11-01)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e__len__\u003c/code\u003e implementation to \u003ccode\u003emissing\u003c/code\u003e so that it can be used with\n\u003ccode\u003evalidate.Length \u0026lt;marshmallow.validate.Length\u0026gt;\u003c/code\u003e (:pr:\u003ccode\u003e2861\u003c/code\u003e).\nThanks :user:\u003ccode\u003eagentgodzilla\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (:pr:\u003ccode\u003e2363\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/marshmallow-code/marshmallow/commit/2a3812d5049c83e98db60a0869919521f97cd77d\"\u003e\u003ccode\u003e2a3812d\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/19ca8dce2d5bde94509a4a89e495f35c695442d5\"\u003e\u003ccode\u003e19ca8dc\u003c/code\u003e\u003c/a\u003e Fix Constant field rejecting None values during load (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2894\"\u003e#2894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/213ee3a020e24fb26ead3a2285ba0402c90080ce\"\u003e\u003ccode\u003e213ee3a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2896\"\u003e#2896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/ba8b512b24ebf4789099f1afafe9256b1bda950e\"\u003e\u003ccode\u003eba8b512\u003c/code\u003e\u003c/a\u003e Update AUTHORS.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/40105adb3b3916dda5dcd16133d29ad44e7a33b9\"\u003e\u003ccode\u003e40105ad\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/39e7c833e9c8711a49d6d710f7e3ee5cf2effbbe\"\u003e\u003ccode\u003e39e7c83\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2892\"\u003e#2892\u003c/a\u003e from thanhlecongg/fix-2891\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/78a94ea0e7ee9f35f8322318064232fe6147f190\"\u003e\u003ccode\u003e78a94ea\u003c/code\u003e\u003c/a\u003e Fix docstring typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/8dc078e2b86312988e5f7ed32849ae0788779e81\"\u003e\u003ccode\u003e8dc078e\u003c/code\u003e\u003c/a\u003e fix issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c62b9113dc0ec136eb24214b6eb6f856af8f5df3\"\u003e\u003ccode\u003ec62b911\u003c/code\u003e\u003c/a\u003e add tests for issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/d07bf5e3d218cd5ffa1fcd1dce411f7a5c88e256\"\u003e\u003ccode\u003ed07bf5e\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2887\"\u003e#2887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/marshmallow-code/marshmallow/compare/3.26.2...4.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow` from 3.5.0 to 3.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/releases\"\u003emlflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gateway] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.10.0, which includes several notable updates:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.1 (2026-03-05)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.10.0 (2026-02-20)\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/mlflow/mlflow/commit/cadc323c059d08ee15c3a312afd0eefeeccedc94\"\u003e\u003ccode\u003ecadc323\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1 (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21396\"\u003e#21396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3d17d6c58e1e0078c062321322fc76b1b822ab6d\"\u003e\u003ccode\u003e3d17d6c\u003c/code\u003e\u003c/a\u003e Add back virtualenv to fix the docker build until the next release (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3cfc12fe1359afbade834a74f57e0bbe2ef4531c\"\u003e\u003ccode\u003e3cfc12f\u003c/code\u003e\u003c/a\u003e Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/bcaad26df7e825fe15d4deffa0f05478e010bc10\"\u003e\u003ccode\u003ebcaad26\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/ff3249ff8a5f62e344f382d5fcdb419379780c78\"\u003e\u003ccode\u003eff3249f\u003c/code\u003e\u003c/a\u003e Update GenAI link and video in the getting started page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1591d038ae47271382fddd2b8653286af7c31138\"\u003e\u003ccode\u003e1591d03\u003c/code\u003e\u003c/a\u003e Persist AI Gateway default passphrase security banner dismissal to localStora...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/32979c9e560346a54d05ba7ff53434f215c5958f\"\u003e\u003ccode\u003e32979c9\u003c/code\u003e\u003c/a\u003e Demote unused parameters log message from WARNING to DEBUG in instructions ju...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/18eeea03c3d0af5b915bb3880a71198b5123e0bd\"\u003e\u003ccode\u003e18eeea0\u003c/code\u003e\u003c/a\u003e Make simulator explicitly avoid stating goal in first message (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/42d4356e18c0c2548ff3b290b11f36a992530d9d\"\u003e\u003ccode\u003e42d4356\u003c/code\u003e\u003c/a\u003e Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1a14934cc0116ddd91fb693e2b52bed12683521a\"\u003e\u003ccode\u003e1a14934\u003c/code\u003e\u003c/a\u003e Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.5.0...v3.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 25.0 to 26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0\u003c/h2\u003e\n\u003cp\u003eRead about the performance improvements here: \u003ca href=\"https://iscinumpy.dev/post/packaging-faster\"\u003ehttps://iscinumpy.dev/post/packaging-faster\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/900\"\u003epypa/packaging#900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata by \u003ca href=\"https://github.com/brettcannon\"\u003e\u003ccode\u003e@​brettcannon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/948\"\u003epypa/packaging#948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport writing metadata by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/846\"\u003epypa/packaging#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e for \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1003\"\u003epypa/packaging#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifier\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1004\"\u003epypa/packaging#1004\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/897\"\u003epypa/packaging#897\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/942\"\u003epypa/packaging#942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/951\"\u003epypa/packaging#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/932\"\u003epypa/packaging#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/954\"\u003epypa/packaging#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparsions by \u003ca href=\"https://github.com/JP-Ellis\"\u003e\u003ccode\u003e@​JP-Ellis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/939\"\u003epypa/packaging#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e by \u003ca href=\"https://github.com/dholth\"\u003e\u003ccode\u003e@​dholth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/860\"\u003epypa/packaging#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/896\"\u003epypa/packaging#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/868\"\u003epypa/packaging#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e by \u003ca href=\"https://github.com/bwoodsend\"\u003e\u003ccode\u003e@​bwoodsend\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/879\"\u003epypa/packaging#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format by \u003ca href=\"https://github.com/di\"\u003e\u003ccode\u003e@​di\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/925\"\u003epypa/packaging#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon by \u003ca href=\"https://github.com/pradyunsg\"\u003e\u003ccode\u003e@​pradyunsg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/833\"\u003epypa/packaging#833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/931\"\u003epypa/packaging#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/953\"\u003epypa/packaging#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA root logger use found by ruff LOG, use \u003ccode\u003epackaging\u003c/code\u003e logger instead by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/965\"\u003epypa/packaging#965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1022\"\u003epypa/packaging#1022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1024\"\u003epypa/packaging#1024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1033\"\u003epypa/packaging#1033\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup by \u003ca href=\"https://github.com/hauntsaninja\"\u003e\u003ccode\u003e@​hauntsaninja\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1019\"\u003epypa/packaging#1019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/869\"\u003epypa/packaging#869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/bearomorphism\"\u003e\u003ccode\u003e@​bearomorphism\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/913\"\u003epypa/packaging#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003es in specifier comparison by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/986\"\u003epypa/packaging#986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eSpecifier\u003c/code\u003e's Version by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/985\"\u003epypa/packaging#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/987\"\u003epypa/packaging#987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/990\"\u003epypa/packaging#990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/988\"\u003epypa/packaging#988\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1055\"\u003epypa/packaging#1055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/989\"\u003epypa/packaging#989\u003c/a\u003e and regression for \u003ccode\u003epackaging_legacy\u003c/code\u003e fixed by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1048\"\u003epypa/packaging#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/993\"\u003epypa/packaging#993\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efullmatch\u003c/code\u003e in a couple more places by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/992\"\u003epypa/packaging#992\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)...\n\n_Description has been truncated_","html_url":"https://github.com/microsoft/physical-ai-toolchain/pull/281","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fphysical-ai-toolchain/issues/281","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/281/packages"}},{"old_version":"21.0.0","new_version":"23.0.1","update_type":"major","path":null,"pr_created_at":"2026-03-16T03:38:19.000Z","version_change":"21.0.0 → 23.0.1","issue":{"uuid":"4080029417","node_id":"PR_kwDORckIoM7KzCrU","number":276,"state":"closed","title":"chore(deps): bump the training-dependencies group across 1 directory with 55 updates","user":"dependabot[bot]","labels":["dependencies","python","training"],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":"2026-03-17T03:54:48.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-16T03:38:19.000Z","updated_at":"2026-03-17T03:54:57.000Z","time_to_close":87389,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"training-dependencies","update_count":55,"packages":[{"name":"numpy","old_version":"1.26.4","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"azure-core","old_version":"1.38.1","new_version":"1.38.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-blob","old_version":"12.19.0","new_version":"12.28.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-identity","old_version":"1.25.2","new_version":"1.25.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"marshmallow","old_version":"3.26.2","new_version":"4.2.2","repository_url":"https://github.com/marshmallow-code/marshmallow"},{"name":"mlflow","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"azureml-mlflow","old_version":"1.61.0.post1","new_version":"1.62.0","repository_url":"https://github.com/Azure/MachineLearningNotebooks"},{"name":"rsl-rl-lib","old_version":"4.0.1","new_version":"5.0.1","repository_url":"https://github.com/leggedrobotics/rsl_rl"},{"name":"azure-storage-file-datalake","old_version":"12.14.0","new_version":"12.23.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"cachetools","old_version":"6.2.6","new_version":"7.0.5","repository_url":"https://github.com/tkem/cachetools"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.6","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"croniter","old_version":"6.0.0","new_version":"6.2.2","repository_url":"https://github.com/pallets-eco/croniter"},{"name":"cyclopts","old_version":"4.6.0","new_version":"4.10.0","repository_url":"https://github.com/BrianPugh/cyclopts"},{"name":"databricks-sdk","old_version":"0.96.0","new_version":"0.99.0","repository_url":"https://github.com/databricks/databricks-sdk-py"},{"name":"fastmcp","old_version":"2.14.5","new_version":"3.1.1","repository_url":"https://github.com/PrefectHQ/fastmcp"},{"name":"filelock","old_version":"3.25.0","new_version":"3.25.2","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"google-auth","old_version":"2.48.0","new_version":"2.49.1","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"graphql-core","old_version":"3.2.7","new_version":"3.2.8","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"gunicorn","old_version":"23.0.0","new_version":"25.1.0","repository_url":"https://github.com/benoitc/gunicorn"},{"name":"jaraco-context","old_version":"6.1.0","new_version":"6.1.1","repository_url":"https://github.com/jaraco/jaraco.context"},{"name":"kiwisolver","old_version":"1.4.9","new_version":"1.5.0","repository_url":"https://github.com/nucleic/kiwi"},{"name":"mlflow-skinny","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mlflow-tracing","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/mpmath/mpmath"},{"name":"msal","old_version":"1.35.0","new_version":"1.35.1","repository_url":"https://github.com/AzureAD/microsoft-authentication-library-for-python"},{"name":"opentelemetry-api","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-asgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-dbapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-django","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-fastapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-flask","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-psycopg2","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-wsgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-util-http","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"platformdirs","old_version":"4.9.2","new_version":"4.9.4","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"protobuf","old_version":"6.33.5","new_version":"7.34.0","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"py-key-value-aio","old_version":"0.3.0","new_version":"0.4.4"},{"name":"pyarrow","old_version":"21.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pydocket","old_version":"0.18.0","new_version":"0.18.2","repository_url":"https://github.com/chrisguidry/docket"},{"name":"pyjwt","old_version":"2.11.0","new_version":"2.12.1","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pytz","old_version":"2025.2","new_version":"2026.1.post1","repository_url":"https://github.com/stub42/pytz"},{"name":"redis","old_version":"7.2.1","new_version":"7.3.0","repository_url":"https://github.com/redis/redis-py"},{"name":"setuptools","old_version":"82.0.0","new_version":"82.0.1","repository_url":"https://github.com/pypa/setuptools"},{"name":"smmap","old_version":"5.0.2","new_version":"5.0.3","repository_url":"https://github.com/gitpython-developers/smmap"},{"name":"wrapt","old_version":"1.17.3","new_version":"2.1.2","repository_url":"https://github.com/GrahamDumpleton/wrapt"}],"path":null,"ecosystem":"pip"},"body":"Bumps the training-dependencies group with 55 updates in the /src/training directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.4.3` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.1` | `1.38.3` |\n| [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python) | `12.19.0` | `12.28.0` |\n| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.25.2` | `1.25.3` |\n| [marshmallow](https://github.com/marshmallow-code/marshmallow) | `3.26.2` | `4.2.2` |\n| [mlflow](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [azureml-mlflow](https://github.com/Azure/MachineLearningNotebooks) | `1.61.0.post1` | `1.62.0` |\n| [rsl-rl-lib](https://github.com/leggedrobotics/rsl_rl) | `4.0.1` | `5.0.1` |\n| [azure-storage-file-datalake](https://github.com/Azure/azure-sdk-for-python) | `12.14.0` | `12.23.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.6` | `7.0.5` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.6` |\n| [croniter](https://github.com/pallets-eco/croniter) | `6.0.0` | `6.2.2` |\n| [cyclopts](https://github.com/BrianPugh/cyclopts) | `4.6.0` | `4.10.0` |\n| [databricks-sdk](https://github.com/databricks/databricks-sdk-py) | `0.96.0` | `0.99.0` |\n| [fastmcp](https://github.com/PrefectHQ/fastmcp) | `2.14.5` | `3.1.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.25.0` | `3.25.2` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.1` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.48.0` | `2.49.1` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.7` | `3.2.8` |\n| [gunicorn](https://github.com/benoitc/gunicorn) | `23.0.0` | `25.1.0` |\n| [jaraco-context](https://github.com/jaraco/jaraco.context) | `6.1.0` | `6.1.1` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.9` | `1.5.0` |\n| [mlflow-skinny](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mlflow-tracing](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.1` |\n| [msal](https://github.com/AzureAD/microsoft-authentication-library-for-python) | `1.35.0` | `1.35.1` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-asgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-dbapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-django](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-flask](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-psycopg2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-wsgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b0` | `0.61b0` |\n| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.9.2` | `4.9.4` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.5` | `7.34.0` |\n| py-key-value-aio | `0.3.0` | `0.4.4` |\n| [pyarrow](https://github.com/apache/arrow) | `21.0.0` | `23.0.1` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| [pydocket](https://github.com/chrisguidry/docket) | `0.18.0` | `0.18.2` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.11.0` | `2.12.1` |\n| [pytz](https://github.com/stub42/pytz) | `2025.2` | `2026.1.post1` |\n| [redis](https://github.com/redis/redis-py) | `7.2.1` | `7.3.0` |\n| [setuptools](https://github.com/pypa/setuptools) | `82.0.0` | `82.0.1` |\n| [smmap](https://github.com/gitpython-developers/smmap) | `5.0.2` | `5.0.3` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.2` |\n\n\nUpdates `numpy` from 1.26.4 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/v1.26.4...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-core` from 1.38.1 to 1.38.3\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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-core_1.38.3\u003c/h2\u003e\n\u003ch2\u003e1.38.3 (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ePipelineClient.format_url\u003c/code\u003e to preserve trailing slash in the base URL when the URL template is query-string-only (e.g., \u003ccode\u003e?key=value\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45365\"\u003e#45365\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSensitiveHeaderCleanupPolicy\u003c/code\u003e to persist the \u003ccode\u003einsecure_domain_change\u003c/code\u003e flag across retries after a cross-domain redirect. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45518\"\u003e#45518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded jitter to token refresh timing in \u003ccode\u003eBearerTokenCredentialPolicy\u003c/code\u003e and \u003ccode\u003eAsyncBearerTokenCredentialPolicy\u003c/code\u003e to prevent simultaneous token refresh attempts across multiple processes. This helps mitigate the thundering herd problem during token refresh operations. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43720\"\u003e#43720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eazure-core_1.38.2\u003c/h2\u003e\n\u003ch2\u003e1.38.2 (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ePipelineClient.format_url\u003c/code\u003e to preserve the leading slash when the URL template starts with \u003ccode\u003e/?\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45218\"\u003e#45218\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/Azure/azure-sdk-for-python/commit/c6e48b5cd71adf5728a5e2f33bc9f62fb221221f\"\u003e\u003ccode\u003ec6e48b5\u003c/code\u003e\u003c/a\u003e [Core] Prepare release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45656\"\u003e#45656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/079e76bb7bef96cf1027777afc69995b6024b857\"\u003e\u003ccode\u003e079e76b\u003c/code\u003e\u003c/a\u003e Port data-plane packages in sdk/core/ to pyproject.toml (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45556\"\u003e#45556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2117dfb31ed48fe429ef2604aeb89526e9496c66\"\u003e\u003ccode\u003e2117dfb\u003c/code\u003e\u003c/a\u003e [Core] Persist cross domain redirect flag (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45518\"\u003e#45518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/2d0a9aa509c220d575c33e81207a5b6dedb5f148\"\u003e\u003ccode\u003e2d0a9aa\u003c/code\u003e\u003c/a\u003e [Core] Update pytest fixture scope (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45563\"\u003e#45563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/4c4c8698d61f2ad60296ef0cf7c64f7837cdc5a3\"\u003e\u003ccode\u003e4c4c869\u003c/code\u003e\u003c/a\u003e [Core] Add jitter to token refresh intervals (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/43720\"\u003e#43720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/41391f1e7b5ad52e3d480a7adcbf3fa5b99e2326\"\u003e\u003ccode\u003e41391f1\u003c/code\u003e\u003c/a\u003e [azure-core] Fix \u003ccode\u003eformat_url\u003c/code\u003e dropping trailing slash when URL template is qu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/9fdb4f1a9764b466a408eeed45ce59da97e150a5\"\u003e\u003ccode\u003e9fdb4f1\u003c/code\u003e\u003c/a\u003e [Corehttp] Changelog update (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45113\"\u003e#45113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/f40b764989ce757cd35698cae9c91b3a52c0b7a9\"\u003e\u003ccode\u003ef40b764\u003c/code\u003e\u003c/a\u003e Increment package version after release of azure-core (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45246\"\u003e#45246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/3e9fec2338ae644e380401dec9e407706cb27115\"\u003e\u003ccode\u003e3e9fec2\u003c/code\u003e\u003c/a\u003e [Core] Update changelog (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45230\"\u003e#45230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/b5f8d700bf670c475692fd1de087d696af72b66c\"\u003e\u003ccode\u003eb5f8d70\u003c/code\u003e\u003c/a\u003e [Core] Fix format_url to allow leading slash if specified (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45218\"\u003e#45218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-core_1.38.1...azure-core_1.38.3\"\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.19.0 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-file-share_12.25.0b1\u003c/h2\u003e\n\u003ch2\u003e12.25.0b1 (2026-01-27)\u003c/h2\u003e\n\u003ch3\u003eFeatures Added\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for service version 2026-04-06.\u003c/li\u003e\n\u003cli\u003eAdded support for improved error handling for file share provisioning.\u003c/li\u003e\n\u003cli\u003eAdded support for the keyword \u003ccode\u003euser_delegation_tid\u003c/code\u003e to \u003ccode\u003eShareServiceClient.get_user_delegation_key\u003c/code\u003e API, which\ncan be used in \u003ccode\u003egenerate_share_sas\u003c/code\u003e and \u003ccode\u003egenerate_file_sas\u003c/code\u003e to specify the Tenant ID that is authorized\nto use the generated SAS URL. Note that \u003ccode\u003euser_delegation_tid\u003c/code\u003e must be used together with \u003ccode\u003euser_delegation_oid\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBumped minimum \u003ccode\u003eazure-core\u003c/code\u003e dependency to 1.37.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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.19.0...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 `azure-identity` from 1.25.2 to 1.25.3\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-identity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-identity_1.25.3\u003c/h2\u003e\n\u003ch2\u003e1.25.3 (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an expired token could skip refresh when a recent token request was made, due to the retry delay taking precedence over expiration. (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/45496\"\u003e#45496\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBumped minimum dependency on \u003ccode\u003emsal\u003c/code\u003e to \u003ccode\u003e\u0026gt;=1.35.1\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/Azure/azure-sdk-for-python/commit/a989ea467731265fdf097b622ba254703187746b\"\u003e\u003ccode\u003ea989ea4\u003c/code\u003e\u003c/a\u003e [Identity] Prep patch release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/79728834e7f38018d372860cf9117bf51d9ed417\"\u003e\u003ccode\u003e7972883\u003c/code\u003e\u003c/a\u003e [Identity] Adjust refresh logic (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45496\"\u003e#45496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/04764a9a8a0cb59aab6421b41152246853dfcfe8\"\u003e\u003ccode\u003e04764a9\u003c/code\u003e\u003c/a\u003e add psscript to convert apiview json files to md (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45589\"\u003e#45589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/50e01659d7204865dfa07c5ece1019ed9a229b4f\"\u003e\u003ccode\u003e50e0165\u003c/code\u003e\u003c/a\u003e Sync eng/common directory with azure-sdk-tools for PR 14461 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45646\"\u003e#45646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/5333117e0e181404ff4deaa757e9b6ef86dabf8b\"\u003e\u003ccode\u003e5333117\u003c/code\u003e\u003c/a\u003e Add Bo to /sdk/ai/azure-ai-projects owner list (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45664\"\u003e#45664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/775d6942e4335422fc69da8e997a6069e356b104\"\u003e\u003ccode\u003e775d694\u003c/code\u003e\u003c/a\u003e Doc and automation updates for .github sync directory changes (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45630\"\u003e#45630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/c6e48b5cd71adf5728a5e2f33bc9f62fb221221f\"\u003e\u003ccode\u003ec6e48b5\u003c/code\u003e\u003c/a\u003e [Core] Prepare release (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45656\"\u003e#45656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/ae769c4e9379c8d309bffa5ccb76dcfba64e1f71\"\u003e\u003ccode\u003eae769c4\u003c/code\u003e\u003c/a\u003e Fix custom Memory Stores LRO poller operation (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45662\"\u003e#45662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/6074492844d670316eb171756483f1394a6c94c7\"\u003e\u003ccode\u003e6074492\u003c/code\u003e\u003c/a\u003e Add asset id none check in dt (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45618\"\u003e#45618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/e1a986aeb7a8001bd3a4f336cf096c2b050aa480\"\u003e\u003ccode\u003ee1a986a\u003c/code\u003e\u003c/a\u003e Bump tar from 7.5.10 to 7.5.11 in /eng/common/tsp-client (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45640\"\u003e#45640\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.25.2...azure-identity_1.25.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marshmallow` from 3.26.2 to 4.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/marshmallow-code/marshmallow/blob/dev/CHANGELOG.rst\"\u003emarshmallow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.2 (2026-02-04)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix behavior of \u003ccode\u003efields.Contant(None)\u003c/code\u003e (:issue:\u003ccode\u003e2868\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for reporting and \u003ccode\u003eemmanuel-ferdman\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.1 (2026-01-23)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix validation of URLs beginning with uppercare \u003ccode\u003eFILE\u003c/code\u003e (:issue:\u003ccode\u003e2891\u003c/code\u003e).\nThanks :user:\u003ccode\u003ethanhlecongg\u003c/code\u003e for reporting and fixing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.0 (2026-01-04)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emany\u003c/code\u003e argument of \u003ccode\u003eNested\u003c/code\u003e properly overrides schema instance\nvalue (:pr:\u003ccode\u003e2854\u003c/code\u003e). Thanks :user:\u003ccode\u003ejafournier\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.2 (2025-12-19)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:cve:\u003ccode\u003e2025-68480\u003c/code\u003e: Merge error store messages without rebuilding collections.\nThanks 카푸치노 for reporting and :user:\u003ccode\u003edeckar01\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.1 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003eURL\u003c/code\u003e validator is case-insensitive when using custom schemes (:pr:\u003ccode\u003e2874\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.0 (2025-11-01)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e__len__\u003c/code\u003e implementation to \u003ccode\u003emissing\u003c/code\u003e so that it can be used with\n\u003ccode\u003evalidate.Length \u0026lt;marshmallow.validate.Length\u0026gt;\u003c/code\u003e (:pr:\u003ccode\u003e2861\u003c/code\u003e).\nThanks :user:\u003ccode\u003eagentgodzilla\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (:pr:\u003ccode\u003e2363\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/marshmallow-code/marshmallow/commit/2a3812d5049c83e98db60a0869919521f97cd77d\"\u003e\u003ccode\u003e2a3812d\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/19ca8dce2d5bde94509a4a89e495f35c695442d5\"\u003e\u003ccode\u003e19ca8dc\u003c/code\u003e\u003c/a\u003e Fix Constant field rejecting None values during load (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2894\"\u003e#2894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/213ee3a020e24fb26ead3a2285ba0402c90080ce\"\u003e\u003ccode\u003e213ee3a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2896\"\u003e#2896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/ba8b512b24ebf4789099f1afafe9256b1bda950e\"\u003e\u003ccode\u003eba8b512\u003c/code\u003e\u003c/a\u003e Update AUTHORS.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/40105adb3b3916dda5dcd16133d29ad44e7a33b9\"\u003e\u003ccode\u003e40105ad\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/39e7c833e9c8711a49d6d710f7e3ee5cf2effbbe\"\u003e\u003ccode\u003e39e7c83\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2892\"\u003e#2892\u003c/a\u003e from thanhlecongg/fix-2891\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/78a94ea0e7ee9f35f8322318064232fe6147f190\"\u003e\u003ccode\u003e78a94ea\u003c/code\u003e\u003c/a\u003e Fix docstring typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/8dc078e2b86312988e5f7ed32849ae0788779e81\"\u003e\u003ccode\u003e8dc078e\u003c/code\u003e\u003c/a\u003e fix issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c62b9113dc0ec136eb24214b6eb6f856af8f5df3\"\u003e\u003ccode\u003ec62b911\u003c/code\u003e\u003c/a\u003e add tests for issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/d07bf5e3d218cd5ffa1fcd1dce411f7a5c88e256\"\u003e\u003ccode\u003ed07bf5e\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2887\"\u003e#2887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/marshmallow-code/marshmallow/compare/3.26.2...4.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow` from 3.5.0 to 3.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/releases\"\u003emlflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gateway] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.10.0, which includes several notable updates:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.1 (2026-03-05)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.10.0 (2026-02-20)\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/mlflow/mlflow/commit/cadc323c059d08ee15c3a312afd0eefeeccedc94\"\u003e\u003ccode\u003ecadc323\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1 (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21396\"\u003e#21396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3d17d6c58e1e0078c062321322fc76b1b822ab6d\"\u003e\u003ccode\u003e3d17d6c\u003c/code\u003e\u003c/a\u003e Add back virtualenv to fix the docker build until the next release (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3cfc12fe1359afbade834a74f57e0bbe2ef4531c\"\u003e\u003ccode\u003e3cfc12f\u003c/code\u003e\u003c/a\u003e Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/bcaad26df7e825fe15d4deffa0f05478e010bc10\"\u003e\u003ccode\u003ebcaad26\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/ff3249ff8a5f62e344f382d5fcdb419379780c78\"\u003e\u003ccode\u003eff3249f\u003c/code\u003e\u003c/a\u003e Update GenAI link and video in the getting started page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1591d038ae47271382fddd2b8653286af7c31138\"\u003e\u003ccode\u003e1591d03\u003c/code\u003e\u003c/a\u003e Persist AI Gateway default passphrase security banner dismissal to localStora...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/32979c9e560346a54d05ba7ff53434f215c5958f\"\u003e\u003ccode\u003e32979c9\u003c/code\u003e\u003c/a\u003e Demote unused parameters log message from WARNING to DEBUG in instructions ju...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/18eeea03c3d0af5b915bb3880a71198b5123e0bd\"\u003e\u003ccode\u003e18eeea0\u003c/code\u003e\u003c/a\u003e Make simulator explicitly avoid stating goal in first message (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/42d4356e18c0c2548ff3b290b11f36a992530d9d\"\u003e\u003ccode\u003e42d4356\u003c/code\u003e\u003c/a\u003e Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1a14934cc0116ddd91fb693e2b52bed12683521a\"\u003e\u003ccode\u003e1a14934\u003c/code\u003e\u003c/a\u003e Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.5.0...v3.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 25.0 to 26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0\u003c/h2\u003e\n\u003cp\u003eRead about the performance improvements here: \u003ca href=\"https://iscinumpy.dev/post/packaging-faster\"\u003ehttps://iscinumpy.dev/post/packaging-faster\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/900\"\u003epypa/packaging#900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata by \u003ca href=\"https://github.com/brettcannon\"\u003e\u003ccode\u003e@​brettcannon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/948\"\u003epypa/packaging#948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport writing metadata by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/846\"\u003epypa/packaging#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e for \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1003\"\u003epypa/packaging#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifier\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1004\"\u003epypa/packaging#1004\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/897\"\u003epypa/packaging#897\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/942\"\u003epypa/packaging#942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/951\"\u003epypa/packaging#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/932\"\u003epypa/packaging#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/954\"\u003epypa/packaging#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparsions by \u003ca href=\"https://github.com/JP-Ellis\"\u003e\u003ccode\u003e@​JP-Ellis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/939\"\u003epypa/packaging#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e by \u003ca href=\"https://github.com/dholth\"\u003e\u003ccode\u003e@​dholth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/860\"\u003epypa/packaging#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/896\"\u003epypa/packaging#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/868\"\u003epypa/packaging#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e by \u003ca href=\"https://github.com/bwoodsend\"\u003e\u003ccode\u003e@​bwoodsend\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/879\"\u003epypa/packaging#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format by \u003ca href=\"https://github.com/di\"\u003e\u003ccode\u003e@​di\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/925\"\u003epypa/packaging#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon by \u003ca href=\"https://github.com/pradyunsg\"\u003e\u003ccode\u003e@​pradyunsg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/833\"\u003epypa/packaging#833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/931\"\u003epypa/packaging#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/953\"\u003epypa/packaging#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA root logger use found by ruff LOG, use \u003ccode\u003epackaging\u003c/code\u003e logger instead by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/965\"\u003epypa/packaging#965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1022\"\u003epypa/packaging#1022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1024\"\u003epypa/packaging#1024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1033\"\u003epypa/packaging#1033\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup by \u003ca href=\"https://github.com/hauntsaninja\"\u003e\u003ccode\u003e@​hauntsaninja\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1019\"\u003epypa/packaging#1019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/869\"\u003epypa/packaging#869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/bearomorphism\"\u003e\u003ccode\u003e@​bearomorphism\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/913\"\u003epypa/packaging#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003es in specifier comparison by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/986\"\u003epypa/packaging#986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eSpecifier\u003c/code\u003e's Version by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/985\"\u003epypa/packaging#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/987\"\u003epypa/packaging#987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/990\"\u003epypa/packaging#990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/988\"\u003epypa/packaging#988\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1055\"\u003epypa/packaging#1055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/989\"\u003epypa/packaging#989\u003c/a\u003e and regression for \u003ccode\u003epackaging_legacy\u003c/code\u003e fixed by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1048\"\u003epypa/packaging#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/993\"\u003epypa/packaging#993\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efullmatch\u003c/code\u003e in a couple more places by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/992\"\u003epypa/packaging#992\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/blob/main/CHANGELOG.rst\"\u003epackaging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e26.0 - 2026-01-20\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nFeatures:\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock (:pull:\u003ccode\u003e900\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata (:pull:\u003ccode\u003e948\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport for writing metadata to a file (:pull:\u003ccode\u003e846\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e on Version (:pull:\u003ccode\u003e1003\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e1004\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e897\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e951\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version (:pull:\u003ccode\u003e932\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. (:pull:\u003ccode\u003e954\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparisons (:pull:\u003ccode\u003e939\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e (:pull:\u003ccode\u003e860\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e (:pull:\u003ccode\u003e896\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e (:pull:\u003ccode\u003e868\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e (:pull:\u003ccod...\n\n_Description has been truncated_","html_url":"https://github.com/microsoft/physical-ai-toolchain/pull/276","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fphysical-ai-toolchain/issues/276","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/276/packages"}},{"old_version":"\u003c20.0,\u003e=15.0","new_version":"\u003e=15.0,\u003c24.0","update_type":null,"path":null,"pr_created_at":"2026-03-13T23:15:57.000Z","version_change":"\u003c20.0,\u003e=15.0 → \u003e=15.0,\u003c24.0","issue":{"uuid":"4073839049","node_id":"PR_kwDORRYE587KgREi","number":75,"state":"closed","title":"chore(deps-dev): update pyarrow requirement from \u003c20.0,\u003e=15.0 to \u003e=15.0,\u003c24.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-06T12:13:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-13T23:15:57.000Z","updated_at":"2026-04-06T12:13:53.000Z","time_to_close":2033875,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): update","packages":[{"name":"pyarrow","old_version":"\u003c20.0,\u003e=15.0","new_version":"\u003e=15.0,\u003c24.0","repository_url":"https://github.com/apache/arrow"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [pyarrow](https://github.com/apache/arrow) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/go/v15.0.0...apache-arrow-23.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/tollama/tollama/pull/75","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tollama%2Ftollama/issues/75","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/75/packages"}},{"old_version":"21.0.0","new_version":"23.0.1","update_type":"major","path":null,"pr_created_at":"2026-03-09T20:31:32.000Z","version_change":"21.0.0 → 23.0.1","issue":{"uuid":"4047761870","node_id":"PR_kwDOP9ZDic7JLz99","number":509,"state":"open","title":"chore(deps): bump the training-dependencies group across 1 directory with 53 updates","user":"dependabot[bot]","labels":["dependencies","python","training"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-09T20:31:32.000Z","updated_at":"2026-03-09T20:31:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"training-dependencies","update_count":53,"packages":[{"name":"numpy","old_version":"1.26.4","new_version":"2.4.3","repository_url":"https://github.com/numpy/numpy"},{"name":"azure-core","old_version":"1.38.1","new_version":"1.38.2","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-storage-blob","old_version":"12.19.0","new_version":"12.28.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"marshmallow","old_version":"3.26.2","new_version":"4.2.2","repository_url":"https://github.com/marshmallow-code/marshmallow"},{"name":"mlflow","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"azureml-mlflow","old_version":"1.61.0.post1","new_version":"1.62.0","repository_url":"https://github.com/Azure/MachineLearningNotebooks"},{"name":"rsl-rl-lib","old_version":"4.0.1","new_version":"5.0.1","repository_url":"https://github.com/leggedrobotics/rsl_rl"},{"name":"azure-storage-file-datalake","old_version":"12.14.0","new_version":"12.23.0","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"cachetools","old_version":"6.2.6","new_version":"7.0.4","repository_url":"https://github.com/tkem/cachetools"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.5","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"cryptography","old_version":"45.0.7","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"cyclopts","old_version":"4.6.0","new_version":"4.8.0","repository_url":"https://github.com/BrianPugh/cyclopts"},{"name":"databricks-sdk","old_version":"0.96.0","new_version":"0.97.0","repository_url":"https://github.com/databricks/databricks-sdk-py"},{"name":"fastmcp","old_version":"2.14.5","new_version":"3.1.0","repository_url":"https://github.com/PrefectHQ/fastmcp"},{"name":"filelock","old_version":"3.25.0","new_version":"3.25.1","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.0","repository_url":"https://github.com/fonttools/fonttools"},{"name":"google-auth","old_version":"2.48.0","new_version":"2.49.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"graphql-core","old_version":"3.2.7","new_version":"3.2.8","repository_url":"https://github.com/graphql-python/graphql-core"},{"name":"gunicorn","old_version":"23.0.0","new_version":"25.1.0","repository_url":"https://github.com/benoitc/gunicorn"},{"name":"jaraco-context","old_version":"6.1.0","new_version":"6.1.1","repository_url":"https://github.com/jaraco/jaraco.context"},{"name":"kiwisolver","old_version":"1.4.9","new_version":"1.5.0","repository_url":"https://github.com/nucleic/kiwi"},{"name":"mlflow-skinny","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mlflow-tracing","old_version":"3.5.0","new_version":"3.10.1","repository_url":"https://github.com/mlflow/mlflow"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/mpmath/mpmath"},{"name":"msal","old_version":"1.35.0","new_version":"1.35.1","repository_url":"https://github.com/AzureAD/microsoft-authentication-library-for-python"},{"name":"opentelemetry-api","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-asgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-dbapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-django","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-fastapi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-flask","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-psycopg2","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-requests","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-urllib3","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-wsgi","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-sdk","old_version":"1.39.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-semantic-conventions","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-util-http","old_version":"0.60b0","new_version":"0.61b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"platformdirs","old_version":"4.9.2","new_version":"4.9.4","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"protobuf","old_version":"6.33.5","new_version":"7.34.0","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"py-key-value-aio","old_version":"0.3.0","new_version":"0.4.4"},{"name":"pyarrow","old_version":"21.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pydocket","old_version":"0.18.0","new_version":"0.18.1","repository_url":"https://github.com/chrisguidry/docket"},{"name":"pytz","old_version":"2025.2","new_version":"2026.1.post1","repository_url":"https://github.com/stub42/pytz"},{"name":"redis","old_version":"7.2.1","new_version":"7.3.0","repository_url":"https://github.com/redis/redis-py"},{"name":"setuptools","old_version":"82.0.0","new_version":"82.0.1","repository_url":"https://github.com/pypa/setuptools"},{"name":"smmap","old_version":"5.0.2","new_version":"5.0.3","repository_url":"https://github.com/gitpython-developers/smmap"},{"name":"wrapt","old_version":"1.17.3","new_version":"2.1.2","repository_url":"https://github.com/GrahamDumpleton/wrapt"}],"path":null,"ecosystem":"pip"},"body":"Bumps the training-dependencies group with 53 updates in the /src/training directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.4.3` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.1` | `1.38.2` |\n| [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python) | `12.19.0` | `12.28.0` |\n| [marshmallow](https://github.com/marshmallow-code/marshmallow) | `3.26.2` | `4.2.2` |\n| [mlflow](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [azureml-mlflow](https://github.com/Azure/MachineLearningNotebooks) | `1.61.0.post1` | `1.62.0` |\n| [rsl-rl-lib](https://github.com/leggedrobotics/rsl_rl) | `4.0.1` | `5.0.1` |\n| [azure-storage-file-datalake](https://github.com/Azure/azure-sdk-for-python) | `12.14.0` | `12.23.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.6` | `7.0.4` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.5` |\n| [cryptography](https://github.com/pyca/cryptography) | `45.0.7` | `46.0.5` |\n| [cyclopts](https://github.com/BrianPugh/cyclopts) | `4.6.0` | `4.8.0` |\n| [databricks-sdk](https://github.com/databricks/databricks-sdk-py) | `0.96.0` | `0.97.0` |\n| [fastmcp](https://github.com/PrefectHQ/fastmcp) | `2.14.5` | `3.1.0` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.25.0` | `3.25.1` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.48.0` | `2.49.0` |\n| [graphql-core](https://github.com/graphql-python/graphql-core) | `3.2.7` | `3.2.8` |\n| [gunicorn](https://github.com/benoitc/gunicorn) | `23.0.0` | `25.1.0` |\n| [jaraco-context](https://github.com/jaraco/jaraco.context) | `6.1.0` | `6.1.1` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.9` | `1.5.0` |\n| [mlflow-skinny](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mlflow-tracing](https://github.com/mlflow/mlflow) | `3.5.0` | `3.10.1` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.0` |\n| [msal](https://github.com/AzureAD/microsoft-authentication-library-for-python) | `1.35.0` | `1.35.1` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-asgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-dbapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-django](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-flask](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-psycopg2](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-requests](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-urllib3](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-instrumentation-wsgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.39.0` | `1.40.0` |\n| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b0` | `0.61b0` |\n| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b0` | `0.61b0` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.9.2` | `4.9.4` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.5` | `7.34.0` |\n| py-key-value-aio | `0.3.0` | `0.4.4` |\n| [pyarrow](https://github.com/apache/arrow) | `21.0.0` | `23.0.1` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| [pydocket](https://github.com/chrisguidry/docket) | `0.18.0` | `0.18.1` |\n| [pytz](https://github.com/stub42/pytz) | `2025.2` | `2026.1.post1` |\n| [redis](https://github.com/redis/redis-py) | `7.2.1` | `7.3.0` |\n| [setuptools](https://github.com/pypa/setuptools) | `82.0.0` | `82.0.1` |\n| [smmap](https://github.com/gitpython-developers/smmap) | `5.0.2` | `5.0.3` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.2` |\n\n\nUpdates `numpy` from 1.26.4 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/v1.26.4...v2.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-core` from 1.38.1 to 1.38.2\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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-core_1.38.2\u003c/h2\u003e\n\u003ch2\u003e1.38.2 (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ePipelineClient.format_url\u003c/code\u003e to preserve the leading slash when the URL template starts with \u003ccode\u003e/?\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45218\"\u003e#45218\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/Azure/azure-sdk-for-python/commit/3e9fec2338ae644e380401dec9e407706cb27115\"\u003e\u003ccode\u003e3e9fec2\u003c/code\u003e\u003c/a\u003e [Core] Update changelog (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45230\"\u003e#45230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/b5f8d700bf670c475692fd1de087d696af72b66c\"\u003e\u003ccode\u003eb5f8d70\u003c/code\u003e\u003c/a\u003e [Core] Fix format_url to allow leading slash if specified (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45218\"\u003e#45218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/f04a541627a9bfc54de599731f9e804cee4e09d2\"\u003e\u003ccode\u003ef04a541\u003c/code\u003e\u003c/a\u003e Increment package version after release of azure-core (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45127\"\u003e#45127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-core_1.38.1...azure-core_1.38.2\"\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.19.0 to 12.28.0\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.19.0...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 `marshmallow` from 3.26.2 to 4.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/marshmallow-code/marshmallow/blob/dev/CHANGELOG.rst\"\u003emarshmallow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.2 (2026-02-04)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix behavior of \u003ccode\u003efields.Contant(None)\u003c/code\u003e (:issue:\u003ccode\u003e2868\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for reporting and \u003ccode\u003eemmanuel-ferdman\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.1 (2026-01-23)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix validation of URLs beginning with uppercare \u003ccode\u003eFILE\u003c/code\u003e (:issue:\u003ccode\u003e2891\u003c/code\u003e).\nThanks :user:\u003ccode\u003ethanhlecongg\u003c/code\u003e for reporting and fixing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.0 (2026-01-04)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emany\u003c/code\u003e argument of \u003ccode\u003eNested\u003c/code\u003e properly overrides schema instance\nvalue (:pr:\u003ccode\u003e2854\u003c/code\u003e). Thanks :user:\u003ccode\u003ejafournier\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.2 (2025-12-19)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e:cve:\u003ccode\u003e2025-68480\u003c/code\u003e: Merge error store messages without rebuilding collections.\nThanks 카푸치노 for reporting and :user:\u003ccode\u003edeckar01\u003c/code\u003e for the fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.1 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003eURL\u003c/code\u003e validator is case-insensitive when using custom schemes (:pr:\u003ccode\u003e2874\u003c/code\u003e).\nThanks :user:\u003ccode\u003eT90REAL\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.0 (2025-11-01)\u003c/h2\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e__len__\u003c/code\u003e implementation to \u003ccode\u003emissing\u003c/code\u003e so that it can be used with\n\u003ccode\u003evalidate.Length \u0026lt;marshmallow.validate.Length\u0026gt;\u003c/code\u003e (:pr:\u003ccode\u003e2861\u003c/code\u003e).\nThanks :user:\u003ccode\u003eagentgodzilla\u003c/code\u003e for the PR.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (:pr:\u003ccode\u003e2363\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/marshmallow-code/marshmallow/commit/2a3812d5049c83e98db60a0869919521f97cd77d\"\u003e\u003ccode\u003e2a3812d\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/19ca8dce2d5bde94509a4a89e495f35c695442d5\"\u003e\u003ccode\u003e19ca8dc\u003c/code\u003e\u003c/a\u003e Fix Constant field rejecting None values during load (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2894\"\u003e#2894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/213ee3a020e24fb26ead3a2285ba0402c90080ce\"\u003e\u003ccode\u003e213ee3a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2896\"\u003e#2896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/ba8b512b24ebf4789099f1afafe9256b1bda950e\"\u003e\u003ccode\u003eba8b512\u003c/code\u003e\u003c/a\u003e Update AUTHORS.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/40105adb3b3916dda5dcd16133d29ad44e7a33b9\"\u003e\u003ccode\u003e40105ad\u003c/code\u003e\u003c/a\u003e Bump version and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/39e7c833e9c8711a49d6d710f7e3ee5cf2effbbe\"\u003e\u003ccode\u003e39e7c83\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2892\"\u003e#2892\u003c/a\u003e from thanhlecongg/fix-2891\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/78a94ea0e7ee9f35f8322318064232fe6147f190\"\u003e\u003ccode\u003e78a94ea\u003c/code\u003e\u003c/a\u003e Fix docstring typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/8dc078e2b86312988e5f7ed32849ae0788779e81\"\u003e\u003ccode\u003e8dc078e\u003c/code\u003e\u003c/a\u003e fix issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c62b9113dc0ec136eb24214b6eb6f856af8f5df3\"\u003e\u003ccode\u003ec62b911\u003c/code\u003e\u003c/a\u003e add tests for issue \u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2891\"\u003e#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/d07bf5e3d218cd5ffa1fcd1dce411f7a5c88e256\"\u003e\u003ccode\u003ed07bf5e\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2887\"\u003e#2887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/marshmallow-code/marshmallow/compare/3.26.2...4.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow` from 3.5.0 to 3.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/releases\"\u003emlflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.10.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gateway] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.10.0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.10.0, which includes several notable updates:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.1 (2026-03-05)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.10.1 is a patch release that contains some minor feature enhancements, bug fixes, and documentation updates.\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Add try-it page on Gateway usage example modal (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21077\"\u003e#21077\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Filter gateway experiments from the experiment list page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21130\"\u003e#21130\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[UI] Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21191\"\u003e#21191\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Persist AI Gateway default passphrase security banner dismissal to localStorage (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21292\"\u003e#21292\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Demote unused parameters log message from WARNING to DEBUG in instructions judge (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21294\"\u003e#21294\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts / UI] Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix judge builder instruction textarea (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21299\"\u003e#21299\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix group mode to aggregate \u0026quot;Additional runs\u0026quot; as \u0026quot;Unassigned\u0026quot; group in charts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21155\"\u003e#21155\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix artifact download when workspaces are enabled (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21074\"\u003e#21074\u003c/a\u003e, \u003ca href=\"https://github.com/timsolovev\"\u003e\u003ccode\u003e@​timsolovev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix NOT NULL constraint on assessments.trace_id during trace export (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21348\"\u003e#21348\u003c/a\u003e, \u003ca href=\"https://github.com/dbczumar\"\u003e\u003ccode\u003e@​dbczumar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Fix 403 Forbidden for artifact list via query param when \u003ccode\u003edefault_permission=NO_PERMISSIONS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21220\"\u003e#21220\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] [ML-63097] Fix broken LLM judge documentation links (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21347\"\u003e#21347\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix Run Judge failed with litellm.InternalServerError: Invalid response object. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21262\"\u003e#21262\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing / UI] Update Action menu: indentation to avoid confusion (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21266\"\u003e#21266\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix MlflowClient.copy_model_version for the case that copy UC model across workspaces (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21212\"\u003e#21212\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix empty description box rendering for sanitized-empty experiment descriptions (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21223\"\u003e#21223\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Artifacts] Fix single artifact downloading through \u003ccode\u003eHttpArtifactRepository\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/12955\"\u003e#12955\u003c/a\u003e, \u003ca href=\"https://github.com/Koenkk\"\u003e\u003ccode\u003e@​Koenkk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix find_last_user_message_index skipping skill content injections (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21119\"\u003e#21119\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Fix retrieval context extraction when span outputs are stored as strings (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21213\"\u003e#21213\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Fix visibility toggle button in chart tooltip not working (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21071\"\u003e#21071\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[UI] Move gateway experiment filtering to server-side query to fix inconsistent page sizes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21138\"\u003e#21138\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[] Downgrade spurious warning to debug log for gateway endpoints with fallback_config but no FALLBACK models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21123\"\u003e#21123\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper to pass None for optional params with UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21051\"\u003e#21051\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add CASCADE to \u003ccode\u003elogged_model\u003c/code\u003e tables \u003ccode\u003eexperiment_id\u003c/code\u003e foreign keys (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20185\"\u003e#20185\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracing] Fix MCP fn_wrapper handling of Click UNSET defaults (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20953\"\u003e#20953\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20962\"\u003e#20962\u003c/a\u003e, \u003ca href=\"https://github.com/yangbaechu\"\u003e\u003ccode\u003e@​yangbaechu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDocumentation updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Docs] Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azure Entra ID configuration guide (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20591\"\u003e#20591\u003c/a\u003e, \u003ca href=\"https://github.com/WeichenXu123\"\u003e\u003ccode\u003e@​WeichenXu123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Tracing] Fix distributed tracing rendering and improve doc (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21070\"\u003e#21070\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] docs: Add single quotes to install commands with extras to prevent zsh errors (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21227\"\u003e#21227\u003c/a\u003e, \u003ca href=\"https://github.com/mshavliuk\"\u003e\u003ccode\u003e@​mshavliuk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs / Model Registry] Fix outdated docstring claiming models:/ URIs are unsupported in register_model (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21197\"\u003e#21197\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Docs] Replace MinIO with RustFS in docker-compose setup (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21099\"\u003e#21099\u003c/a\u003e, \u003ca href=\"https://github.com/jmaggesi\"\u003e\u003ccode\u003e@​jmaggesi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21148\"\u003e#21148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21149\"\u003e#21149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21096\"\u003e#21096\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21118\"\u003e#21118\u003c/a\u003e, \u003ca href=\"https://github.com/B-Step62\"\u003e\u003ccode\u003e@​B-Step62\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21345\"\u003e#21345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21236\"\u003e#21236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21106\"\u003e#21106\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21033\"\u003e#21033\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21115\"\u003e#21115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21034\"\u003e#21034\u003c/a\u003e, \u003ca href=\"https://github.com/smoorjani\"\u003e\u003ccode\u003e@​smoorjani\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21326\"\u003e#21326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21133\"\u003e#21133\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21036\"\u003e#21036\u003c/a\u003e, \u003ca href=\"https://github.com/copilot-swe-agent\"\u003e\u003ccode\u003e@​copilot-swe-agent\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21293\"\u003e#21293\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21175\"\u003e#21175\u003c/a\u003e, \u003ca href=\"https://github.com/caponetto\"\u003e\u003ccode\u003e@​caponetto\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21305\"\u003e#21305\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21264\"\u003e#21264\u003c/a\u003e, \u003ca href=\"https://github.com/serena-ruan\"\u003e\u003ccode\u003e@​serena-ruan\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21216\"\u003e#21216\u003c/a\u003e, \u003ca href=\"https://github.com/justinwei-db\"\u003e\u003ccode\u003e@​justinwei-db\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21038\"\u003e#21038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21082\"\u003e#21082\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21143\"\u003e#21143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20733\"\u003e#20733\u003c/a\u003e, \u003ca href=\"https://github.com/mprahl\"\u003e\u003ccode\u003e@​mprahl\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20488\"\u003e#20488\u003c/a\u003e, \u003ca href=\"https://github.com/mdalvz0000\"\u003e\u003ccode\u003e@​mdalvz0000\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21142\"\u003e#21142\u003c/a\u003e, \u003ca href=\"https://github.com/EPgg92\"\u003e\u003ccode\u003e@​EPgg92\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21094\"\u003e#21094\u003c/a\u003e, \u003ca href=\"https://github.com/PattaraS\"\u003e\u003ccode\u003e@​PattaraS\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.10.0 (2026-02-20)\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/mlflow/mlflow/commit/cadc323c059d08ee15c3a312afd0eefeeccedc94\"\u003e\u003ccode\u003ecadc323\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1 (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21396\"\u003e#21396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3d17d6c58e1e0078c062321322fc76b1b822ab6d\"\u003e\u003ccode\u003e3d17d6c\u003c/code\u003e\u003c/a\u003e Add back virtualenv to fix the docker build until the next release (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20740\"\u003e#20740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3cfc12fe1359afbade834a74f57e0bbe2ef4531c\"\u003e\u003ccode\u003e3cfc12f\u003c/code\u003e\u003c/a\u003e Update SSO oidc plugin doc: add google identity platform / AWS cognito / Azur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/bcaad26df7e825fe15d4deffa0f05478e010bc10\"\u003e\u003ccode\u003ebcaad26\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;View full dashboard\u0026quot; link in gateway usage tab when workspace is enabled...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/ff3249ff8a5f62e344f382d5fcdb419379780c78\"\u003e\u003ccode\u003eff3249f\u003c/code\u003e\u003c/a\u003e Update GenAI link and video in the getting started page (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21368\"\u003e#21368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1591d038ae47271382fddd2b8653286af7c31138\"\u003e\u003ccode\u003e1591d03\u003c/code\u003e\u003c/a\u003e Persist AI Gateway default passphrase security banner dismissal to localStora...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/32979c9e560346a54d05ba7ff53434f215c5958f\"\u003e\u003ccode\u003e32979c9\u003c/code\u003e\u003c/a\u003e Demote unused parameters log message from WARNING to DEBUG in instructions ju...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/18eeea03c3d0af5b915bb3880a71198b5123e0bd\"\u003e\u003ccode\u003e18eeea0\u003c/code\u003e\u003c/a\u003e Make simulator explicitly avoid stating goal in first message (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21384\"\u003e#21384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/42d4356e18c0c2548ff3b290b11f36a992530d9d\"\u003e\u003ccode\u003e42d4356\u003c/code\u003e\u003c/a\u003e Clear \u0026quot;All\u0026quot; time selector when switching to overview tab (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/1a14934cc0116ddd91fb693e2b52bed12683521a\"\u003e\u003ccode\u003e1a14934\u003c/code\u003e\u003c/a\u003e Fix Traces view in Prompts tab not being scrollable (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/21282\"\u003e#21282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.5.0...v3.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 25.0 to 26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0\u003c/h2\u003e\n\u003cp\u003eRead about the performance improvements here: \u003ca href=\"https://iscinumpy.dev/post/packaging-faster\"\u003ehttps://iscinumpy.dev/post/packaging-faster\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/900\"\u003epypa/packaging#900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata by \u003ca href=\"https://github.com/brettcannon\"\u003e\u003ccode\u003e@​brettcannon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/948\"\u003epypa/packaging#948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport writing metadata by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/846\"\u003epypa/packaging#846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e for \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1003\"\u003epypa/packaging#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifier\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1004\"\u003epypa/packaging#1004\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/897\"\u003epypa/packaging#897\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/942\"\u003epypa/packaging#942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/951\"\u003epypa/packaging#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/932\"\u003epypa/packaging#932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/954\"\u003epypa/packaging#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparsions by \u003ca href=\"https://github.com/JP-Ellis\"\u003e\u003ccode\u003e@​JP-Ellis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/939\"\u003epypa/packaging#939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e by \u003ca href=\"https://github.com/dholth\"\u003e\u003ccode\u003e@​dholth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/860\"\u003epypa/packaging#860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/896\"\u003epypa/packaging#896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/868\"\u003epypa/packaging#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e by \u003ca href=\"https://github.com/bwoodsend\"\u003e\u003ccode\u003e@​bwoodsend\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/879\"\u003epypa/packaging#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format by \u003ca href=\"https://github.com/di\"\u003e\u003ccode\u003e@​di\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/925\"\u003epypa/packaging#925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon by \u003ca href=\"https://github.com/pradyunsg\"\u003e\u003ccode\u003e@​pradyunsg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/833\"\u003epypa/packaging#833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions by \u003ca href=\"https://github.com/Liam-DeVoe\"\u003e\u003ccode\u003e@​Liam-DeVoe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/931\"\u003epypa/packaging#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/953\"\u003epypa/packaging#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA root logger use found by ruff LOG, use \u003ccode\u003epackaging\u003c/code\u003e logger instead by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/965\"\u003epypa/packaging#965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1022\"\u003epypa/packaging#1022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1024\"\u003epypa/packaging#1024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1033\"\u003epypa/packaging#1033\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup by \u003ca href=\"https://github.com/hauntsaninja\"\u003e\u003ccode\u003e@​hauntsaninja\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1019\"\u003epypa/packaging#1019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e by \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/869\"\u003epypa/packaging#869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/bearomorphism\"\u003e\u003ccode\u003e@​bearomorphism\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/913\"\u003epypa/packaging#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003es in specifier comparison by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/986\"\u003epypa/packaging#986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eSpecifier\u003c/code\u003e's Version by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/985\"\u003epypa/packaging#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/987\"\u003epypa/packaging#987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/990\"\u003epypa/packaging#990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/988\"\u003epypa/packaging#988\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1055\"\u003epypa/packaging#1055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/989\"\u003epypa/packaging#989\u003c/a\u003e and regression for \u003ccode\u003epackaging_legacy\u003c/code\u003e fixed by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1048\"\u003epypa/packaging#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/993\"\u003epypa/packaging#993\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efullmatch\u003c/code\u003e in a couple more places by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/992\"\u003epypa/packaging#992\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/blob/main/CHANGELOG.rst\"\u003epackaging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e26.0 - 2026-01-20\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nFeatures:\n\u003cul\u003e\n\u003cli\u003ePEP 751: support pylock (:pull:\u003ccode\u003e900\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePEP 794: import name metadata (:pull:\u003ccode\u003e948\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport for writing metadata to a file (:pull:\u003ccode\u003e846\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e__replace__\u003c/code\u003e on Version (:pull:\u003ccode\u003e1003\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport positional pattern matching for \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e1004\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePEP 440 handling of prereleases for \u003ccode\u003eSpecifier.contains\u003c/code\u003e, \u003ccode\u003eSpecifierSet.contains\u003c/code\u003e, and \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e897\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eHandle PEP 440 edge case in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e (:pull:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust arbitrary equality intersection preservation in \u003ccode\u003eSpecifierSet\u003c/code\u003e (:pull:\u003ccode\u003e951\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eReturn \u003ccode\u003eFalse\u003c/code\u003e instead of raising for \u003ccode\u003e.contains\u003c/code\u003e with invalid version (:pull:\u003ccode\u003e932\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport arbitrary equality on arbitrary strings for \u003ccode\u003eSpecifier\u003c/code\u003e and \u003ccode\u003eSpecifierSet\u003c/code\u003e's \u003ccode\u003efilter\u003c/code\u003e and \u003ccode\u003econtains\u003c/code\u003e method. (:pull:\u003ccode\u003e954\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOnly try to parse as \u003ccode\u003eVersion\u003c/code\u003e on certain marker keys, return \u003ccode\u003eFalse\u003c/code\u003e on unequal ordered comparisons (:pull:\u003ccode\u003e939\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e_hash\u003c/code\u003e when unpickling \u003ccode\u003eTag()\u003c/code\u003e (:pull:\u003ccode\u003e860\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect comment and simplify implicit prerelease handling in \u003ccode\u003eSpecifier.prereleases\u003c/code\u003e (:pull:\u003ccode\u003e896\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse explicit \u003ccode\u003e_GLibCVersion\u003c/code\u003e \u003ccode\u003eNamedTuple\u003c/code\u003e in \u003ccode\u003e_manylinux\u003c/code\u003e (:pull:\u003ccode\u003e868\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDetect invalid license expressions containing \u003ccode\u003e()\u003c/code\u003e (:pull:\u003ccode\u003e879\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect regex for metadata \u003ccode\u003e'name'\u003c/code\u003e format (:pull:\u003ccode\u003e925\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the message around expecting a semicolon (:pull:\u003ccode\u003e833\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport nested parens in license expressions (:pull:\u003ccode\u003e931\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd space before at symbol in \u003ccode\u003eRequirements\u003c/code\u003e string (:pull:\u003ccode\u003e953\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eA root logger use found, use a \u003ccode\u003epackaging\u003c/code\u003e logger instead (:pull:\u003ccode\u003e965\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eBetter support for subclassing \u003ccode\u003eMarker\u003c/code\u003e and \u003ccode\u003eRequirement\u003c/code\u003e (:pull:\u003ccode\u003e1022\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize all extras, not just if it comes first (:pull:\u003ccode\u003e1024\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDon't produce a broken repr if \u003ccode\u003eMarker\u003c/code\u003e fails to construct (:pull:\u003ccode\u003e1033\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid recompiling regexes in the tokenizer for a 3x speedup (:pull:\u003ccode\u003e1019\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImprove performance in \u003ccode\u003e_manylinux.py\u003c/code\u003e (:pull:\u003ccode\u003e869\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor cleanups to \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e913\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSkip redundant creation of \u003ccode\u003eVersion\u003c/code\u003e's in specifier comparison (:pull:\u003ccode\u003e986\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCache the \u003ccode\u003eSpecifier\u003c/code\u003e's \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e985\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eVersion\u003c/code\u003e a little faster (:pull:\u003ccode\u003e987\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMinor \u003ccode\u003eVersion\u003c/code\u003e regex cleanup (:pull:\u003ccode\u003e990\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster regex on Python 3.11.5+ for \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e988\u003c/code\u003e, :pull:\u003ccode\u003e1055\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eLazily calculate \u003ccode\u003e_key\u003c/code\u003e in \u003ccode\u003eVersion\u003c/code\u003e (:pull:\u003ccode\u003e989\u003c/code\u003e, :pull:\u003ccode\u003e1048\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003ecanonicalize_version\u003c/code\u003e (:pull:\u003ccode\u003e993\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ere.fullmatch\u003c/code\u003e in a couple more places (:pull:\u003ccode\u003e992\u003c/code\u003e, :pull:\u003ccode\u003e1029\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003emap\u003c/code\u003e instead of generator (:pull:\u003ccode\u003e996\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003e._version\u003c/code\u003e (\u003ccode\u003e_Version\u003c/code\u003e, a \u003ccode\u003eNamedTuple\u003c/code\u003e) (:pull:\u003ccode\u003e995\u003c/code\u003e, :pull:\u003ccode\u003e1062\u003c/code\u003e)\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/3b77a26f5a27473ad3b08194d773f325d018a2d0\"\u003e\u003ccode\u003e3b77a26\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/31371cce593d2bde0dd8c436ecfb7d53cb91cfb6\"\u003e\u003ccode\u003e31371cc\u003c/code\u003e\u003c/a\u003e docs: prepare for 26.0 final (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/9627a8821f09e4c55cd6e9daadb617b67c4741c2\"\u003e\u003ccode\u003e9627a88\u003c/code\u003e\u003c/a\u003e perf: dual replace (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1064\"\u003e#1064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/d5398b8bc19f3fad7b035ceb83023caf06d6e2da\"\u003e\u003ccode\u003ed5398b8\u003c/code\u003e\u003c/a\u003e fix: restore ._version as a compat shim (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1062\"\u003e#1062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/3a7b600a126d237b2ad3cd7e25d2cb5c176276af\"\u003e\u003ccode\u003e3a7b600\u003c/code\u003e\u003c/a\u003e Bump for development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/d4eefdccf992e963c48011875301d93df6a7f2cc\"\u003e\u003ccode\u003ed4eefdc\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/46189124fb43d8989d370902c80ab156eb83a45d\"\u003e\u003ccode\u003e4618912\u003c/code\u003e\u003c/a\u003e docs: prepare for 26.0rc3 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1060\"\u003e#1060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/0cf1b41b4b321ae08cad7d3e49cfaff5578fe813\"\u003e\u003ccode\u003e0cf1b41\u003c/code\u003e\u003c/a\u003e ci: test on first public release of CPythons (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1056\"\u003e#1056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/716beb1c0a5d7a398bf57fbd80bc2501811e616b\"\u003e\u003ccode\u003e716beb1\u003c/code\u003e\u003c/a\u003e perf:  10% faster stripping zeros (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/350a2306700b738f487f251efa278f532b263dee\"\u003e\u003ccode\u003e350a230\u003c/code\u003e\u003c/a\u003e fix: support CPython 3.11.0-3.11.4 and older PyPy3.11 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/packaging/compare/25.0...26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azureml-mlflow` from 1.61.0.post1 to 1.62.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Azure/MachineLearningNotebooks/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rsl-rl-lib` from 4.0.1 to 5.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/leggedrobotics/rsl_rl/releases\"\u003ersl-rl-lib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.1\u003c/h2\u003e\n\u003ch2\u003eOverview\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/leggedrobotics/rsl_rl/compare/v5.0.0...v5.0.1\"\u003ehttps://github.com/leggedrobotics/rsl_rl/compare/v5.0.0...v5.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes shared CNN modules in _OnnxCNNModel and _TorchCNNModel by \u003ca href=\"https://github.com/kevinzakka\"\u003e\u003ccode\u003e@​kevinzakka\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/leggedrobotics/rsl_rl/pull/189\"\u003eleggedrobotics/rsl_rl#189\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes _OnnxCNNModel forward signature for ONNX export by \u003ca href=\"https://github.com/kevinzakka\"\u003e\u003ccode\u003e@​kevinzakka\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/leggedrobotics/rsl_rl/pull/187\"\u003eleggedrobotics/rsl_rl#187\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.0.0\u003c/h2\u003e\n\u003ch2\u003eOverview\u003c/h2\u003e\n\u003cp\u003eThis release introduces a new \u003ccode\u003eBatch\u003c/code\u003e class and a new \u003ccode\u003eDistribution\u003c/code\u003e class. The \u003ccode\u003eBatch\u003c/code\u003e class eliminates the possibility of switching tensors due to incorrect positional argument ordering. The \u003ccode\u003eDistribution\u003c/code\u003e class makes it easy to add new distributions without modifying the models directly. Furthermore, the library now has a small documentation that can be found \u003ca href=\"https://leggedrobotics.github.io/rsl_rl/\"\u003ehere\u003c/a\u003e, as well as a test suite. Lastly, a new NAN check makes it easier to detect and debug NAN values from the environment. With this release, the main structural changes to the library are complete, and the library will be more stable going forward.\u003c/p\u003e\n\u003cp\u003eIsaac Lab users can refer to this \u003ca href=\"https://redirect.github.com/isaac-sim/IsaacLab/pull/4379\"\u003ePR\u003c/a\u003e until it is merged, which automatically converts old configurations to the new structure.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/leggedrobotics/rsl_rl/compare/v4.0.1...v5.0.0\"\u003ehttps://github.com/leggedrobotics/rsl_rl/compare/v4.0.1...v5.0.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdds a batch class to avoid positional arguments in generators by \u003ca href=\"https://github.com/ClemensSchwarke\"\u003e\u003ccode\u003e@​ClemensSchwarke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/leggedrobotics/rsl_rl/pull/172\"\u003eleggedrobotics/rsl_rl#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds a distribution class for easier adaptability by \u003ca href=\"https://github.com/ClemensSchwarke\"\u003e\u003ccode\u003e@​ClemensSchwarke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/leggedrobotics/rsl_rl/pull/173\"\u003eleggedrobotics/rsl_rl#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds a small documentation by \u003ca href=\"https://github.com/ClemensSchwarke\"\u003e\u003ccode\u003e@​ClemensSchwarke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/leggedrobotics/rsl_rl/pull/183\"\u003eleggedrobotics/rsl_rl#183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds tests to the library by \u003ca href=\"https://github.com/Cleme...\n\n_Description has been truncated_","html_url":"https://github.com/Azure-Samples/azure-nvidia-robotics-reference-architecture/pull/509","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure-Samples%2Fazure-nvidia-robotics-reference-architecture/issues/509","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/509/packages"}},{"old_version":"21.0.0","new_version":"23.0.1","update_type":"major","path":null,"pr_created_at":"2026-03-09T09:22:28.000Z","version_change":"21.0.0 → 23.0.1","issue":{"uuid":"4044402854","node_id":"PR_kwDONr1Vks7JAv4d","number":534,"state":"closed","title":"Bump the all-python-packages group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-23T09:18:07.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-09T09:22:28.000Z","updated_at":"2026-03-23T09:18:09.000Z","time_to_close":1209339,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all-python-packages","update_count":24,"packages":[{"name":"accelerate","old_version":"1.10.1","new_version":"1.13.0","repository_url":"https://github.com/huggingface/accelerate"},{"name":"datasets","old_version":"4.2.0","new_version":"4.6.1","repository_url":"https://github.com/huggingface/datasets"},{"name":"flwr","old_version":"1.22.0","new_version":"1.26.1","repository_url":"https://github.com/adap/flower"},{"name":"pyarrow","old_version":"21.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"pydantic","old_version":"2.12.0","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-settings","old_version":"2.11.0","new_version":"2.13.1","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"torch","old_version":"2.8.0","new_version":"2.10.0","repository_url":"https://github.com/pytorch/pytorch"},{"name":"peft","old_version":"0.17.1","new_version":"0.18.1","repository_url":"https://github.com/huggingface/peft"},{"name":"transformers","old_version":"4.56.2","new_version":"5.3.0","repository_url":"https://github.com/huggingface/transformers"},{"name":"grpcio","old_version":"1.75.1","new_version":"1.78.0","repository_url":"https://github.com/grpc/grpc"},{"name":"llama-index-core","old_version":"0.14.4","new_version":"0.14.15","repository_url":"https://github.com/run-llama/llama_index"},{"name":"langchain-core","old_version":"0.3.79","new_version":"1.2.17","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"codespell","old_version":"2.4.1","new_version":"2.4.2","repository_url":"https://github.com/codespell-project/codespell"},{"name":"isort","old_version":"7.0.0","new_version":"8.0.1","repository_url":"https://github.com/PyCQA/isort"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"pre-commit","old_version":"4.3.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"pytest","old_version":"8.4.2","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"ruff","old_version":"0.14.0","new_version":"0.15.5","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mkdocs-material","old_version":"9.6.21","new_version":"9.7.4","repository_url":"https://github.com/squidfunk/mkdocs-material"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-python-packages group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [accelerate](https://github.com/huggingface/accelerate) | `1.10.1` | `1.13.0` |\n| [datasets](https://github.com/huggingface/datasets) | `4.2.0` | `4.6.1` |\n| [flwr](https://github.com/adap/flower) | `1.22.0` | `1.26.1` |\n| [pyarrow](https://github.com/apache/arrow) | `21.0.0` | `23.0.1` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.0` | `2.12.5` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.11.0` | `2.13.1` |\n| [torch](https://github.com/pytorch/pytorch) | `2.8.0` | `2.10.0` |\n| [peft](https://github.com/huggingface/peft) | `0.17.1` | `0.18.1` |\n| [transformers](https://github.com/huggingface/transformers) | `4.56.2` | `5.3.0` |\n| [grpcio](https://github.com/grpc/grpc) | `1.75.1` | `1.78.0` |\n| [llama-index-core](https://github.com/run-llama/llama_index) | `0.14.4` | `0.14.15` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `0.3.79` | `1.2.17` |\n| [codespell](https://github.com/codespell-project/codespell) | `2.4.1` | `2.4.2` |\n| [isort](https://github.com/PyCQA/isort) | `7.0.0` | `8.0.1` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.1` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.3.0` | `4.5.1` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.0` | `0.15.5` |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.6.21` | `9.7.4` |\n\n\nUpdates `accelerate` from 1.10.1 to 1.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/huggingface/accelerate/releases\"\u003eaccelerate's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.13.0: Neuron support, IPEX removal, and distributed training fixes\u003c/h2\u003e\n\u003ch2\u003eAWS Neuron support\u003c/h2\u003e\n\u003cp\u003eWe now have support for  AWS Neuron (Trainium/Inferentia) devices. Thanks \u003ca href=\"https://github.com/michaelbenayoun\"\u003e\u003ccode\u003e@​michaelbenayoun\u003c/code\u003e\u003c/a\u003e for adding this.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNeuron integration by \u003ca href=\"https://github.com/michaelbenayoun\"\u003e\u003ccode\u003e@​michaelbenayoun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3935\"\u003ehuggingface/accelerate#3935\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eXPU Improvements\u003c/h3\u003e\n\u003cp\u003eWe've removed IPEX dependency and improved device-agnostic code for XPU.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eusing spawn instead of fork for XPU device by \u003ca href=\"https://github.com/kaixuanliu\"\u003e\u003ccode\u003e@​kaixuanliu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3884\"\u003ehuggingface/accelerate#3884\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove ipex by \u003ca href=\"https://github.com/yao-matrix\"\u003e\u003ccode\u003e@​yao-matrix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3883\"\u003ehuggingface/accelerate#3883\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eenhance new codes to XPU, and make them be device agnostic by \u003ca href=\"https://github.com/yao-matrix\"\u003e\u003ccode\u003e@​yao-matrix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3890\"\u003ehuggingface/accelerate#3890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix KMP_AFFINITY incorrectly set for non-CPU training by \u003ca href=\"https://github.com/hexfaker\"\u003e\u003ccode\u003e@​hexfaker\u003c/code\u003e\u003c/a\u003e in\n\u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3912\"\u003ehuggingface/accelerate#3912\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFSDP2 Improvements\u003c/h2\u003e\n\u003cp\u003eWe've added a bunch of important fixes for FSDP2 users: upcasting only grad-requiring params, better tied embedding errors, DCP optimizer loading, bf16 optimizer step crash fix, and torch \u0026lt; 2.7.0 compatibility.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpcast FSDP2 parameters only if requires_grad by \u003ca href=\"https://github.com/ojh31\"\u003e\u003ccode\u003e@​ojh31\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3848\"\u003ehuggingface/accelerate#3848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix FSDP2 tied embedding errors with targeted ValueError guidance by \u003ca href=\"https://github.com/amanzoni1\"\u003e\u003ccode\u003e@​amanzoni1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3878\"\u003ehuggingface/accelerate#3878\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebug: fsdp cannot load optimizer state using dcp by \u003ca href=\"https://github.com/flymin\"\u003e\u003ccode\u003e@​flymin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3904\"\u003ehuggingface/accelerate#3904\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix crash in optimizer.step when fsdp2 is enabled and model is bfloat16 by \u003ca href=\"https://github.com/sywangyi\"\u003e\u003ccode\u003e@​sywangyi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3905\"\u003ehuggingface/accelerate#3905\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix FSDP2 crash with ignored_params on torch \u0026lt; 2.7.0 by \u003ca href=\"https://github.com/Mr-Neutr0n\"\u003e\u003ccode\u003e@​Mr-Neutr0n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3924\"\u003ehuggingface/accelerate#3924\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeepSpeed Sequence Parallelism\u003c/h2\u003e\n\u003cp\u003eWe've added several fixes to the DeepSpeed + Sequence Parallelism integration introduced in v1.12.0, including evaluation support during SP training and proper process group handling.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[SP] fix loss computation example by \u003ca href=\"https://github.com/kashif\"\u003e\u003ccode\u003e@​kashif\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3858\"\u003ehuggingface/accelerate#3858\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[SP and CP] error out if both CP and SP enabled by \u003ca href=\"https://github.com/kashif\"\u003e\u003ccode\u003e@​kashif\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3862\"\u003ehuggingface/accelerate#3862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeepSpeed has its own process group by \u003ca href=\"https://github.com/kashif\"\u003e\u003ccode\u003e@​kashif\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3916\"\u003ehuggingface/accelerate#3916\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Deepspeed] skip device mesh creation when deepspeed and sp_size \u0026gt;1 by \u003ca href=\"https://github.com/kashif\"\u003e\u003ccode\u003e@​kashif\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3914\"\u003ehuggingface/accelerate#3914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable evaluation during deepspeed Sequence Parallel by \u003ca href=\"https://github.com/jp1924\"\u003e\u003ccode\u003e@​jp1924\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3917\"\u003ehuggingface/accelerate#3917\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFP8\u003c/h3\u003e\n\u003cp\u003eWe've enhanced FP8 training. Thanks \u003ca href=\"https://github.com/shimizust\"\u003e\u003ccode\u003e@​shimizust\u003c/code\u003e\u003c/a\u003e for fixing torchao support.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix FP8 torchao default config with padding and FSDP2 all-gather support by \u003ca href=\"https://github.com/shimizust\"\u003e\u003ccode\u003e@​shimizust\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3831\"\u003ehuggingface/accelerate#3831\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix execution with Transformer Engine by \u003ca href=\"https://github.com/ksivaman\"\u003e\u003ccode\u003e@​ksivaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3852\"\u003ehuggingface/accelerate#3852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd MS-AMP deprecation warnings by \u003ca href=\"https://github.com/neha222222\"\u003e\u003ccode\u003e@​neha222222\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3857\"\u003ehuggingface/accelerate#3857\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cp\u003eAccelerate now imports faster by deferring heavy dependencies, and torch.compile hooks are disabled lazily.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFaster import by \u003ca href=\"https://github.com/SunMarc\"\u003e\u003ccode\u003e@​SunMarc\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3953\"\u003ehuggingface/accelerate#3953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elazy compile disable by \u003ca href=\"https://github.com/SunMarc\"\u003e\u003ccode\u003e@​SunMarc\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3947\"\u003ehuggingface/accelerate#3947\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable hook compile by \u003ca href=\"https://github.com/SunMarc\"\u003e\u003ccode\u003e@​SunMarc\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3888\"\u003ehuggingface/accelerate#3888\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMinor fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow non-Tensor values in a batch with dispatch_batches=True by \u003ca href=\"https://github.com/tomaarsen\"\u003e\u003ccode\u003e@​tomaarsen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3850\"\u003ehuggingface/accelerate#3850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix module and optimizer parameter mismatch before prepare_tp_ by \u003ca href=\"https://github.com/naomili0924\"\u003e\u003ccode\u003e@​naomili0924\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3845\"\u003ehuggingface/accelerate#3845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix KeyError in extract_model_from_parallel for partial torch.compile by \u003ca href=\"https://github.com/amanzoni1\"\u003e\u003ccode\u003e@​amanzoni1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3881\"\u003ehuggingface/accelerate#3881\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix hf_device_map device index comparison in prepare_model by \u003ca href=\"https://github.com/rezaqorbani\"\u003e\u003ccode\u003e@​rezaqorbani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3895\"\u003ehuggingface/accelerate#3895\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix StatefulDataLoader KeyError with num_workers \u0026gt; 0 by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3931\"\u003ehuggingface/accelerate#3931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix stateful dataloader DDP by \u003ca href=\"https://github.com/SunMarc\"\u003e\u003ccode\u003e@​SunMarc\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3952\"\u003ehuggingface/accelerate#3952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Remove duplicate W\u0026amp;B initialization in offline mode by \u003ca href=\"https://github.com/shantanugupta2004\"\u003e\u003ccode\u003e@​shantanugupta2004\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/accelerate/pull/3886\"\u003ehuggingface/accelerate#3886\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/huggingface/accelerate/commit/e6ee1337014f6f97c3cf58f806aa28a0109f09a5\"\u003e\u003ccode\u003ee6ee133\u003c/code\u003e\u003c/a\u003e Release: v1.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/accelerate/commit/2a7e27f75d25def4c2cd6011afe56c47b7b9438b\"\u003e\u003ccode\u003e2a7e27f\u003c/code\u003e\u003c/a\u003e Fix testing ci (\u003ca href=\"https://redirect.github.com/huggingface/accelerate/issues/3955\"\u003e#3955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/accelerate/commit/0990ded55acd8c4f363e767e6c851cc3701d1c20\"\u003e\u003ccode\u003e0990ded\u003c/code\u003e\u003c/a\u003e Faster import (\u003ca href=\"https://redirect.github.com/huggingface/accelerate/issues/3953\"\u003e#3953\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/accelerate/commit/5cf9cf88a4deeb7d627fc3efadd9af5a77353888\"\u003e\u003ccode\u003e5cf9cf8\u003c/code\u003e\u003c/a\u003e fix-stateful-dataloader (\u003ca href=\"https://redirect.github.com/huggingface/accelerate/issues/3952\"\u003e#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/accelerate/commit/beed693e4f58820ad97c79e4373af944c8fdb3d4\"\u003e\u003ccode\u003ebeed693\u003c/code\u003e\u003c/a\u003e Prepare TP fix (\u003ca href=\"https://redirect.github.com/huggingface/accelerate/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/accelerate/commit/8067abae81abbd176af65dc9694f9f99dacf3985\"\u003e\u003ccode\u003e8067aba\u003c/code\u003e\u003c/a\u003e Fix StatefulDataLoader KeyError with num_workers \u0026gt; 0 (\u003ca href=\"https://redirect.github.com/huggingface/accelerate/issues/3931\"\u003e#3931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/accelerate/commit/8ec83c8aa264baf04a298e02aa07d1540463cce2\"\u003e\u003ccode\u003e8ec83c8\u003c/code\u003e\u003c/a\u003e Fix FSDP2 crash with ignored_params on torch \u0026lt; 2.7.0 (\u003ca href=\"https://redirect.github.com/huggingface/accelerate/issues/3924\"\u003e#3924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/accelerate/commit/7554afbc7acb936cf888e68421012654f4e2016c\"\u003e\u003ccode\u003e7554afb\u003c/code\u003e\u003c/a\u003e Fix mutable default in Megatron init and IndexError on empty ModuleList (\u003ca href=\"https://redirect.github.com/huggingface/accelerate/issues/3944\"\u003e#3944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/accelerate/commit/23f2ab396713bc915f726c1af4a066e1654f854c\"\u003e\u003ccode\u003e23f2ab3\u003c/code\u003e\u003c/a\u003e Fix logging logic when in_order is set to True (\u003ca href=\"https://redirect.github.com/huggingface/accelerate/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/accelerate/commit/58c3605fee95c81633a5619af8f823a3cb0610cb\"\u003e\u003ccode\u003e58c3605\u003c/code\u003e\u003c/a\u003e docs: update low-precision training docs to reflect MS-AMP deprecation (\u003ca href=\"https://redirect.github.com/huggingface/accelerate/issues/3929\"\u003e#3929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/huggingface/accelerate/compare/v1.10.1...v1.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `datasets` from 4.2.0 to 4.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/huggingface/datasets/releases\"\u003edatasets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.6.1\u003c/h2\u003e\n\u003ch2\u003eBug fix\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove tmp file in push to hub by \u003ca href=\"https://github.com/lhoestq\"\u003e\u003ccode\u003e@​lhoestq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/datasets/pull/8030\"\u003ehuggingface/datasets#8030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/huggingface/datasets/compare/4.6.0...4.6.1\"\u003ehttps://github.com/huggingface/datasets/compare/4.6.0...4.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.6.0\u003c/h2\u003e\n\u003ch2\u003eDataset Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Image, Video and Audio types in Lance datasets\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInfer types from lance blobs by \u003ca href=\"https://github.com/lhoestq\"\u003e\u003ccode\u003e@​lhoestq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/datasets/pull/7966\"\u003ehuggingface/datasets#7966\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e\u0026gt;\u0026gt;\u0026gt; from datasets import load_dataset\r\n\u0026gt;\u0026gt;\u0026gt; ds = load_dataset(\u0026quot;lance-format/Openvid-1M\u0026quot;, streaming=True, split=\u0026quot;train\u0026quot;)\r\n\u0026gt;\u0026gt;\u0026gt; ds.features\r\n{'video_blob': Video(),\r\n 'video_path': Value('string'),\r\n 'caption': Value('string'),\r\n 'aesthetic_score': Value('float64'),\r\n 'motion_score': Value('float64'),\r\n 'temporal_consistency_score': Value('float64'),\r\n 'camera_motion': Value('string'),\r\n 'frame': Value('int64'),\r\n 'fps': Value('float64'),\r\n 'seconds': Value('float64'),\r\n 'embedding': List(Value('float32'), length=1024)}\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePush to hub now supports Video types\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003epush_to_hub() for videos by \u003ca href=\"https://github.com/lhoestq\"\u003e\u003ccode\u003e@​lhoestq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/datasets/pull/7971\"\u003ehuggingface/datasets#7971\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e \u0026gt;\u0026gt;\u0026gt; from datasets import Dataset, Video\r\n\u0026gt;\u0026gt;\u0026gt; ds = Dataset.from_dict({\u0026quot;video\u0026quot;: [\u0026quot;path/to/video.mp4\u0026quot;]})\r\n\u0026gt;\u0026gt;\u0026gt; ds = ds.cast_column(\u0026quot;video\u0026quot;, Video())\r\n\u0026gt;\u0026gt;\u0026gt; ds.push_to_hub(\u0026quot;username/my-video-dataset\u0026quot;)\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWrite image/audio/video blobs as is in parquet (PLAIN) in \u003ccode\u003epush_to_hub()\u003c/code\u003e by \u003ca href=\"https://github.com/lhoestq\"\u003e\u003ccode\u003e@​lhoestq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/datasets/pull/7976\"\u003ehuggingface/datasets#7976\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ethis enables cross-format Xet deduplication for image/audio/video, e.g. deduplicate videos between Lance, WebDataset, Parquet files and plain video files and make downloads and uploads faster to Hugging Face\u003c/li\u003e\n\u003cli\u003eE.g. if you convert a Lance video dataset to a Parquet video dataset on Hugging Face, the upload will be much faster since videos don't need to be reuploaded. Under the hood, the Xet storage reuses the binary chunks from the videos in Lance format for the videos in Parquet format\u003c/li\u003e\n\u003cli\u003eSee more info here: \u003ca href=\"https://huggingface.co/docs/hub/en/xet/deduplication\"\u003ehttps://huggingface.co/docs/hub/en/xet/deduplication\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eIterableDataset.reshard()\u003c/code\u003e by \u003ca href=\"https://github.com/lhoestq\"\u003e\u003ccode\u003e@​lhoestq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/datasets/pull/7992\"\u003ehuggingface/datasets#7992\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/huggingface/datasets/commit/7afef69924fd7443f6bbd5f154751ed2bb3c5cd7\"\u003e\u003ccode\u003e7afef69\u003c/code\u003e\u003c/a\u003e release: 4.6.1 (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/8031\"\u003e#8031\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/datasets/commit/a00be0312aa6570db0e2d99c0deafdb618956275\"\u003e\u003ccode\u003ea00be03\u003c/code\u003e\u003c/a\u003e Remove tmp file in push to hub (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/8030\"\u003e#8030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/datasets/commit/6e8eaeed4d202b72eff44ba1a9ec5b7d81d2d3e6\"\u003e\u003ccode\u003e6e8eaee\u003c/code\u003e\u003c/a\u003e set dev version (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/8026\"\u003e#8026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/datasets/commit/c02b8630a8a423629558f7afea3464ff32eb321f\"\u003e\u003ccode\u003ec02b863\u003c/code\u003e\u003c/a\u003e release: 4.6.0 (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/8025\"\u003e#8025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/datasets/commit/bd43ab9dc92a4da027351207de66a2c1bf5faa19\"\u003e\u003ccode\u003ebd43ab9\u003c/code\u003e\u003c/a\u003e Allow import polars in map() (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/8024\"\u003e#8024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/datasets/commit/f428626f27514aa9fcbd1dd3f40c38e34e27f12b\"\u003e\u003ccode\u003ef428626\u003c/code\u003e\u003c/a\u003e Support empty shard in from_generator (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/8023\"\u003e#8023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/datasets/commit/fe7353a478c1bd25873fad210ac4bdd4bb0c63cc\"\u003e\u003ccode\u003efe7353a\u003c/code\u003e\u003c/a\u003e More IterableDataset.from_x methods and docs and polars.Lazyframe support (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/8\"\u003e#8\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/datasets/commit/d58f2ccc4045a5f3ab80162af2d7589c37be9658\"\u003e\u003ccode\u003ed58f2cc\u003c/code\u003e\u003c/a\u003e Fix: make environment variable naming consistent (issue \u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/7998\"\u003e#7998\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/8000\"\u003e#8000\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/datasets/commit/8f566df0595928d852d4de422ed25d7531e9e3fb\"\u003e\u003ccode\u003e8f566df\u003c/code\u003e\u003c/a\u003e Bump fsspec upper bound to 2026.2.0 (fixes \u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/7994\"\u003e#7994\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/7995\"\u003e#7995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/datasets/commit/3495e43586704e6bbf05b05bd4ae9620392bd794\"\u003e\u003ccode\u003e3495e43\u003c/code\u003e\u003c/a\u003e very basic support for more hf urls (\u003ca href=\"https://redirect.github.com/huggingface/datasets/issues/8003\"\u003e#8003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/huggingface/datasets/compare/4.2.0...4.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flwr` from 1.22.0 to 1.26.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/adap/flower/releases\"\u003eflwr's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eFlower 1.26.1\u003c/h2\u003e\n\u003ch3\u003eThanks to our contributors\u003c/h3\u003e\n\u003cp\u003eWe would like to give our special thanks to all the contributors who made the new version of Flower possible (in \u003ccode\u003egit shortlog\u003c/code\u003e order):\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eCharles Beauville\u003c/code\u003e, \u003ccode\u003eChong Shen Ng\u003c/code\u003e, \u003ccode\u003eCopilot\u003c/code\u003e, \u003ccode\u003eDaniel J. Beutel\u003c/code\u003e, \u003ccode\u003eHeng Pan\u003c/code\u003e, \u003ccode\u003eJavier\u003c/code\u003e, \u003ccode\u003eTaner Topal\u003c/code\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's new?\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix client resource handling in local simulations\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/pull/6536\"\u003e#6536\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eFix an issue in local simulations where backend configuration is not correctly propagated, causing virtual client resource settings such as CPU and GPU allocations in the Flower Configuration to be ignored.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eUpdate framework documentation\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/pull/6528\"\u003e#6528\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6530\"\u003e#6530\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eGeneral improvements\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/pull/6526\"\u003e#6526\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6493\"\u003e#6493\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6534\"\u003e#6534\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6531\"\u003e#6531\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6523\"\u003e#6523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6529\"\u003e#6529\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6501\"\u003e#6501\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFlower 1.26.0\u003c/h2\u003e\n\u003ch3\u003eThanks to our contributors\u003c/h3\u003e\n\u003cp\u003eWe would like to give our special thanks to all the contributors who made the new version of Flower possible (in \u003ccode\u003egit shortlog\u003c/code\u003e order):\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eCharles Beauville\u003c/code\u003e, \u003ccode\u003eChong Shen Ng\u003c/code\u003e, \u003ccode\u003eDaniel J. Beutel\u003c/code\u003e, \u003ccode\u003eFlippchen\u003c/code\u003e, \u003ccode\u003eHeng Pan\u003c/code\u003e, \u003ccode\u003eIason Ofeidis\u003c/code\u003e, \u003ccode\u003eJavier\u003c/code\u003e, \u003ccode\u003eJun S\u003c/code\u003e, \u003ccode\u003eSoumik Sarker\u003c/code\u003e, \u003ccode\u003eTaner Topal\u003c/code\u003e, \u003ccode\u003eYan Gao\u003c/code\u003e, \u003ccode\u003enihonge\u003c/code\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's new?\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eIntroduce centralized \u003ccode\u003eflwr\u003c/code\u003e CLI configuration\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/pull/6240\"\u003e#6240\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6338\"\u003e#6338\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6343\"\u003e#6343\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6349\"\u003e#6349\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6354\"\u003e#6354\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6356\"\u003e#6356\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6357\"\u003e#6357\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6359\"\u003e#6359\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6362\"\u003e#6362\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6364\"\u003e#6364\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6365\"\u003e#6365\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6366\"\u003e#6366\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6367\"\u003e#6367\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6372\"\u003e#6372\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6376\"\u003e#6376\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6381\"\u003e#6381\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6382\"\u003e#6382\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6385\"\u003e#6385\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6386\"\u003e#6386\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6390\"\u003e#6390\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6400\"\u003e#6400\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6422\"\u003e#6422\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6423\"\u003e#6423\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6435\"\u003e#6435\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6439\"\u003e#6439\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6440\"\u003e#6440\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6441\"\u003e#6441\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6446\"\u003e#6446\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6481\"\u003e#6481\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6492\"\u003e#6492\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6502\"\u003e#6502\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6509\"\u003e#6509\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6513\"\u003e#6513\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6519\"\u003e#6519\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eChanges Flower CLI (\u003ccode\u003eflwr\u003c/code\u003e) configuration to introduce a new way to manage SuperLink connections and simulation settings in a central place (instead of Flower app's \u003ccode\u003epyproject.toml\u003c/code\u003e). This enables \u003ccode\u003eflwr\u003c/code\u003e commands to be executed from any directory and allow reuse of named connections across different Flower apps. This change also removes the now obsolete \u003ccode\u003eenable-account-auth\u003c/code\u003e option. The central Flower CLI config fully replaces the legacy \u003ccode\u003efederation\u003c/code\u003e configuration in \u003ccode\u003epyproject.toml\u003c/code\u003e, which is automatically migrated to the new Flower configuration format when running \u003ccode\u003eflwr\u003c/code\u003e commands. For usage details, see the \u003ca href=\"https://flower.ai/docs/framework/main/en/ref-api-cli.html\"\u003eFlower CLI reference\u003c/a\u003e and the \u003ca href=\"https://flower.ai/docs/framework/main/en/ref-flower-configuration.html\"\u003eFlower configuration documentation\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eEnable automated database migrations on Flower version upgrades\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/pull/6345\"\u003e#6345\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6355\"\u003e#6355\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6370\"\u003e#6370\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6371\"\u003e#6371\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6378\"\u003e#6378\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6379\"\u003e#6379\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6380\"\u003e#6380\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6383\"\u003e#6383\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6384\"\u003e#6384\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6387\"\u003e#6387\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6388\"\u003e#6388\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6389\"\u003e#6389\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6396\"\u003e#6396\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6398\"\u003e#6398\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6402\"\u003e#6402\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6403\"\u003e#6403\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6404\"\u003e#6404\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6406\"\u003e#6406\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6407\"\u003e#6407\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6408\"\u003e#6408\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6410\"\u003e#6410\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6411\"\u003e#6411\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6424\"\u003e#6424\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6425\"\u003e#6425\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6426\"\u003e#6426\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6433\"\u003e#6433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6436\"\u003e#6436\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6448\"\u003e#6448\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6450\"\u003e#6450\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6457\"\u003e#6457\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6459\"\u003e#6459\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6460\"\u003e#6460\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6469\"\u003e#6469\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6477\"\u003e#6477\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6478\"\u003e#6478\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6521\"\u003e#6521\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eRefactors Flower's internal states implementations to introduce Alembic-based schema migrations with automatic upgrades. This ensures database compatibility across Flower versions and lays the groundwork for supporting more types of databases. See the \u003ca href=\"https://flower.ai/docs/framework/contributor-how-to-migrate-database.html\"\u003edatabase migration guide\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImprove CLI error handling and usability\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/pull/6432\"\u003e#6432\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6437\"\u003e#6437\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6444\"\u003e#6444\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6462\"\u003e#6462\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6467\"\u003e#6467\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6505\"\u003e#6505\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eUpdates \u003ccode\u003eflwr\u003c/code\u003e CLI to provide clearer and more consistent error formatting, improves CLI error messages and logging, and shows command aliases.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImprove reliability of network stack, \u003ccode\u003eServerApp\u003c/code\u003e shutdown and Windows support\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/pull/6342\"\u003e#6342\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6430\"\u003e#6430\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6447\"\u003e#6447\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6456\"\u003e#6456\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6490\"\u003e#6490\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6504\"\u003e#6504\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eImproves the reliability of message transmission and capacity tracking under unstable network conditions and high concurrency, improves Windows process handling and address resolution, and ensures graceful shutdown of \u003ccode\u003eflwr-serverapp\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix and improve framework documentation\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/pull/6312\"\u003e#6312\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6336\"\u003e#6336\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6351\"\u003e#6351\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6397\"\u003e#6397\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6401\"\u003e#6401\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6434\"\u003e#6434\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6455\"\u003e#6455\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6470\"\u003e#6470\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6485\"\u003e#6485\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6506\"\u003e#6506\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6508\"\u003e#6508\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6511\"\u003e#6511\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6512\"\u003e#6512\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6516\"\u003e#6516\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eFixes an incorrect learning rate key in the tutorial series, updates the \u003ccode\u003eclientappio\u003c/code\u003e address in the auth example, and improves the documentation UI by making the versioning sidebar scrollable to show all versions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eUpdate and maintain examples\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/pull/6331\"\u003e#6331\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6334\"\u003e#6334\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6369\"\u003e#6369\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6395\"\u003e#6395\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6419\"\u003e#6419\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6474\"\u003e#6474\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/adap/flower/pull/6488\"\u003e#6488\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eUpdates the JAX quickstart, bumps example dependencies, makes the certificate generation script cross-platform, normalizes training loss in the PyTorch quickstart, and marks the legacy \u003ccode\u003equickstart-pytorch\u003c/code\u003e example as deprecated.\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/adap/flower/commit/18f6f47a023d354be3cd72fddc4df04d513b66cd\"\u003e\u003ccode\u003e18f6f47\u003c/code\u003e\u003c/a\u003e feat(framework): Update changelog for \u003ccode\u003ev1.26.1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6539\"\u003e#6539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adap/flower/commit/ff86cbb603da4d78157d30f40930e73c06ec5af9\"\u003e\u003ccode\u003eff86cbb\u003c/code\u003e\u003c/a\u003e refactor(*:skip): Bump dev versions to \u003ccode\u003e1.26.1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6538\"\u003e#6538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adap/flower/commit/c1d047ae9aa236e0ee11dd3f6fd4240c8d65fdcc\"\u003e\u003ccode\u003ec1d047a\u003c/code\u003e\u003c/a\u003e fix(framework): Fix passing backend config to Simulation Engine (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6536\"\u003e#6536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adap/flower/commit/abeab799adb1e95f910e835ef9877fa1aca3b5d6\"\u003e\u003ccode\u003eabeab79\u003c/code\u003e\u003c/a\u003e refactor(examples): Remove \u003ccode\u003eapp-pytorch\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6534\"\u003e#6534\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adap/flower/commit/e689ced8922de16e5ab12ef200348b3d44af2f74\"\u003e\u003ccode\u003ee689ced\u003c/code\u003e\u003c/a\u003e refactor(examples): Remove \u003ccode\u003etoml-federations\u003c/code\u003e from examples (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6501\"\u003e#6501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adap/flower/commit/3dc0067d8588ab22e48d80adb7f5b033519319a6\"\u003e\u003ccode\u003e3dc0067\u003c/code\u003e\u003c/a\u003e docs(framework): Update Helm parameters for 1.26.0 (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6530\"\u003e#6530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adap/flower/commit/48d86681c357e8c901c72eda9b00c1cbf9959cbf\"\u003e\u003ccode\u003e48d8668\u003c/code\u003e\u003c/a\u003e refactor(framework): Reduce dependency on \u003ccode\u003eGrpcClientProxy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6526\"\u003e#6526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adap/flower/commit/de40f8fe66d1a672ad5531ccf6d5c7c01bef0de1\"\u003e\u003ccode\u003ede40f8f\u003c/code\u003e\u003c/a\u003e refactor(framework): Use versioned doc links in changelog (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6531\"\u003e#6531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adap/flower/commit/cc63cfb2465a901536735d7e23ab55a7dbe9feb2\"\u003e\u003ccode\u003ecc63cfb\u003c/code\u003e\u003c/a\u003e ci(framework): Fix auto translation PR generation (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6529\"\u003e#6529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adap/flower/commit/68015e619378978bca04dc2a36b8326e98fe4467\"\u003e\u003ccode\u003e68015e6\u003c/code\u003e\u003c/a\u003e Update text and language files (\u003ca href=\"https://redirect.github.com/adap/flower/issues/6528\"\u003e#6528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/adap/flower/compare/v1.22.0...v1.26.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 21.0.0 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.0.html\"\u003ehttps://arrow.apache.org/release/23.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.0 RC2\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.0 RC2\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/22.0.0.html\"\u003ehttps://arrow.apache.org/release/22.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0 RC1\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 22.0.0 RC1\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 22.0.0 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-21.0.0...apache-arrow-23.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.12.0 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.12.0...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.11.0 to 2.13.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.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Deterministic alias selection when using validate_by_name 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/707\"\u003epydantic/pydantic-settings#707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deep merge functionality to config file sources by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for AWS Secrets Manager VersionId parameter by \u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: Return \u003ccode\u003eNone\u003c/code\u003e for inaccessible GCP Secret Manager secrets by \u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix for cli_kebab_case=\u0026quot;all\u0026quot; and CliImplicitFlag[bool] by \u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnpack type alisases when looking for \u003ccode\u003eNoDecode\u003c/code\u003e 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/695\"\u003epydantic/pydantic-settings#695\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCliToggleFlag and CliDualFlag 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/717\"\u003epydantic/pydantic-settings#717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for CLI duplicate enum field 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/722\"\u003epydantic/pydantic-settings#722\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efixed load nested config from env by \u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd non-Path files support (for example Traversable) and open files using Path.open method by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd one more traversable test by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/725\"\u003epydantic/pydantic-settings#725\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI fix fox external list args. 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/727\"\u003epydantic/pydantic-settings#727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: handle case-insensitive retrieval in GoogleSecretManagerSettingsSource by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/730\"\u003epydantic/pydantic-settings#730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI test fixes for help text formatting. 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/735\"\u003epydantic/pydantic-settings#735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid conflicts with the \u003ccode\u003eNAME\u003c/code\u003e environment variable in WSL by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: When restoring init kwargs, use deterministic order 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/746\"\u003epydantic/pydantic-settings#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd env_prefix_target by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/749\"\u003epydantic/pydantic-settings#749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e(default: …)\u003c/code\u003e in the help message for \u003ccode\u003eCliToggleFlag\u003c/code\u003e by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/740\"\u003epydantic/pydantic-settings#740\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for CLI serialize styles. 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/755\"\u003epydantic/pydantic-settings#755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for overriding default help on CLI internal parser. 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/758\"\u003epydantic/pydantic-settings#758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI format_help method 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/759\"\u003epydantic/pydantic-settings#759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(gcp): support SecretVersion annotation for per-field secret versioning by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/763\"\u003epydantic/pydantic-settings#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003esnake_case_conversion\u003c/code\u003e with \u003ccode\u003eenv_prefix\u003c/code\u003e for Azure Key Vault source by \u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Only override preferred_key when no value was found 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/767\"\u003epydantic/pydantic-settings#767\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/768\"\u003epydantic/pydantic-settings#768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI coerce numeric types. 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/769\"\u003epydantic/pydantic-settings#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Union Discriminator Choices in 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/764\"\u003epydantic/pydantic-settings#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) by \u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.13.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/777\"\u003epydantic/pydantic-settings#777\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/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\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.12.0...v2.13.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.0\u003c/a\u003e\u003c/p\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\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/e87d12df0f42f7f72a3eb6d830cfbfb1d68b4496\"\u003e\u003ccode\u003ee87d12d\u003c/code\u003e\u003c/a\u003e v2.13.1 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/acf8c14f5ec314799f5bd0d3f6a1591c4ed2ec97\"\u003e\u003ccode\u003eacf8c14\u003c/code\u003e\u003c/a\u003e Fix JSON decoding for parameterized PEP 695 type aliases (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/58b236a36473e01bfe42e5f75d39d46721e0593d\"\u003e\u003ccode\u003e58b236a\u003c/code\u003e\u003c/a\u003e Fix AttributeError with nested env vars for dict fields (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/785\"\u003e#785\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/786\"\u003e#786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4933f06402ed55e32bcdcefd6c8f59ffe1fefd24\"\u003e\u003ccode\u003e4933f06\u003c/code\u003e\u003c/a\u003e Fix CLI parsing error for set field types since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/787\"\u003e#787\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/bd0ebe6215cf215d716e33d833cc2589a1d00a17\"\u003e\u003ccode\u003ebd0ebe6\u003c/code\u003e\u003c/a\u003e Fix RecursionError with self-referential models in CliApp (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/783\"\u003e#783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/eb7840e9f59a7969b23afdbcc4e5081e037736d8\"\u003e\u003ccode\u003eeb7840e\u003c/code\u003e\u003c/a\u003e Fix regression for bool fields since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/784\"\u003e#784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/198e71cf0cd570501535de7ae93a70953150f073\"\u003e\u003ccode\u003e198e71c\u003c/code\u003e\u003c/a\u003e Prepare release 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/777\"\u003e#777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/de71e84057b63b251ec84883b5e2ae886f82084f\"\u003e\u003ccode\u003ede71e84\u003c/code\u003e\u003c/a\u003e Add nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/773\"\u003e#773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/0f8f951b89b137bd563ce74dac016ba2c4cdc7a2\"\u003e\u003ccode\u003e0f8f951\u003c/code\u003e\u003c/a\u003e CLI Union Discriminator Choices in Help (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/764\"\u003e#764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/ce9804c4620d38f0c3b3c1e3ebe10d934fd4ba2e\"\u003e\u003ccode\u003ece9804c\u003c/code\u003e\u003c/a\u003e CLI coerce numeric types. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/769\"\u003e#769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.13.1\"\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.10.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\u003ch1\u003ePyTorch 2.10.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-10-release-blog/\"\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\u003ch2\u003eDataloader Frontend\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved unused \u003ccode\u003edata_source\u003c/code\u003e argument from Sampler (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/pull/163134\"\u003e#163134\u003c/a\u003e). This is a no-op, unless you have a custom sampler that uses this argument. Please update your custom sampler accordingly.\u003c/li\u003e\n\u003cli\u003eRemoved deprecated imports for torch.utils.data.datapipes.iter.grouping (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/pull/163438\"\u003e#163438\u003c/a\u003e). \u003ccode\u003efrom torch.utils.data.datapipes.iter.grouping import SHARDING_PRIORITIES, ShardingFilterIterDataPipe\u003c/code\u003e is no longer supported. Please import from \u003ccode\u003etorch.utils.data.datapipes.iter.sharding\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etorch.nn\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove Nested Jagged Tensor support from \u003ccode\u003enn.attention.flex_attention\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pytorch/pytorch/pull/161734\"\u003e#161734\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/pytorch/pytorch/commit/449b1768410104d3ed79d3bcfe4ba1d65c7f22c0\"\u003e\u003ccode\u003e449b176\u003c/code\u003e\u003c/a\u003e Add Jo...\n\n_Description has been truncated_","html_url":"https://github.com/VectorInstitute/fed-rag/pull/534","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/VectorInstitute%2Ffed-rag/issues/534","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/534/packages"}},{"old_version":"23.0.0","new_version":"23.0.1","update_type":"patch","path":null,"pr_created_at":"2026-03-05T16:34:30.000Z","version_change":"23.0.0 → 23.0.1","issue":{"uuid":"4029364789","node_id":"PR_kwDOQFtGkc7IQot7","number":277,"state":"closed","title":"build(deps): bump the production group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-09T23:58:45.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-05T16:34:30.000Z","updated_at":"2026-03-09T23:58:48.000Z","time_to_close":372255,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"production","update_count":9,"packages":[{"name":"pandera","old_version":"0.22.1","new_version":"0.29.0","repository_url":"https://github.com/pandera-dev/pandera"},{"name":"numpy","old_version":"1.26.4","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"logbook","old_version":"1.8.2","new_version":"1.9.2","repository_url":"https://github.com/getlogbook/logbook"},{"name":"jaxtyping","old_version":"0.2.38","new_version":"0.3.9","repository_url":"https://github.com/patrick-kidger/jaxtyping"},{"name":"polars","old_version":"1.37.1","new_version":"1.38.1","repository_url":"https://github.com/pola-rs/polars"},{"name":"pyarrow","old_version":"23.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"fsspec","old_version":"2026.1.0","new_version":"2026.2.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"protobuf","old_version":"5.29.6","new_version":"6.33.5","repository_url":"https://github.com/protocolbuffers/protobuf"}],"path":null,"ecosystem":"pip"},"body":"Bumps the production group with 9 updates in the /packages/interfaces_pkg directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pandera](https://github.com/pandera-dev/pandera) | `0.22.1` | `0.29.0` |\n| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.4.2` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.1` |\n| [logbook](https://github.com/getlogbook/logbook) | `1.8.2` | `1.9.2` |\n| [jaxtyping](https://github.com/patrick-kidger/jaxtyping) | `0.2.38` | `0.3.9` |\n| [polars](https://github.com/pola-rs/polars) | `1.37.1` | `1.38.1` |\n| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `23.0.1` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2026.1.0` | `2026.2.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `5.29.6` | `6.33.5` |\n\n\nUpdates `pandera` from 0.22.1 to 0.29.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandera-dev/pandera/releases\"\u003epandera's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.29.0: support list, dict, and tuple of dataframes\u003c/h2\u003e\n\u003ch2\u003e⭐️ Highlight\u003c/h2\u003e\n\u003cp\u003ePandera now supports collection types containing dataframes, shoutout to \u003ca href=\"https://github.com/garethellis0\"\u003e\u003ccode\u003e@​garethellis0\u003c/code\u003e\u003c/a\u003e with an amazing first contribution!\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e@pa.check_types\r\ndef process_tuple_and_return_dict(\r\n    dfs: tuple[DataFrame[OnlyZeroesSchema], DataFrame[OnlyOnesSchema]],\r\n) -\u0026gt; dict[str, DataFrame[OnlyZeroesSchema]]:\r\n    return {\r\n        \u0026quot;foo\u0026quot;: dfs[0],\r\n        \u0026quot;bar\u0026quot;: dfs[0]\r\n    }\r\n\u003cp\u003eresult = process_tuple_and_return_dict((\npd.DataFrame({\u0026quot;a\u0026quot;: [0, 0]}),\npd.DataFrame({\u0026quot;a\u0026quot;: [1, 1]}),\n))\nprint(result)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeature/1078: Added Support For List, Dict, And Tuples Of Dataframes by \u003ca href=\"https://github.com/garethellis0\"\u003e\u003ccode\u003e@​garethellis0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2204\"\u003eunionai-oss/pandera#2204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epin sphinx version by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2208\"\u003eunionai-oss/pandera#2208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd map datatype to the Ibis engine implementation by \u003ca href=\"https://github.com/deepyaman\"\u003e\u003ccode\u003e@​deepyaman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2206\"\u003eunionai-oss/pandera#2206\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/garethellis0\"\u003e\u003ccode\u003e@​garethellis0\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2204\"\u003eunionai-oss/pandera#2204\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.28.1...v0.29.0\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.28.1...v0.29.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.28.1: Fix regressions in Check behavior\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix bugs in Check interface and Field by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2203\"\u003eunionai-oss/pandera#2203\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.28.0...v0.28.1\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.28.0...v0.28.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease 0.28.0: Add support for Pyspark 4\u003c/h2\u003e\n\u003ch2\u003e⭐️ Highlight\u003c/h2\u003e\n\u003cp\u003ePandera now supports Pyspark 4 🚀\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(pyspark): restructure pyspark components by \u003ca href=\"https://github.com/ELC\"\u003e\u003ccode\u003e@​ELC\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2007\"\u003eunionai-oss/pandera#2007\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd support for pyspark 4 by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2193\"\u003eunionai-oss/pandera#2193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDecouple import dependencies for io serialization formats by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2195\"\u003eunionai-oss/pandera#2195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eget_annotations\u003c/code\u003e instead of direct \u003ccode\u003e__annotations__\u003c/code\u003e access by \u003ca href=\"https://github.com/amerberg\"\u003e\u003ccode\u003e@​amerberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2196\"\u003eunionai-oss/pandera#2196\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/unionai-oss/pandera/commit/7614754cb29f3495b1c1bc342e79176ebfa815be\"\u003e\u003ccode\u003e7614754\u003c/code\u003e\u003c/a\u003e Add map datatype to the Ibis engine implementation (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2206\"\u003e#2206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/8b87d0fd66a98a8525cfa6aae26facd566863712\"\u003e\u003ccode\u003e8b87d0f\u003c/code\u003e\u003c/a\u003e pin sphinx version (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2208\"\u003e#2208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/dc109085066c408a88a4d78e8b5a5daa06a55045\"\u003e\u003ccode\u003edc10908\u003c/code\u003e\u003c/a\u003e feature/1078: Added Support For List, Dict, And Tuples Of Dataframes (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2204\"\u003e#2204\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/71f860aa59ff6477134a1190d656f9d678574c9d\"\u003e\u003ccode\u003e71f860a\u003c/code\u003e\u003c/a\u003e fix bugs in Check interface and Field (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2203\"\u003e#2203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/82096dd7974de7531532ea7734c70030c27b859b\"\u003e\u003ccode\u003e82096dd\u003c/code\u003e\u003c/a\u003e schema descriptor should raise AttributeError if build_schema_ is not impleme...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/7055cbd38ee65259975249c48b25aa4c5b2a8327\"\u003e\u003ccode\u003e7055cbd\u003c/code\u003e\u003c/a\u003e Avoid full materialization of levels in failing MultiIndex validations (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2187\"\u003e#2187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/b69c6fa232d5e9bea39c84d1fb9116d95603043a\"\u003e\u003ccode\u003eb69c6fa\u003c/code\u003e\u003c/a\u003e Update .git-blame-ignore-revs to add Ruff refactor (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2199\"\u003e#2199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/42a2b3446eaf2a60d7945a5127072e720cc595b9\"\u003e\u003ccode\u003e42a2b34\u003c/code\u003e\u003c/a\u003e Support the \u003ccode\u003eDecimal\u003c/code\u003e data type in the Ibis engine (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2194\"\u003e#2194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/8c3b46ce02e5f723841072af4d2f5d280d11cca5\"\u003e\u003ccode\u003e8c3b46c\u003c/code\u003e\u003c/a\u003e Re-implement improvements to str_length check (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2198\"\u003e#2198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/8abbf2617918808e347c495f0270635c3ca10b73\"\u003e\u003ccode\u003e8abbf26\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003eget_annotations\u003c/code\u003e instead of direct \u003ccode\u003e__annotations__\u003c/code\u003e access (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2196\"\u003e#2196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandera-dev/pandera/compare/v0.22.1...v0.29.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 1.26.4 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\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/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/v1.26.4...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 2.3.3 to 3.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epandas 3.0.1\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.1.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/dev/whatsnew/v3.0.1.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003epandas 3.0.0\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.0, a major release from the pandas 2.x series. This release includes various new features, bug fixes, and performance improvements, as well as possible breaking changes.\u003c/p\u003e\n\u003cp\u003eThe pandas 3.0 release removed a functionality that was deprecated in previous releases. It is recommended to first upgrade to pandas 2.3 and to ensure your code is working without warnings, before upgrading to pandas 3.0.\u003c/p\u003e\n\u003cp\u003eHighlights include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-enhancements-string-dtype\"\u003eDedicated string data type by default\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-enhancements-copy_on_write\"\u003eConsistent copy/view behaviour with Copy-on-Write\u003c/a\u003e (CoW) (a.k.a. getting rid of the SettingWithCopyWarning)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-api-breaking-datetime-resolution-inference\"\u003eNew default resolution for datetime-like data\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html#whatsnew-300-enhancements-col\"\u003eInitial support for the new \u003ccode\u003epd.col\u003c/code\u003e syntax\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/community/blog/pandas-3.0.html\"\u003eannouncement blog post\u003c/a\u003e and the \u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.0.html\"\u003edetailed release notes\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues/new/choose\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003ePandas 3.0.0rc2\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ePandas 3.0.0rc1\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/pandas-dev/pandas/commit/e04b26f375035e5106cb913e47b6db612f4ebb11\"\u003e\u003ccode\u003ee04b26f\u003c/code\u003e\u003c/a\u003e RLS: 3.0.1  (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64206\"\u003e#64206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/47909e67760389ad32094b586eadcfceb52235b8\"\u003e\u003ccode\u003e47909e6\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] ENH: Add item() method to ExtensionArray class (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64134\"\u003e#64134\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64\"\u003e#64\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/a061bfd2f31ebba410ab87db475df651d02f8bcd\"\u003e\u003ccode\u003ea061bfd\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64199\"\u003e#64199\u003c/a\u003e on branch 3.0.x (DOC: cleanup 3.0.1 whatsnew) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64201\"\u003e#64201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/085a3856d362c4b849d84754cbc7005f2539dc54\"\u003e\u003ccode\u003e085a385\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: Fix read_hdf failing on generic datetime64 dtype (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/6400\"\u003e#6400\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/5f1704777bc2fe4864875d49b87d4e4cab417f30\"\u003e\u003ccode\u003e5f17047\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: use fill_null fallback for bug in pyarrow 21 on Windows...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/0d3a8cba13397e84606716f545f0afdce26172c4\"\u003e\u003ccode\u003e0d3a8cb\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64122\"\u003e#64122\u003c/a\u003e on branch 3.0.x (REG: Allow RE2 syntax in str.contains and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/78e1917e4d45dbea16636194b240a18b1a42bc97\"\u003e\u003ccode\u003e78e1917\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64185\"\u003e#64185\u003c/a\u003e on branch 3.0.x (TST: remove fixed xfail for PyArrow 23.0....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/75a42cabc9ff39b1ade4afabd0bc54b972d326b7\"\u003e\u003ccode\u003e75a42ca\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64168\"\u003e#64168\u003c/a\u003e on branch 3.0.x (TST: add legacy file generation and tests...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/46d443f9d603a0f65672182133e0e83f108afdcc\"\u003e\u003ccode\u003e46d443f\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64092\"\u003e#64092\u003c/a\u003e on branch 3.0.x (BUG: DataFrame.loc fills b'' instead of N...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/9d6793220be57edda0b9abb68dfa0b1740baf569\"\u003e\u003ccode\u003e9d67932\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64068\"\u003e#64068\u003c/a\u003e on branch 3.0.x (BUG: fixed to_timedelta with list of int ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v2.3.3...v3.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `logbook` from 1.8.2 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/getlogbook/logbook/releases\"\u003elogbook's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.2\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/getlogbook/logbook/blob/main/CHANGES\"\u003eCHANGES\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.1\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/getlogbook/logbook/blob/main/CHANGES\"\u003eCHANGES\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.9.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/getlogbook/logbook/blob/main/CHANGES\"\u003eCHANGES\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/getlogbook/logbook/blob/main/CHANGES\"\u003elogbook's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.2\u003c/h2\u003e\n\u003cp\u003eFixed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- When used as a context manager, handlers, flags, and processors would swallow\n  a raised ``BaseException`` and raise a ``TypeError`` `[#500](https://github.com/getlogbook/logbook/issues/500) \u0026lt;https://github.com/getlogbook/logbook/issues/500\u0026gt;`_.\n\u003ch2\u003eVersion 1.9.1\u003c/h2\u003e\n\u003cp\u003eFixed\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRequired files were missing from the source distribution (sdist).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0\u003c/h2\u003e\n\u003cp\u003eAdded\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Python 3.14 support\n- Python 3.14 free-threading support (beta). This does not extend to all optional\n  dependencies. At the time of writing, the following extras are not supported due\n  to their dependencies pulling in C extensions which do not support free-threading:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebrotli\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enteventlog\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esqlalchemy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWheels are built for Windows ARM64\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanged\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe way handlers, flags, and processors are activated is now based on\n:mod:\u003ccode\u003econtextvars\u003c/code\u003e, and has been completely rewritten. See deprecations since\nmany methods have been deprecated and are mere aliases to the new defaults.\u003c/li\u003e\n\u003cli\u003eCython has been replaced with Rust for the speedups module.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLogbook[brotli]\u003c/code\u003e depends on \u003ccode\u003ebrotlicffi\u003c/code\u003e on non-CPython implementations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecated\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- ``logbook.__version__``. Use :mod:`importlib.metadata` instead.\n- There are now only two ways to activate :class:`~logbook.Handler`,\n  :class:`~logbook.Flags`, and :class:`~logbook.Processor` instances.\n\u003cp\u003eEither globally:\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/ab46a87502ed5bd5e83ee208aa6dabb05adece36\"\u003e\u003ccode\u003eab46a87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/502\"\u003e#502\u003c/a\u003e from getlogbook/feature/prepare-1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/d720c277fb2bf5a179fda8e097b8986db9465029\"\u003e\u003ccode\u003ed720c27\u003c/code\u003e\u003c/a\u003e Bump version to 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/4815c8a10c7bed301d8f00fa8502340e96e24c44\"\u003e\u003ccode\u003e4815c8a\u003c/code\u003e\u003c/a\u003e Update CHANGES\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/3899e0b8a15e9a881f679d92424510c401cce14d\"\u003e\u003ccode\u003e3899e0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/501\"\u003e#501\u003c/a\u003e from getlogbook/fix/stacked-object-base-exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/c9f59b635e3a81177525064f22577f6090792e0a\"\u003e\u003ccode\u003ec9f59b6\u003c/code\u003e\u003c/a\u003e Fix BaseException handling in Rust extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/e6b04a0fcc35cdc1935ce7cb835c93ce75d3a239\"\u003e\u003ccode\u003ee6b04a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/498\"\u003e#498\u003c/a\u003e from getlogbook/dependabot/cargo/syn-2.0.111\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/3ca9aeb888ba615af017621a273094476d37fd5c\"\u003e\u003ccode\u003e3ca9aeb\u003c/code\u003e\u003c/a\u003e Bump syn from 2.0.110 to 2.0.111\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/60dc16cc0f3ac736f2fec699d7bbf34f45281b52\"\u003e\u003ccode\u003e60dc16c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/496\"\u003e#496\u003c/a\u003e from getlogbook/dependabot/github_actions/actions/che...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/849bfa354b0e221ec66acc1deed3cff60de2808b\"\u003e\u003ccode\u003e849bfa3\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.0 to 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getlogbook/logbook/commit/14eddd9fa8e2e6c0b42ea868cd3323c8189ec947\"\u003e\u003ccode\u003e14eddd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/getlogbook/logbook/issues/497\"\u003e#497\u003c/a\u003e from getlogbook/dependabot/github_actions/dtolnay/rus...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getlogbook/logbook/compare/1.8.2...1.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jaxtyping` from 0.2.38 to 0.3.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/releases\"\u003ejaxtyping's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejaxtyping v0.3.9\u003c/h2\u003e\n\u003cp\u003eBugfix: typechecking of pytrees of \u003ccode\u003e|\u003c/code\u003e-style unions, e.g. \u003ccode\u003eisinstance(..., PyTree[int | bool])\u003c/code\u003e, will no longer silently always pass. \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/381\"\u003epatrick-kidger/jaxtyping#381\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.8...v0.3.9\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.8...v0.3.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.8\u003c/h2\u003e\n\u003cp\u003eAnother bugfix release for \u003ccode\u003enumpy.typing.ArrayLike\u003c/code\u003e on numpy 2.4.0, I think this time only needed Python 3.13+. \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/380\"\u003e#380\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.7...v0.3.8\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.7...v0.3.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.7\u003c/h2\u003e\n\u003cp\u003eBugfix: \u003ccode\u003eSomeDtype[Union[numpy.typing.ArrayLike, ...], ...]\u003c/code\u003e will no longer crash in numpy 2.4.0. (\u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/374\"\u003e#374\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.6...v0.3.7\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.6...v0.3.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfix: \u003ccode\u003e@typing.no_type_check\u003c/code\u003e is now respected on dataclasses. (Thanks \u003ca href=\"https://github.com/jeertmans\"\u003e\u003ccode\u003e@​jeertmans\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/370\"\u003epatrick-kidger/jaxtyping#370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: the pytest plugin is now exected before pytest \u003ccode\u003econftest.py\u003c/code\u003e is ran, making it usable even if the package under test is imported inside \u003ccode\u003econftest.py\u003c/code\u003e. (Thanks \u003ca href=\"https://github.com/jeertmans\"\u003e\u003ccode\u003e@​jeertmans\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/371\"\u003epatrick-kidger/jaxtyping#371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBugfix: the pytest plugin supports typecheckers that call multi-argument constructors. (Thanks \u003ca href=\"https://github.com/jeertmans\"\u003e\u003ccode\u003e@​jeertmans\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/369\"\u003epatrick-kidger/jaxtyping#369\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.5...v0.3.6\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.5...v0.3.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature: support \u003ccode\u003eTypeAliasType\u003c/code\u003es as array types. For example:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003etype Foo = np.ndarray | int\r\nFloat[Foo, \u0026quot;\u0026quot;]\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eIn particular, this re-enables support for \u003ccode\u003enumpy.typing.ArrayLike\u003c/code\u003e, which recently switched from being a union to a type alias.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs: big update to emphasize the way in which we are framework-agnostic.\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/patrick-kidger/jaxtyping/compare/v0.3.4...v0.3.5\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.4...v0.3.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd fp4e2m1fn type (Thanks \u003ca href=\"https://github.com/vincentlo-a\"\u003e\u003ccode\u003e@​vincentlo-a\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/353\"\u003epatrick-kidger/jaxtyping#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNo longer crashing if \u003ccode\u003enumpy\u003c/code\u003e not available. (Thanks \u003ca href=\"https://github.com/charlesbmi\"\u003e\u003ccode\u003e@​charlesbmi\u003c/code\u003e\u003c/a\u003e! \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/361\"\u003epatrick-kidger/jaxtyping#361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNo longer crashing when building documentation using either either \u003ccode\u003epytkdoc_tweaks\u003c/code\u003e or \u003ccode\u003ehippogriffe\u003c/code\u003e (=my internal doc libraries that probably no-one else uses 😁) and JAX is not available (\u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/362\"\u003e#362\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/vincentlo-a\"\u003e\u003ccode\u003e@​vincentlo-a\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/353\"\u003epatrick-kidger/jaxtyping#353\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charlesbmi\"\u003e\u003ccode\u003e@​charlesbmi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/pull/361\"\u003epatrick-kidger/jaxtyping#361\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.3.3...v0.3.4\"\u003ehttps://github.com/patrick-kidger/jaxtyping/compare/v0.3.3...v0.3.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ejaxtyping v0.3.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/f7e00886e6c79f4ddf11293c46fa2b6948ea6a72\"\u003e\u003ccode\u003ef7e0088\u003c/code\u003e\u003c/a\u003e 0.3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/aae2fa7da38ebfbebac70523e49814a7f32c576d\"\u003e\u003ccode\u003eaae2fa7\u003c/code\u003e\u003c/a\u003e Fix typechecking of pytree of new-style union.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/f6477d486c9deaeb5c1cd73443ef5cc5ba5ea128\"\u003e\u003ccode\u003ef6477d4\u003c/code\u003e\u003c/a\u003e bump release pipeline to 3.12 to avoid jax weirdness on 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/7d360677973772984ab71b99bfd7a3ed738e15fe\"\u003e\u003ccode\u003e7d36067\u003c/code\u003e\u003c/a\u003e 0.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/6c3f488a5a6269981388ae3af9f747a0b6b7bd95\"\u003e\u003ccode\u003e6c3f488\u003c/code\u003e\u003c/a\u003e Yet another fix for numpy 2.4.0, I think this time this is needed for Python ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/b3ad46f43b6a75a11a4ce880b0cb6eed883b88a3\"\u003e\u003ccode\u003eb3ad46f\u003c/code\u003e\u003c/a\u003e Numpy 2.4.0 compat: fix union of arraylike.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/103e004b2b8aba25afb7423ff6579c93bcd33da3\"\u003e\u003ccode\u003e103e004\u003c/code\u003e\u003c/a\u003e 0.3.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/4bb34ef92fc54baa2e2edc537255acec96e00fa4\"\u003e\u003ccode\u003e4bb34ef\u003c/code\u003e\u003c/a\u003e fix(lib): respect \u003ccode\u003e@no_type_check\u003c/code\u003e decorator on class (\u003ca href=\"https://redirect.github.com/patrick-kidger/jaxtyping/issues/370\"\u003e#370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/9be85233d60c8c08167e24704b2af7b017478e2e\"\u003e\u003ccode\u003e9be8523\u003c/code\u003e\u003c/a\u003e fix(pytest): execute import hook before \u003ccode\u003econftest.py\u003c/code\u003e files are read\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/patrick-kidger/jaxtyping/commit/aec7db5977f54b332931b5f84fc75978e4b30f71\"\u003e\u003ccode\u003eaec7db5\u003c/code\u003e\u003c/a\u003e fix(pytest_plugin): avoid splitting typechecker constructor with commas\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/patrick-kidger/jaxtyping/compare/v0.2.38...v0.3.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `polars` from 1.37.1 to 1.38.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pola-rs/polars/releases\"\u003epolars's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePython Polars 1.38.1\u003c/h2\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd get() to retrieve a byte from binary data (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26454\"\u003e#26454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove with_context in SQL lowering (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26416\"\u003e#26416\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐞 Bug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDo not overwrite used names in cluster_with_columns pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26467\"\u003e#26467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not mark output of concat_str on multiple inputs as sorted (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26468\"\u003e#26468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CSV schema inference content line duplication bug (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26452\"\u003e#26452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix InvalidOperationError using \u003ccode\u003escan_delta\u003c/code\u003e with filter (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26448\"\u003e#26448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlias giving missing column after streaming GroupBy CSE (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26447\"\u003e#26447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003eby_name\u003c/code\u003e selector selects only names (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26437\"\u003e#26437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestore compatibility of strings written to parquet with pyarrow filter (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26436\"\u003e#26436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate schema in cluster_with_columns optimization (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26430\"\u003e#26430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix negative slice in groups slicing (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26442\"\u003e#26442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't run CPU check on aarch64 musl (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26439\"\u003e#26439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed annotations shadowed by class methods (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26356\"\u003e#26356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003ePOLARS_IDEAL_MORSEL_SIZE\u003c/code\u003e monkeypatching in the parametric merge-join test (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26418\"\u003e#26418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eselector\u003c/code\u003e match patterns for multiline column names (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26320\"\u003e#26320\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003esink_delta\u003c/code\u003e to API reference (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26446\"\u003e#26446\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠️ Other improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCleanup unused attributes in optimizer (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26464\"\u003e#26464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eExpr::Display\u003c/code\u003e as catch all for IR - DSL asymmetry (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26471\"\u003e#26471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore pytz in mypy (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26441\"\u003e#26441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003ePOLARS_IDEAL_MORSEL_SIZE\u003c/code\u003e monkeypatching in the parametric merge-join test (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26418\"\u003e#26418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCleanup the parametric merge-join test (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26413\"\u003e#26413\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThank you to all our contributors for making this release possible!\n\u003ca href=\"https://github.com/Voultapher\"\u003e\u003ccode\u003e@​Voultapher\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/alexander-beedie\"\u003e\u003ccode\u003e@​alexander-beedie\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/azimafroozeh\"\u003e\u003ccode\u003e@​azimafroozeh\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cmdlineluser\"\u003e\u003ccode\u003e@​cmdlineluser\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/dsprenkels\"\u003e\u003ccode\u003e@​dsprenkels\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/hamdanal\"\u003e\u003ccode\u003e@​hamdanal\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/kdn36\"\u003e\u003ccode\u003e@​kdn36\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/nameexhaustion\"\u003e\u003ccode\u003e@​nameexhaustion\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/orlp\"\u003e\u003ccode\u003e@​orlp\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ritchie46\"\u003e\u003ccode\u003e@​ritchie46\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePython Polars 1.38.0\u003c/h2\u003e\n\u003ch2\u003e⚠️ Deprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eretries=n\u003c/code\u003e in favor of \u003ccode\u003estorage_options={\u0026quot;max_retries\u0026quot;: n}\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26155\"\u003e#26155\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 Performance improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable zero-copy object_store \u003ccode\u003eput\u003c/code\u003e upload for IPC sink (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26288\"\u003e#26288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve file schema's and metadata concurrently (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26325\"\u003e#26325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun elementwise CSEE for the streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26278\"\u003e#26278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable morsel splitting for fast-count on streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26245\"\u003e#26245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement streaming decompression for scan_ndjson and scan_lines (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26200\"\u003e#26200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove string slicing performance (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26206\"\u003e#26206\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/pola-rs/polars/commit/50a3bfbb4f663939a0868907ef1cc51c4288ce05\"\u003e\u003ccode\u003e50a3bfb\u003c/code\u003e\u003c/a\u003e Python Polars 1.38.1 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26472\"\u003e#26472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/420716860045b3d1e3fa59f7c4888719efe7c351\"\u003e\u003ccode\u003e4207168\u003c/code\u003e\u003c/a\u003e fix: Do not overwrite used names in cluster_with_columns pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26467\"\u003e#26467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/052e68fc47a7be9500c99da063eac41afa180449\"\u003e\u003ccode\u003e052e68f\u003c/code\u003e\u003c/a\u003e fix: Do not mark output of concat_str on multiple inputs as sorted (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26468\"\u003e#26468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/3832c8f82939d6564689ee14e403a1d76ce5fca6\"\u003e\u003ccode\u003e3832c8f\u003c/code\u003e\u003c/a\u003e refactor: Cleanup unused attributes in optimizer (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26464\"\u003e#26464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/a166aef2bef8563c7adea2cbf9c465721efa188f\"\u003e\u003ccode\u003ea166aef\u003c/code\u003e\u003c/a\u003e refactor: Use \u003ccode\u003eExpr::Display\u003c/code\u003e as catch all for IR - DSL asymmetry (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26471\"\u003e#26471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/d0ca22bf4f60f9f01cdbb4f09fcc1a66508c59d8\"\u003e\u003ccode\u003ed0ca22b\u003c/code\u003e\u003c/a\u003e fix: Fix CSV schema inference content line duplication bug (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26452\"\u003e#26452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/c4b5b1db2b5e66143b3e05ddefc13adb7595049e\"\u003e\u003ccode\u003ec4b5b1d\u003c/code\u003e\u003c/a\u003e fix: Fix InvalidOperationError using \u003ccode\u003escan_delta\u003c/code\u003e with filter (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26448\"\u003e#26448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/c0671246539906679742b5a03ba81fb95ff0a9c0\"\u003e\u003ccode\u003ec067124\u003c/code\u003e\u003c/a\u003e build: Bump time from 0.3.44 to 0.3.47 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26457\"\u003e#26457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/35b2edf2e333a08a9bb15f5ebf1b8b5efd4988f6\"\u003e\u003ccode\u003e35b2edf\u003c/code\u003e\u003c/a\u003e feat: Add get() to retrieve a byte from binary data (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26454\"\u003e#26454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/3a4528f96c49e05904b1f38e92db2239f55b9059\"\u003e\u003ccode\u003e3a4528f\u003c/code\u003e\u003c/a\u003e docs(python): Add \u003ccode\u003esink_delta\u003c/code\u003e to API reference (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26446\"\u003e#26446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pola-rs/polars/compare/py-1.37.1...py-1.38.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 23.0.0 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-23.0.0...apache-arrow-23.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fsspec` from 2026.1.0 to 2026.2.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/e6668a146cd07b9f50530c49ea3916d8ab13e169\"\u003e\u003ccode\u003ee6668a1\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1989\"\u003e#1989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/b6bd0752c1f133fb5005b4b21c065bde76f2c52b\"\u003e\u003ccode\u003eb6bd075\u003c/code\u003e\u003c/a\u003e fix parquet tests (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1988\"\u003e#1988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/6f825f3ba989893a283cb1f84abcb87953b4ca96\"\u003e\u003ccode\u003e6f825f3\u003c/code\u003e\u003c/a\u003e feat(compression): recover the support of the zstandard (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1986\"\u003e#1986\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1987\"\u003e#1987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/1de5e1db3bf6ba984a1386008f3fff97a406ec90\"\u003e\u003ccode\u003e1de5e1d\u003c/code\u003e\u003c/a\u003e Remove prefetching loop (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1984\"\u003e#1984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/9603a7c8329c7c24b476c77dcf924dda572113f0\"\u003e\u003ccode\u003e9603a7c\u003c/code\u003e\u003c/a\u003e fixes to parquet and known cache (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1982\"\u003e#1982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/2576617e5cbe441bcc53b021bccd85ff3489fde7\"\u003e\u003ccode\u003e2576617\u003c/code\u003e\u003c/a\u003e Support append and update for cached file systems (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1980\"\u003e#1980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/cea9d7c1fa3df31c02aa2ddd5df0cd06a9f4d1f4\"\u003e\u003ccode\u003ecea9d7c\u003c/code\u003e\u003c/a\u003e Return None for size if arrow file is not seekable (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1981\"\u003e#1981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/6e1196304d0ffdeb92372ff2f7ef154253afa92c\"\u003e\u003ccode\u003e6e11963\u003c/code\u003e\u003c/a\u003e Maybe fix column selection (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1979\"\u003e#1979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/635b2efb31d650c84405e97b6c26887361c3a973\"\u003e\u003ccode\u003e635b2ef\u003c/code\u003e\u003c/a\u003e Correct \u003ccode\u003efind\u003c/code\u003e behaviour with different combinations of arguments for `ZipFil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/8ce70ee802856daa540cdbc0bdde302a923288fb\"\u003e\u003ccode\u003e8ce70ee\u003c/code\u003e\u003c/a\u003e Implement created and modified methods from abstract filesystem class… (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1971\"\u003e#1971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/filesystem_spec/compare/2026.1.0...2026.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `protobuf` from 5.29.6 to 6.33.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/protocolbuffers/protobuf/releases\"\u003eprotobuf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eProtocol Buffers v34.0-rc1\u003c/h2\u003e\n\u003ch1\u003eAnnouncements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThis version includes breaking changes to: C++, Objective-C, PHP, Python.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e[Bazel] Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make generator headers private (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add a debug check that the target of CopyFrom is not a descendant of the source. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add [[nodiscard]] to many APIs. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make the arena-enabled constructors of \u003ccode\u003eRepeatedField\u003c/code\u003e, \u003ccode\u003eRepeatedPtrField\u003c/code\u003e, and \u003ccode\u003eMap\u003c/code\u003e private. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Removes proto2::util::MessageDifferencer::AddIgnoreCriteria that takes a raw pointer as an argument in favor of the overload that takes a unique_ptr. Remove macro PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::has_optional_keyword() in OSS. Use is_repeated() or has_presence() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove AddUnusedImportTrackFile() and ClearUnusedImportTrackFiles(). Remove PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use (!is_required() \u0026amp;\u0026amp; !is_repeated()) instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] All entity names have length limit (2afb0dc)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003egenerate_minimal_imports\u003c/code\u003e generation option warning (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Fix nullability annotations on some \u003ccode\u003eGPB*Dictionary\u003c/code\u003e types. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003e-[GPBFieldDescriptor optional]\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Other] Remove deprecated flag for enabling MSVC support (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  Add PHP typehints for setters and remove redundant GPBUtil checks (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25296\"\u003eprotocolbuffers/protobuf#25296\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  support default values for editions/proto2 (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25161\"\u003eprotocolbuffers/protobuf#25161\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise errors in OSS when assign bool to int/enum field in Python Proto. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_format/double_format from python proto text_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise TypeError when convert non-timedelta to Duration, or convert non-datetime to Timestamp in python proto. (Original code may raise ArributeError) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_precision from python proto json_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor.label (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/news/\"\u003eProtobuf News\u003c/a\u003e may include additional announcements or pre-announcements for upcoming changes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/support/migration/\"\u003eMigration Guide\u003c/a\u003e may include additional guidance for breaking changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBazel\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: cc_toolchain should prefer protoc when prebuilt flag is flipped. (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/25168\"\u003e#25168\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBreaking change: Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat(bazel): wire up prebuilt protoc toolchain (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/24115\"\u003e#24115\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate \u003ccode\u003eproto_descriptor_set\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/23369\"\u003e#23369\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eCompiler\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRuby codegen: support generation of rbs files (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/15633\"\u003e#15633\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid collision name problems between a message named \u003ccode\u003eXyz\u003c/code\u003e and a direct sibling enum named \u003ccode\u003eXyzView\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGeneralizing and implementing ValidateFeatureSupport for both Options and Features during proto parsing (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug with custom features outside of the \u003ccode\u003epb\u003c/code\u003e package. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix import option handling when include_imports isn't set. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug in STRICT check of namespaced enums to properly check for 'reserved 1 to max' (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent accidental stripping of \u003ccode\u003edebug_redact\u003c/code\u003e options via import option. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eC++\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd EnumerateEnumValues function. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\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\u003eSee full diff in \u003ca href=\"https://github.com/protocolbuffers/protobuf/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/eliagroup/ToOp/pull/277","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliagroup%2FToOp/issues/277","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/277/packages"}},{"old_version":"23.0.0","new_version":"23.0.1","update_type":"patch","path":null,"pr_created_at":"2026-03-02T17:39:09.000Z","version_change":"23.0.0 → 23.0.1","issue":{"uuid":"4012476307","node_id":"PR_kwDOMJpKc87HZPJg","number":195,"state":"open","title":"chore(deps): bump the uv-non-breaking group with 6 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-02T17:39:09.000Z","updated_at":"2026-03-02T17:39:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"uv-non-breaking","update_count":6,"packages":[{"name":"pyarrow","old_version":"23.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"python-dotenv","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"basedpyright","old_version":"1.38.0","new_version":"1.38.2","repository_url":"https://github.com/detachhead/basedpyright"},{"name":"mkdocs-material","old_version":"9.7.1","new_version":"9.7.3","repository_url":"https://github.com/squidfunk/mkdocs-material"},{"name":"mkdocstrings-python","old_version":"2.0.2","new_version":"2.0.3","repository_url":"https://github.com/mkdocstrings/python"},{"name":"ruff","old_version":"0.15.0","new_version":"0.15.4","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv-non-breaking group with 6 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `23.0.1` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [basedpyright](https://github.com/detachhead/basedpyright) | `1.38.0` | `1.38.2` |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.7.1` | `9.7.3` |\n| [mkdocstrings-python](https://github.com/mkdocstrings/python) | `2.0.2` | `2.0.3` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.0` | `0.15.4` |\n\nUpdates `pyarrow` from 23.0.0 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-23.0.0...apache-arrow-23.0.1\"\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.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (#)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/607\"\u003etheskumar/python-dotenv#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e#790c5\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by \u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eskip 000 permission tests for root user by \u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/593\"\u003etheskumar/python-dotenv#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows testing to CI by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/604\"\u003etheskumar/python-dotenv#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove workflow efficiency with best practices by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/609\"\u003etheskumar/python-dotenv#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of \u003ccode\u003esh\u003c/code\u003e in tests by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/612\"\u003etheskumar/python-dotenv#612\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/590\"\u003etheskumar/python-dotenv#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/burnout-projects\"\u003e\u003ccode\u003e@​burnout-projects\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/561\"\u003etheskumar/python-dotenv#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cpackham-atlnz\"\u003e\u003ccode\u003e@​cpackham-atlnz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/597\"\u003etheskumar/python-dotenv#597\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.2] - 2026-03-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14, including the free-threaded (3.14t) build. (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edotenv run\u003c/code\u003e command now forwards flags directly to the specified command by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/607\"\u003e#607\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved documentation clarity regarding override behavior and the reference page.\u003c/li\u003e\n\u003cli\u003eUpdated PyPy support to version 3.11.\u003c/li\u003e\n\u003cli\u003eDocumentation for FIFO file support.\u003c/li\u003e\n\u003cli\u003eDropped Support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved \u003ccode\u003eset_key\u003c/code\u003e and \u003ccode\u003eunset_key\u003c/code\u003e behavior when interacting with symlinks by [\u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e] in [790c5c0]\u003c/li\u003e\n\u003cli\u003eCorrected the license specifier and added missing Python 3.14 classifiers in package metadata by [\u003ca href=\"https://github.com/JYOuyang\"\u003e\u003ccode\u003e@​JYOuyang\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/590\"\u003e#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e and \u003ccode\u003edotenv.unset_key\u003c/code\u003e used to follow symlinks in some\nsituations. This is no longer the case. For that behavior to be restored in\nall cases, \u003ccode\u003efollow_symlinks=True\u003c/code\u003e should be used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the CLI, \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e used to follow symlinks in some situations. This\nis no longer the case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003edotenv.set_key\u003c/code\u003e, \u003ccode\u003edotenv.unset_key\u003c/code\u003e and the CLI commands \u003ccode\u003eset\u003c/code\u003e and \u003ccode\u003eunset\u003c/code\u003e\nused to reset the file mode of the modified .env file to \u003ccode\u003e0o600\u003c/code\u003e in some\nsituations. This is no longer the case: The original mode of the file is now\npreserved. Is the file needed to be created or wasn't a regular file, mode\n\u003ccode\u003e0o600\u003c/code\u003e is used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/36004e0e34be7665ff2b11a8a4005144f76f176d\"\u003e\u003ccode\u003e36004e0\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.1 → 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eb202520e5933c9daf42501e1e42fdb0144002c8\"\u003e\u003ccode\u003eeb20252\u003c/code\u003e\u003c/a\u003e docs: update changelog for v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311\"\u003e\u003ccode\u003e790c5c0\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/43340da220fb4ca4f95357bbe21a3c7f8f1278b1\"\u003e\u003ccode\u003e43340da\u003c/code\u003e\u003c/a\u003e Remove the use of \u003ccode\u003esh\u003c/code\u003e in tests (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/09d7cee32459e7abdcb5c9d8122a552589c06a9c\"\u003e\u003ccode\u003e09d7cee\u003c/code\u003e\u003c/a\u003e docs: clarify override behavior and document FIFO support (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/610\"\u003e#610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/c8de2887c00198c22842c5ae5e92d1747467363c\"\u003e\u003ccode\u003ec8de288\u003c/code\u003e\u003c/a\u003e ci: improve workflow efficiency with best practices (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/609\"\u003e#609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/7bd9e3dbfedc0983ad7d56d5570013035242bdf4\"\u003e\u003ccode\u003e7bd9e3d\u003c/code\u003e\u003c/a\u003e Add Windows testing to CI (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1baaf04f336072e0ee324d5df9563ec767f14f81\"\u003e\u003ccode\u003e1baaf04\u003c/code\u003e\u003c/a\u003e Drop Python 3.9 support and update to PyPy 3.11 (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/608\"\u003e#608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/4a22cf8993804aeede0c20b75bb1a29d3a99e9dc\"\u003e\u003ccode\u003e4a22cf8\u003c/code\u003e\u003c/a\u003e ci: enable testing on Python 3.14t (free-threaded) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/e2e8e776b42e382ae38b44d3982dd649e7507dd4\"\u003e\u003ccode\u003ee2e8e77\u003c/code\u003e\u003c/a\u003e Fix license specifier (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `basedpyright` from 1.38.0 to 1.38.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/264b2472bf3c09522851bf7c7fa7d1c88bea044f\"\u003e\u003ccode\u003e264b247\u003c/code\u003e\u003c/a\u003e 1.38.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/e57065d9ef83e65f5f0f63f097ee2798d370b021\"\u003e\u003ccode\u003ee57065d\u003c/code\u003e\u003c/a\u003e Extract some duplicated test helpers and improve the \u003cstrong\u003ecall\u003c/strong\u003e tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/036be5e7af226708d3becdea4241d24508a13f8d\"\u003e\u003ccode\u003e036be5e\u003c/code\u003e\u003c/a\u003e Add a jump-to-definition test and make the messages/definitions less eager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/2ee6bbc5beaf7c23641ca397840bc09a2c25972f\"\u003e\u003ccode\u003e2ee6bbc\u003c/code\u003e\u003c/a\u003e Provide hover messages and jump-to-definition for call expressions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/d9e115df6c3b0b6bac366dc12703756096cbf2d7\"\u003e\u003ccode\u003ed9e115d\u003c/code\u003e\u003c/a\u003e Improved semantic tokens for keyword arguments (\u003ca href=\"https://redirect.github.com/detachhead/basedpyright/issues/1740\"\u003e#1740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/d9e88de73a9682663c40b668db6bc126edf24785\"\u003e\u003ccode\u003ed9e88de\u003c/code\u003e\u003c/a\u003e simplify uv commands in \u003ccode\u003egenerateAllDocstubs.sh\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/ce372dde9b384dfa25c0294dc637ce0ec4638a05\"\u003e\u003ccode\u003ece372dd\u003c/code\u003e\u003c/a\u003e 1.38.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/83c1dc799597a1d342caa9dc6476711c1086dde9\"\u003e\u003ccode\u003e83c1dc7\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e guards in match statements (\u003ca href=\"https://redirect.github.com/detachhead/basedpyright/issues/1726\"\u003e#1726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/41f6c01f71734513e6ac518d52e09fd905abae3d\"\u003e\u003ccode\u003e41f6c01\u003c/code\u003e\u003c/a\u003e fix docstubs not being generated for older python versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DetachHead/basedpyright/commit/b00fdc450d57f58202bf37d641be0014a86c4952\"\u003e\u003ccode\u003eb00fdc4\u003c/code\u003e\u003c/a\u003e add tests to ensure that docstubs for multiple python versions are correctly ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/detachhead/basedpyright/compare/v1.38.0...v1.38.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-material` from 9.7.1 to 9.7.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.7.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGoing forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOpened up version ranges of optional dependencies for forward-compatibility\u003c/li\u003e\n\u003cli\u003eAdded warning to \u003ccode\u003emkdocs build\u003c/code\u003e about impending MkDocs 2.0 incompatibility (doesn't affect strict mode)\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/squidfunk/mkdocs-material/blob/master/CHANGELOG\"\u003emkdocs-material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emkdocs-material-9.7.3 (2026-02-24)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8567\"\u003e#8567\u003c/a\u003e: Print MkDocs 2.0 incompatibility warning to stderr\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.2 (2026-02-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpened up version ranges of optional dependencies for forward-compatibility\u003c/li\u003e\n\u003cli\u003eAdded warning to 'mkdocs build' about impending MkDocs 2.0 incompatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.1 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.0 (2025-11-11)\u003c/p\u003e\n\u003cp\u003e⚠️ Material for MkDocs is now in maintenance mode\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features.\nGoing forward, the Material for MkDocs team focuses on Zensical, a next-gen\nstatic site generator built from first principles. We will provide critical\nbug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003eRead the full announcement on our blog:\n\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003ehttps://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the\nInsiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003eNote on deprecated plugins: The projects and typeset plugins are included in\nthis release, but must be considered deprecated. Both plugins proved\nunsustainable to maintain and represent architectural dead ends. They are\nprovided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pinned blog posts and author profiles\u003c/li\u003e\n\u003cli\u003eAdded support for customizing pagination for blog index pages\u003c/li\u003e\n\u003cli\u003eAdded support for customizing blog category sort order\u003c/li\u003e\n\u003cli\u003eAdded support for staying on page when switching languages\u003c/li\u003e\n\u003cli\u003eAdded support for disabling tags in table of contents\u003c/li\u003e\n\u003cli\u003eAdded support for nested tags and shadow tags\u003c/li\u003e\n\u003cli\u003eAdded support for footnote tooltips\u003c/li\u003e\n\u003cli\u003eAdded support for instant previews\u003c/li\u003e\n\u003cli\u003eAdded support for instant prefetching\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card layouts\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card background images\u003c/li\u003e\n\u003cli\u003eAdded support for selectable rangs in code blocks\u003c/li\u003e\n\u003cli\u003eAdded support for custom selectors for code annotations\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/da5d442f904d0c938f4dadc384a7126e8ce30cd0\"\u003e\u003ccode\u003eda5d442\u003c/code\u003e\u003c/a\u003e Prepare 9.7.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/03e8baecdcb62bf3478b68487c2a1fa61a4c938c\"\u003e\u003ccode\u003e03e8bae\u003c/code\u003e\u003c/a\u003e Fixed order of imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/70dee38366615652d7198ae85ff208a4b4c0e80d\"\u003e\u003ccode\u003e70dee38\u003c/code\u003e\u003c/a\u003e Switched warning message to print to stderr\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/b78109b36b2aaf39a02eb2b75af6df856f0c5600\"\u003e\u003ccode\u003eb78109b\u003c/code\u003e\u003c/a\u003e Updated blog post on MkDocs 2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/e1dd2c88ecd26810050bacf2e67f47a0c2cee4ba\"\u003e\u003ccode\u003ee1dd2c8\u003c/code\u003e\u003c/a\u003e Updated blog post on MkDocs 2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/6972761d8202f0aafb6f3ea7177c39c65337a978\"\u003e\u003ccode\u003e6972761\u003c/code\u003e\u003c/a\u003e Updated blog post on MkDocs 2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/e21a119e38f7bca184e469eaeefa3d5535e5022b\"\u003e\u003ccode\u003ee21a119\u003c/code\u003e\u003c/a\u003e Updated changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/d5654b500a7021625d3c78f59842805c45e7b65a\"\u003e\u003ccode\u003ed5654b5\u003c/code\u003e\u003c/a\u003e Prepare 9.7.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/b18af2f74a98e0d54f7f11b4e029d7ea29166df3\"\u003e\u003ccode\u003eb18af2f\u003c/code\u003e\u003c/a\u003e Opened up version ranges in optional dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/39cdfbd87c80079cd06a6d2a953cd53f531db61d\"\u003e\u003ccode\u003e39cdfbd\u003c/code\u003e\u003c/a\u003e Added social card for blog post\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.7.1...9.7.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocstrings-python` from 2.0.2 to 2.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mkdocstrings/python/releases\"\u003emkdocstrings-python's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/python/releases/tag/2.0.3\"\u003e2.0.3\u003c/a\u003e - 2026-02-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/python/compare/2.0.2...2.0.3\"\u003eCompare with 2.0.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBuild\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDepend on griffelib instead of griffe (\u003ca href=\"https://github.com/mkdocstrings/python/commit/770a5f69d801f24f0b36d1e671a540196e06f710\"\u003e770a5f6\u003c/a\u003e by Timothée Mazzucotelli).\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/mkdocstrings/python/blob/main/CHANGELOG.md\"\u003emkdocstrings-python's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/python/releases/tag/2.0.3\"\u003e2.0.3\u003c/a\u003e - 2026-02-20\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/python/compare/2.0.2...2.0.3\"\u003eCompare with 2.0.2\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBuild\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDepend on griffelib instead of griffe (\u003ca href=\"https://github.com/mkdocstrings/python/commit/770a5f69d801f24f0b36d1e671a540196e06f710\"\u003e770a5f6\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/python/commit/a0b99c5ed6ac44b627e2e57375e474e0939ea02e\"\u003e\u003ccode\u003ea0b99c5\u003c/code\u003e\u003c/a\u003e chore: Prepare release 2.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/python/commit/770a5f69d801f24f0b36d1e671a540196e06f710\"\u003e\u003ccode\u003e770a5f6\u003c/code\u003e\u003c/a\u003e build: Depend on griffelib instead of griffe\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/python/commit/bf8caaf76efcfe3572b40f4129117ed32bdc2ee7\"\u003e\u003ccode\u003ebf8caaf\u003c/code\u003e\u003c/a\u003e Merge branch 'main' of github.com:mkdocstrings/python\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/python/commit/95f58aa56a78df160fc66892815cb4c49d291044\"\u003e\u003ccode\u003e95f58aa\u003c/code\u003e\u003c/a\u003e ci: Minor lint fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/python/commit/186d6cfac78dbc96bcb753473ceb68db5fa46f73\"\u003e\u003ccode\u003e186d6cf\u003c/code\u003e\u003c/a\u003e chore: Update sponsors section in README\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mkdocstrings/python/compare/2.0.2...2.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.0 to 0.15.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.4\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-26.\u003c/p\u003e\n\u003cp\u003eThis is a follow-up release to 0.15.3 that resolves a panic when the new rule \u003ccode\u003ePLR1712\u003c/code\u003e was enabled with any rule that analyzes definitions, such as many of the \u003ccode\u003eANN\u003c/code\u003e or \u003ccode\u003eD\u003c/code\u003e rules.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix panic on access to definitions after analyzing definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23588\"\u003e#23588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Suppress false positive in \u003ccode\u003eF821\u003c/code\u003e for names used before \u003ccode\u003edel\u003c/code\u003e in stub files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23550\"\u003e#23550\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify first-party import detection in Ruff (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23591\"\u003e#23591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect \u003ccode\u003eimport-heading\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23568\"\u003e#23568\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stakeswky\"\u003e\u003ccode\u003e@​stakeswky\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thejcannon\"\u003e\u003ccode\u003e@​thejcannon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GeObts\"\u003e\u003ccode\u003e@​GeObts\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.15.4\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ruff 0.15.4\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-apple-darwin.tar.gz\"\u003eruff-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-apple-darwin.tar.gz\"\u003eruff-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-pc-windows-msvc.zip\"\u003eruff-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-pc-windows-msvc.zip\"\u003eruff-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-pc-windows-msvc.zip\"\u003eruff-x86_64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-x86_64-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-unknown-linux-gnu.tar.gz\"\u003eruff-aarch64-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-aarch64-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-unknown-linux-gnu.tar.gz\"\u003eruff-i686-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-i686-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-powerpc64-unknown-linux-gnu.tar.gz\"\u003eruff-powerpc64-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePPC64 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/astral-sh/ruff/releases/download/0.15.4/ruff-powerpc64-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.4\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-26.\u003c/p\u003e\n\u003cp\u003eThis is a follow-up release to 0.15.3 that resolves a panic when the new rule \u003ccode\u003ePLR1712\u003c/code\u003e was enabled with any rule that analyzes definitions, such as many of the \u003ccode\u003eANN\u003c/code\u003e or \u003ccode\u003eD\u003c/code\u003e rules.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix panic on access to definitions after analyzing definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23588\"\u003e#23588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Suppress false positive in \u003ccode\u003eF821\u003c/code\u003e for names used before \u003ccode\u003edel\u003c/code\u003e in stub files (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23550\"\u003e#23550\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify first-party import detection in Ruff (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23591\"\u003e#23591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect \u003ccode\u003eimport-heading\u003c/code\u003e example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23568\"\u003e#23568\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stakeswky\"\u003e\u003ccode\u003e@​stakeswky\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thejcannon\"\u003e\u003ccode\u003e@​thejcannon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GeObts\"\u003e\u003ccode\u003e@​GeObts\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.3\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDrop explicit support for \u003ccode\u003e.qmd\u003c/code\u003e file extension (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23572\"\u003e#23572\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThis can now be enabled instead by setting the \u003ca href=\"https://docs.astral.sh/ruff/settings/#extension\"\u003e\u003ccode\u003eextension\u003c/code\u003e\u003c/a\u003e option:\u003c/p\u003e\n\u003cpre lang=\"toml\"\u003e\u003ccode\u003e# ruff.toml\nextension = { qmd = \u0026quot;markdown\u0026quot; }\n\u003ch1\u003epyproject.toml\u003c/h1\u003e\n\u003cp\u003e[tool.ruff]\nextension = { qmd = \u0026quot;markdown\u0026quot; }\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eInclude configured extensions in file discovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23400\"\u003e#23400\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Allow suspicious imports in \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e blocks (\u003ccode\u003eS401\u003c/code\u003e-\u003ccode\u003eS415\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23441\"\u003e#23441\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Allow \u003ccode\u003eB901\u003c/code\u003e in pytest hook wrappers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21931\"\u003e#21931\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-import-conventions\u003c/code\u003e] Add missing conventions from upstream (\u003ccode\u003eICN001\u003c/code\u003e, \u003ccode\u003eICN002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21373\"\u003e#21373\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f14edd8661e2803254f89265548c7487f47a09f6\"\u003e\u003ccode\u003ef14edd8\u003c/code\u003e\u003c/a\u003e Bump 0.15.4 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23595\"\u003e#23595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/fd09d370076ab585444fd39f0fee79bf29280b68\"\u003e\u003ccode\u003efd09d37\u003c/code\u003e\u003c/a\u003e Fix panic on access to definitions after analyzing definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23588\"\u003e#23588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/81d655fadce087b792e524ed1964e9bcc31b73cd\"\u003e\u003ccode\u003e81d655f\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyflakes\u003c/code\u003e] suppress false positive in \u003ccode\u003eF821\u003c/code\u003e for names used before \u003ccode\u003edel\u003c/code\u003e in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/625b4f5a672d1baaa6f25e0999ca428f3f2522f1\"\u003e\u003ccode\u003e625b4f5\u003c/code\u003e\u003c/a\u003e [ruff] docs: Clarify first-party import detection in Ruff (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23591\"\u003e#23591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/60facfa0bc02689637e25237f0df5abfc2f27054\"\u003e\u003ccode\u003e60facfa\u003c/code\u003e\u003c/a\u003e one word typo fix in a \u003ccode\u003ewhile_loop.md\u003c/code\u003e test case (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23589\"\u003e#23589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/fbb9fa75cc1915973a739da0ec469094176bfdc6\"\u003e\u003ccode\u003efbb9fa7\u003c/code\u003e\u003c/a\u003e docs: fix incorrect import-heading example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23568\"\u003e#23568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5bc49a941279c9100ff834edae1cb63053aeec93\"\u003e\u003ccode\u003e5bc49a9\u003c/code\u003e\u003c/a\u003e Increase the ruleset size to 16 bits (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23586\"\u003e#23586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a62ba8c6e2bac0b899d90fd30a1b26c07aac44bb\"\u003e\u003ccode\u003ea62ba8c\u003c/code\u003e\u003c/a\u003e [ty] Fix overloaded callable assignability for unary Callable targets (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23277\"\u003e#23277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e5f2f36a3f49b45fd7506d42b12c495c2517e936\"\u003e\u003ccode\u003ee5f2f36\u003c/code\u003e\u003c/a\u003e Bump 0.15.3 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23585\"\u003e#23585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0e19fc9a61477e71abc4eb76f05a129b6b9ab873\"\u003e\u003ccode\u003e0e19fc9\u003c/code\u003e\u003c/a\u003e [ty] defer calculating conjunctions in narrowing constraints (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23552\"\u003e#23552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.0...0.15.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/kahojyun/fricon/pull/195","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kahojyun%2Ffricon/issues/195","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/195/packages"}},{"old_version":"19.0.1","new_version":"23.0.1","update_type":"major","path":null,"pr_created_at":"2026-03-01T13:36:14.000Z","version_change":"19.0.1 → 23.0.1","issue":{"uuid":"4007219597","node_id":"PR_kwDOLKGjv87HIK8o","number":286,"state":"closed","title":"Bump the production-dependencies group across 1 directory with 5 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-20T18:46:10.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-01T13:36:14.000Z","updated_at":"2026-03-20T18:46:11.000Z","time_to_close":1660196,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies","update_count":5,"packages":[{"name":"polars","old_version":"1.37.1","new_version":"1.38.1","repository_url":"https://github.com/pola-rs/polars"},{"name":"pyarrow","old_version":"19.0.1","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"pydantic-settings","old_version":"2.12.0","new_version":"2.13.1","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"typer","old_version":"0.15.4","new_version":"0.24.1","repository_url":"https://github.com/fastapi/typer"},{"name":"rich","old_version":"14.3.1","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"}],"path":null,"ecosystem":"pip"},"body":"Bumps the production-dependencies group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [polars](https://github.com/pola-rs/polars) | `1.37.1` | `1.38.1` |\n| [pyarrow](https://github.com/apache/arrow) | `19.0.1` | `23.0.1` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.12.0` | `2.13.1` |\n| [typer](https://github.com/fastapi/typer) | `0.15.4` | `0.24.1` |\n| [rich](https://github.com/Textualize/rich) | `14.3.1` | `14.3.3` |\n\n\nUpdates `polars` from 1.37.1 to 1.38.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pola-rs/polars/releases\"\u003epolars's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePython Polars 1.38.1\u003c/h2\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd get() to retrieve a byte from binary data (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26454\"\u003e#26454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove with_context in SQL lowering (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26416\"\u003e#26416\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐞 Bug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDo not overwrite used names in cluster_with_columns pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26467\"\u003e#26467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not mark output of concat_str on multiple inputs as sorted (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26468\"\u003e#26468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CSV schema inference content line duplication bug (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26452\"\u003e#26452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix InvalidOperationError using \u003ccode\u003escan_delta\u003c/code\u003e with filter (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26448\"\u003e#26448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlias giving missing column after streaming GroupBy CSE (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26447\"\u003e#26447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003eby_name\u003c/code\u003e selector selects only names (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26437\"\u003e#26437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestore compatibility of strings written to parquet with pyarrow filter (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26436\"\u003e#26436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate schema in cluster_with_columns optimization (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26430\"\u003e#26430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix negative slice in groups slicing (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26442\"\u003e#26442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't run CPU check on aarch64 musl (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26439\"\u003e#26439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed annotations shadowed by class methods (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26356\"\u003e#26356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003ePOLARS_IDEAL_MORSEL_SIZE\u003c/code\u003e monkeypatching in the parametric merge-join test (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26418\"\u003e#26418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eselector\u003c/code\u003e match patterns for multiline column names (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26320\"\u003e#26320\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003esink_delta\u003c/code\u003e to API reference (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26446\"\u003e#26446\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠️ Other improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCleanup unused attributes in optimizer (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26464\"\u003e#26464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eExpr::Display\u003c/code\u003e as catch all for IR - DSL asymmetry (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26471\"\u003e#26471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore pytz in mypy (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26441\"\u003e#26441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003ePOLARS_IDEAL_MORSEL_SIZE\u003c/code\u003e monkeypatching in the parametric merge-join test (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26418\"\u003e#26418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCleanup the parametric merge-join test (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26413\"\u003e#26413\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThank you to all our contributors for making this release possible!\n\u003ca href=\"https://github.com/Voultapher\"\u003e\u003ccode\u003e@​Voultapher\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/alexander-beedie\"\u003e\u003ccode\u003e@​alexander-beedie\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/azimafroozeh\"\u003e\u003ccode\u003e@​azimafroozeh\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cmdlineluser\"\u003e\u003ccode\u003e@​cmdlineluser\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/dsprenkels\"\u003e\u003ccode\u003e@​dsprenkels\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/hamdanal\"\u003e\u003ccode\u003e@​hamdanal\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/kdn36\"\u003e\u003ccode\u003e@​kdn36\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/nameexhaustion\"\u003e\u003ccode\u003e@​nameexhaustion\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/orlp\"\u003e\u003ccode\u003e@​orlp\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ritchie46\"\u003e\u003ccode\u003e@​ritchie46\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePython Polars 1.38.0\u003c/h2\u003e\n\u003ch2\u003e⚠️ Deprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eretries=n\u003c/code\u003e in favor of \u003ccode\u003estorage_options={\u0026quot;max_retries\u0026quot;: n}\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26155\"\u003e#26155\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 Performance improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable zero-copy object_store \u003ccode\u003eput\u003c/code\u003e upload for IPC sink (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26288\"\u003e#26288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve file schema's and metadata concurrently (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26325\"\u003e#26325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun elementwise CSEE for the streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26278\"\u003e#26278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable morsel splitting for fast-count on streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26245\"\u003e#26245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement streaming decompression for scan_ndjson and scan_lines (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26200\"\u003e#26200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove string slicing performance (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26206\"\u003e#26206\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/pola-rs/polars/commit/50a3bfbb4f663939a0868907ef1cc51c4288ce05\"\u003e\u003ccode\u003e50a3bfb\u003c/code\u003e\u003c/a\u003e Python Polars 1.38.1 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26472\"\u003e#26472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/420716860045b3d1e3fa59f7c4888719efe7c351\"\u003e\u003ccode\u003e4207168\u003c/code\u003e\u003c/a\u003e fix: Do not overwrite used names in cluster_with_columns pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26467\"\u003e#26467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/052e68fc47a7be9500c99da063eac41afa180449\"\u003e\u003ccode\u003e052e68f\u003c/code\u003e\u003c/a\u003e fix: Do not mark output of concat_str on multiple inputs as sorted (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26468\"\u003e#26468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/3832c8f82939d6564689ee14e403a1d76ce5fca6\"\u003e\u003ccode\u003e3832c8f\u003c/code\u003e\u003c/a\u003e refactor: Cleanup unused attributes in optimizer (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26464\"\u003e#26464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/a166aef2bef8563c7adea2cbf9c465721efa188f\"\u003e\u003ccode\u003ea166aef\u003c/code\u003e\u003c/a\u003e refactor: Use \u003ccode\u003eExpr::Display\u003c/code\u003e as catch all for IR - DSL asymmetry (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26471\"\u003e#26471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/d0ca22bf4f60f9f01cdbb4f09fcc1a66508c59d8\"\u003e\u003ccode\u003ed0ca22b\u003c/code\u003e\u003c/a\u003e fix: Fix CSV schema inference content line duplication bug (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26452\"\u003e#26452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/c4b5b1db2b5e66143b3e05ddefc13adb7595049e\"\u003e\u003ccode\u003ec4b5b1d\u003c/code\u003e\u003c/a\u003e fix: Fix InvalidOperationError using \u003ccode\u003escan_delta\u003c/code\u003e with filter (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26448\"\u003e#26448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/c0671246539906679742b5a03ba81fb95ff0a9c0\"\u003e\u003ccode\u003ec067124\u003c/code\u003e\u003c/a\u003e build: Bump time from 0.3.44 to 0.3.47 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26457\"\u003e#26457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/35b2edf2e333a08a9bb15f5ebf1b8b5efd4988f6\"\u003e\u003ccode\u003e35b2edf\u003c/code\u003e\u003c/a\u003e feat: Add get() to retrieve a byte from binary data (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26454\"\u003e#26454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/3a4528f96c49e05904b1f38e92db2239f55b9059\"\u003e\u003ccode\u003e3a4528f\u003c/code\u003e\u003c/a\u003e docs(python): Add \u003ccode\u003esink_delta\u003c/code\u003e to API reference (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26446\"\u003e#26446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pola-rs/polars/compare/py-1.37.1...py-1.38.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 19.0.1 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.0.html\"\u003ehttps://arrow.apache.org/release/23.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.0 RC2\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.0 RC2\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/22.0.0.html\"\u003ehttps://arrow.apache.org/release/22.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0 RC1\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 22.0.0 RC1\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 22.0.0 RC0\u003c/p\u003e\n\u003ch2\u003eApache Arrow 21.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/21.0.0.html\"\u003ehttps://arrow.apache.org/release/21.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 21.0.0 RC6\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 21.0.0 RC6\u003c/p\u003e\n\u003ch2\u003eApache Arrow 21.0.0 RC5\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 21.0.0 RC5\u003c/p\u003e\n\u003ch2\u003eApache Arrow 21.0.0 RC4\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 21.0.0 RC4\u003c/p\u003e\n\u003ch2\u003eApache Arrow 21.0.0 RC3\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 21.0.0 RC3\u003c/p\u003e\n\u003ch2\u003eApache Arrow 21.0.0 RC2\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 21.0.0 RC2\u003c/p\u003e\n\u003ch2\u003eApache Arrow 20.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/20.0.0.html\"\u003ehttps://arrow.apache.org/release/20.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 20.0.0 RC2\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 20.0.0 RC2\u003c/p\u003e\n\u003ch2\u003eApache Arrow 20.0.0 RC1\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 20.0.0 RC1\u003c/p\u003e\n\u003ch2\u003eApache Arrow 20.0.0 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 20.0.0 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-19.0.1...apache-arrow-23.0.1\"\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.12.0 to 2.13.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.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Deterministic alias selection when using validate_by_name 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/707\"\u003epydantic/pydantic-settings#707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deep merge functionality to config file sources by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for AWS Secrets Manager VersionId parameter by \u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: Return \u003ccode\u003eNone\u003c/code\u003e for inaccessible GCP Secret Manager secrets by \u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix for cli_kebab_case=\u0026quot;all\u0026quot; and CliImplicitFlag[bool] by \u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnpack type alisases when looking for \u003ccode\u003eNoDecode\u003c/code\u003e 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/695\"\u003epydantic/pydantic-settings#695\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCliToggleFlag and CliDualFlag 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/717\"\u003epydantic/pydantic-settings#717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for CLI duplicate enum field 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/722\"\u003epydantic/pydantic-settings#722\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efixed load nested config from env by \u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd non-Path files support (for example Traversable) and open files using Path.open method by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd one more traversable test by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/725\"\u003epydantic/pydantic-settings#725\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI fix fox external list args. 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/727\"\u003epydantic/pydantic-settings#727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: handle case-insensitive retrieval in GoogleSecretManagerSettingsSource by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/730\"\u003epydantic/pydantic-settings#730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI test fixes for help text formatting. 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/735\"\u003epydantic/pydantic-settings#735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid conflicts with the \u003ccode\u003eNAME\u003c/code\u003e environment variable in WSL by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: When restoring init kwargs, use deterministic order 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/746\"\u003epydantic/pydantic-settings#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd env_prefix_target by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/749\"\u003epydantic/pydantic-settings#749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e(default: …)\u003c/code\u003e in the help message for \u003ccode\u003eCliToggleFlag\u003c/code\u003e by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/740\"\u003epydantic/pydantic-settings#740\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for CLI serialize styles. 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/755\"\u003epydantic/pydantic-settings#755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for overriding default help on CLI internal parser. 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/758\"\u003epydantic/pydantic-settings#758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI format_help method 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/759\"\u003epydantic/pydantic-settings#759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(gcp): support SecretVersion annotation for per-field secret versioning by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/763\"\u003epydantic/pydantic-settings#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003esnake_case_conversion\u003c/code\u003e with \u003ccode\u003eenv_prefix\u003c/code\u003e for Azure Key Vault source by \u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Only override preferred_key when no value was found 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/767\"\u003epydantic/pydantic-settings#767\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/768\"\u003epydantic/pydantic-settings#768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI coerce numeric types. 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/769\"\u003epydantic/pydantic-settings#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Union Discriminator Choices in 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/764\"\u003epydantic/pydantic-settings#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) by \u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.13.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/777\"\u003epydantic/pydantic-settings#777\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/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\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.12.0...v2.13.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/e87d12df0f42f7f72a3eb6d830cfbfb1d68b4496\"\u003e\u003ccode\u003ee87d12d\u003c/code\u003e\u003c/a\u003e v2.13.1 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/acf8c14f5ec314799f5bd0d3f6a1591c4ed2ec97\"\u003e\u003ccode\u003eacf8c14\u003c/code\u003e\u003c/a\u003e Fix JSON decoding for parameterized PEP 695 type aliases (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/58b236a36473e01bfe42e5f75d39d46721e0593d\"\u003e\u003ccode\u003e58b236a\u003c/code\u003e\u003c/a\u003e Fix AttributeError with nested env vars for dict fields (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/785\"\u003e#785\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/786\"\u003e#786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4933f06402ed55e32bcdcefd6c8f59ffe1fefd24\"\u003e\u003ccode\u003e4933f06\u003c/code\u003e\u003c/a\u003e Fix CLI parsing error for set field types since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/787\"\u003e#787\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/bd0ebe6215cf215d716e33d833cc2589a1d00a17\"\u003e\u003ccode\u003ebd0ebe6\u003c/code\u003e\u003c/a\u003e Fix RecursionError with self-referential models in CliApp (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/783\"\u003e#783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/eb7840e9f59a7969b23afdbcc4e5081e037736d8\"\u003e\u003ccode\u003eeb7840e\u003c/code\u003e\u003c/a\u003e Fix regression for bool fields since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/784\"\u003e#784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/198e71cf0cd570501535de7ae93a70953150f073\"\u003e\u003ccode\u003e198e71c\u003c/code\u003e\u003c/a\u003e Prepare release 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/777\"\u003e#777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/de71e84057b63b251ec84883b5e2ae886f82084f\"\u003e\u003ccode\u003ede71e84\u003c/code\u003e\u003c/a\u003e Add nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/773\"\u003e#773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/0f8f951b89b137bd563ce74dac016ba2c4cdc7a2\"\u003e\u003ccode\u003e0f8f951\u003c/code\u003e\u003c/a\u003e CLI Union Discriminator Choices in Help (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/764\"\u003e#764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/ce9804c4620d38f0c3b3c1e3ebe10d934fd4ba2e\"\u003e\u003ccode\u003ece9804c\u003c/code\u003e\u003c/a\u003e CLI coerce numeric types. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/769\"\u003e#769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typer` from 0.15.4 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/fastapi/typer/releases\"\u003etyper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.1\u003c/h2\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Fix CI, do not attempt to build \u003ccode\u003etyper-slim\u003c/code\u003e, nor \u003ccode\u003etyper-cli\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1569\"\u003e#1569\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➖ Drop support for \u003ccode\u003etyper-slim\u003c/code\u003e and \u003ccode\u003etyper-cli\u003c/code\u003e, no more versions will be released, use only \u003ccode\u003etyper\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1568\"\u003e#1568\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 rich from 14.3.2 to 14.3.3. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1565\"\u003e#1565\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic-settings from 2.13.0 to 2.13.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1566\"\u003e#1566\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.1 to 0.15.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1567\"\u003e#1567\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.1 to 9.7.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1561\"\u003e#1561\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pillow from 11.3.0 to 12.1.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1550\"\u003e#1550\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pytest from 8.4.2 to 9.0.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1551\"\u003e#1551\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic-settings from 2.12.0 to 2.13.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1552\"\u003e#1552\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 types for Python 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1549\"\u003e#1549\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 internal scripts to migrate docs from Python 3.9 to 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1547\"\u003e#1547\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 ty from 0.0.16 to 0.0.17. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1544\"\u003e#1544\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for Python 3.9. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1546\"\u003e#1546\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.23.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eTYPER_USE_RICH\u003c/code\u003e parsing to allow disabling Rich completely. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1539\"\u003e#1539\u003c/a\u003e by \u003ca href=\"https://github.com/bckohan\"\u003e\u003ccode\u003e@​bckohan\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📝 Remove documentation pages that reference using Click directly. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1538\"\u003e#1538\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ty from 0.0.15 to 0.0.16. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1533\"\u003e#1533\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.23.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ When printing error tracebacks with Rich, default to not showing locals, which are sometimes verbose. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1072\"\u003e#1072\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 more explicit deprecation note in shell packages. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1534\"\u003e#1534\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump cryptography from 46.0.4 to 46.0.5. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1532\"\u003e#1532\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🔨 Tweak PDM hook script, remove unnecessary default. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1536\"\u003e#1536\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♻️ Simplify build setup scripts and configs for deprecated wrapper packages. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1535\"\u003e#1535\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.22.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/fastapi/typer/blob/master/docs/release-notes.md\"\u003etyper's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.1\u003c/h2\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Fix CI, do not attempt to build \u003ccode\u003etyper-slim\u003c/code\u003e, nor \u003ccode\u003etyper-cli\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1569\"\u003e#1569\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➖ Drop support for \u003ccode\u003etyper-slim\u003c/code\u003e and \u003ccode\u003etyper-cli\u003c/code\u003e, no more versions will be released, use only \u003ccode\u003etyper\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1568\"\u003e#1568\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 rich from 14.3.2 to 14.3.3. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1565\"\u003e#1565\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic-settings from 2.13.0 to 2.13.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1566\"\u003e#1566\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.1 to 0.15.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1567\"\u003e#1567\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.1 to 9.7.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1561\"\u003e#1561\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pillow from 11.3.0 to 12.1.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1550\"\u003e#1550\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pytest from 8.4.2 to 9.0.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1551\"\u003e#1551\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic-settings from 2.12.0 to 2.13.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1552\"\u003e#1552\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 types for Python 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1549\"\u003e#1549\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 internal scripts to migrate docs from Python 3.9 to 3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1547\"\u003e#1547\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 ty from 0.0.16 to 0.0.17. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1544\"\u003e#1544\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for Python 3.9. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1546\"\u003e#1546\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.23.2\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Monkeypatch console width to allow running \u003ccode\u003epytest\u003c/code\u003e directly. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1542\"\u003e#1542\u003c/a\u003e by \u003ca href=\"https://github.com/SwaatiR\"\u003e\u003ccode\u003e@​SwaatiR\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Run tests with lower bound uv sync, update minimum dependencies. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1526\"\u003e#1526\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.2 to 0.3.3. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1545\"\u003e#1545\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.0 to 0.15.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1541\"\u003e#1541\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.23.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eTYPER_USE_RICH\u003c/code\u003e parsing to allow disabling Rich completely. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1539\"\u003e#1539\u003c/a\u003e by \u003ca href=\"https://github.com/bckohan\"\u003e\u003ccode\u003e@​bckohan\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📝 Remove documentation pages that reference using Click directly. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1538\"\u003e#1538\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ty from 0.0.15 to 0.0.16. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1533\"\u003e#1533\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.23.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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/eaec8fae8a8ab39a64a20f39190f13400b639a22\"\u003e\u003ccode\u003eeaec8fa\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.24.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/c73cc2bd4a815cdc3ab092d7274a71dfc02f3727\"\u003e\u003ccode\u003ec73cc2b\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/6c6259c0faebd5dbca1e204bfe8a2b2233c669c6\"\u003e\u003ccode\u003e6c6259c\u003c/code\u003e\u003c/a\u003e 👷 Fix CI, do not attempt to build \u003ccode\u003etyper-slim\u003c/code\u003e, nor \u003ccode\u003etyper-cli\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1569\"\u003e#1569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/bc65ad883bf875e0f29661c0ebb08b243cde39cf\"\u003e\u003ccode\u003ebc65ad8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/3aedc0a4b45d19a403bf58e1236c2cfb503de222\"\u003e\u003ccode\u003e3aedc0a\u003c/code\u003e\u003c/a\u003e ➖ Drop support for \u003ccode\u003etyper-slim\u003c/code\u003e and \u003ccode\u003etyper-cli\u003c/code\u003e, no more versions will be rel...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/4b130204c20271d4af09a3b359664651fd741f35\"\u003e\u003ccode\u003e4b13020\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/19aaf0bebbd40a348999a0e88e8cba35c524e648\"\u003e\u003ccode\u003e19aaf0b\u003c/code\u003e\u003c/a\u003e ⬆ Bump rich from 14.3.2 to 14.3.3 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1565\"\u003e#1565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/0ece295e33709861e3f64715cb12d7fe9d638f0f\"\u003e\u003ccode\u003e0ece295\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/833c005fac69c33959a86b4530c5aabe211d29de\"\u003e\u003ccode\u003e833c005\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/64c0dcb8e0af40ba5356ad00dc1979ca2d0689e0\"\u003e\u003ccode\u003e64c0dcb\u003c/code\u003e\u003c/a\u003e ⬆ Bump pydantic-settings from 2.13.0 to 2.13.1 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1566\"\u003e#1566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/typer/compare/0.15.4...0.24.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.3.1 to 14.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe infinite Release\u003c/h2\u003e\n\u003cp\u003eFixed a infinite loop in split_graphemes\u003c/p\u003e\n\u003ch2\u003e[14.3.3] - 2026-02-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed infinite loop with \u003ccode\u003ecells.split_graphemes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4006\"\u003eTextualize/rich#4006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe ZWJy release\u003c/h2\u003e\n\u003cp\u003eA fix for \u003ccode\u003ecell_len\u003c/code\u003e edge cases\u003c/p\u003e\n\u003ch2\u003e[14.3.2] - 2026-02-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed solo ZWJ crash \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed control codes reporting width of 1 \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.3.3] - 2026-02-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed infinite loop with \u003ccode\u003ecells.split_graphemes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4006\"\u003eTextualize/rich#4006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.3.2] - 2026-02-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed solo ZWJ crash \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed control codes reporting width of 1 \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3953\"\u003eTextualize/rich#3953\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/ce0118819d172d134507bcf5982d3faf82bbc43e\"\u003e\u003ccode\u003ece01188\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4008\"\u003e#4008\u003c/a\u003e from Textualize/bump1433\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/14a47c928241fe5cbf2f1adab0bb61fd1db3472f\"\u003e\u003ccode\u003e14a47c9\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/f54bfe062865187fe3bc733769dcd990a5a0ffe3\"\u003e\u003ccode\u003ef54bfe0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4007\"\u003e#4007\u003c/a\u003e from Textualize/copilot/sub-pr-4006\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/7338cb9dafd0d0e916585f191ae505b3e602bb51\"\u003e\u003ccode\u003e7338cb9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4006\"\u003e#4006\u003c/a\u003e from Textualize/fix-grapheme-stuck\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/905b397deb6b5ed59dfd80fa499c90e215f309c8\"\u003e\u003ccode\u003e905b397\u003c/code\u003e\u003c/a\u003e Update tests/test_cells.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/b031dca1d74f1f82a02d71e771b116ec4f9ad6c8\"\u003e\u003ccode\u003eb031dca\u003c/code\u003e\u003c/a\u003e Update tests/test_cells.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/f07a3fc5f5f4d5bfc0152cca4b103369934cd8b6\"\u003e\u003ccode\u003ef07a3fc\u003c/code\u003e\u003c/a\u003e Add regression tests for VS16 after zero-width chars in split_graphemes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/b618ccc7e310a92e555d6ec38a7f390b37192ef3\"\u003e\u003ccode\u003eb618ccc\u003c/code\u003e\u003c/a\u003e spelling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/378c34bd43eb4c9779ce1f7ff5dea376b34c91c5\"\u003e\u003ccode\u003e378c34b\u003c/code\u003e\u003c/a\u003e Initial plan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/87e7ca27d0f8047e2d22c6ee9f7cf2c59e4c96af\"\u003e\u003ccode\u003e87e7ca2\u003c/code\u003e\u003c/a\u003e refinements, and tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.3.1...v14.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/childmindresearch/wristpy/pull/286","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/childmindresearch%2Fwristpy/issues/286","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/286/packages"}},{"old_version":"22.0.0","new_version":"23.0.1","update_type":"major","path":null,"pr_created_at":"2026-03-01T00:11:56.000Z","version_change":"22.0.0 → 23.0.1","issue":{"uuid":"4005759493","node_id":"PR_kwDOOR1sL87HDd1H","number":23,"state":"open","title":"Bump pyarrow from 22.0.0 to 23.0.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-01T00:11:56.000Z","updated_at":"2026-03-01T00:14:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pyarrow","old_version":"22.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pyarrow](https://github.com/apache/arrow) from 22.0.0 to 23.0.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.0.html\"\u003ehttps://arrow.apache.org/release/23.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.0 RC2\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.0 RC2\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-22.0.0...apache-arrow-23.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyarrow\u0026package-manager=pip\u0026previous-version=22.0.0\u0026new-version=23.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/sechlol/exotools/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sechlol%2Fexotools/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"}},{"old_version":"23.0.0","new_version":"23.0.1","update_type":"patch","path":null,"pr_created_at":"2026-02-23T15:33:15.000Z","version_change":"23.0.0 → 23.0.1","issue":{"uuid":"3978794611","node_id":"PR_kwDOGLac887Frf6P","number":19,"state":"open","title":"deps(deps): bump the minor-and-patch group with 10 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-23T15:33:15.000Z","updated_at":"2026-02-23T15:33:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"minor-and-patch","update_count":10,"packages":[{"name":"scipy","old_version":"1.17.0","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"pyarrow","old_version":"23.0.0","new_version":"23.0.1","repository_url":"https://github.com/apache/arrow"},{"name":"selenium","old_version":"4.40.0","new_version":"4.41.0","repository_url":"https://github.com/SeleniumHQ/Selenium"},{"name":"google-api-python-client","old_version":"2.189.0","new_version":"2.190.0","repository_url":"https://github.com/googleapis/google-api-python-client"},{"name":"nautilus-trader","old_version":"1.222.0","new_version":"1.223.0","repository_url":"https://github.com/nautechsystems/nautilus_trader"},{"name":"ruff","old_version":"0.15.0","new_version":"0.15.2","repository_url":"https://github.com/astral-sh/ruff"},{"name":"google-api-python-client-stubs","old_version":"1.31.0","new_version":"1.32.0"},{"name":"mkdocs-material","old_version":"9.7.1","new_version":"9.7.2","repository_url":"https://github.com/squidfunk/mkdocs-material"},{"name":"fastapi","old_version":"0.129.0","new_version":"0.131.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"pydantic-settings","old_version":"2.13.0","new_version":"2.13.1","repository_url":"https://github.com/pydantic/pydantic-settings"}],"path":null,"ecosystem":"pip"},"body":"Bumps the minor-and-patch group with 10 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [scipy](https://github.com/scipy/scipy) | `1.17.0` | `1.17.1` |\n| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `23.0.1` |\n| [selenium](https://github.com/SeleniumHQ/Selenium) | `4.40.0` | `4.41.0` |\n| [google-api-python-client](https://github.com/googleapis/google-api-python-client) | `2.189.0` | `2.190.0` |\n| [nautilus-trader](https://github.com/nautechsystems/nautilus_trader) | `1.222.0` | `1.223.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.0` | `0.15.2` |\n| google-api-python-client-stubs | `1.31.0` | `1.32.0` |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.7.1` | `9.7.2` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.129.0` | `0.131.0` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.13.0` | `2.13.1` |\n\nUpdates `scipy` from 1.17.0 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\u003c/blockquote\u003e\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.17.0...v1.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 23.0.0 to 23.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.1\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.1.html\"\u003ehttps://arrow.apache.org/release/23.0.1.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.1 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.1 RC0\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/apache/arrow/commit/82a374e5f3de5b744f26591e6cd96de6349c76d9\"\u003e\u003ccode\u003e82a374e\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c1ae37c4a597f466b1806e65a9e011be1060dfc5\"\u003e\u003ccode\u003ec1ae37c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8f6e55736f60f1f95aee1e8765c6b75ad9589111\"\u003e\u003ccode\u003e8f6e557\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/4e16a1aeed83a65e6b49556c2fed8e9061cdf980\"\u003e\u003ccode\u003e4e16a1a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49159\"\u003eGH-49159\u003c/a\u003e: [C++][Gandiva] Detect overflow in repeat() (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49160\"\u003e#49160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/985621dbfcf3fd2061889e43c50b59825df84f3f\"\u003e\u003ccode\u003e985621d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48817\"\u003eGH-48817\u003c/a\u003e [R][C++] Bump C++20 in R build infrastructure (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48819\"\u003e#48819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1bea06ad4e14d75dd97a78a0148cd9cf6f4df0bc\"\u003e\u003ccode\u003e1bea06a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49024\"\u003eGH-49024\u003c/a\u003e: [CI] Update Debian version in \u003ccode\u003e.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49032\"\u003e#49032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/147bcd6d8f3fef05dd06968d3b60c17721c60334\"\u003e\u003ccode\u003e147bcd6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49156\"\u003eGH-49156\u003c/a\u003e: [Python] Require GIL for string comparison (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49161\"\u003e#49161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e4f922b1621b6c833f583cf26500f115ab5bc483\"\u003e\u003ccode\u003ee4f922b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49138\"\u003eGH-49138\u003c/a\u003e: [Packaging][Python] Remove nightly cython install from manylinux wh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9376e4721b81bad9fe3fe840926a3283f95ee30\"\u003e\u003ccode\u003ef9376e4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49003\"\u003eGH-49003\u003c/a\u003e: [C++] Don't consider \u003ccode\u003eout_of_range\u003c/code\u003e an error in float parsing (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49095\"\u003e#49095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/ab2c0ad6b23d05d5f77fc8a34d5a1c4baaacb0a4\"\u003e\u003ccode\u003eab2c0ad\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49044\"\u003eGH-49044\u003c/a\u003e: [CI][Python] Fix test_download_tzdata_on_windows by adding required...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-23.0.0...apache-arrow-23.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `selenium` from 4.40.0 to 4.41.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/SeleniumHQ/Selenium/releases\"\u003eselenium's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eSelenium 4.41.0\u003c/h2\u003e\n\u003ch2\u003eDetailed Changelogs by Component\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG\"\u003eJava\u003c/a\u003e\u003c/strong\u003e     |    \u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES\"\u003ePython\u003c/a\u003e\u003c/strong\u003e     |    \u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG\"\u003eDotNet\u003c/a\u003e\u003c/strong\u003e     |    \u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES\"\u003eRuby\u003c/a\u003e\u003c/strong\u003e     |    \u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md\"\u003eJavaScript\u003c/a\u003e\u003c/strong\u003e\n\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e[py] Remove type stub packages from runtime dependencies by \u003ca href=\"https://github.com/cgoldberg\"\u003e\u003ccode\u003e@​cgoldberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16945\"\u003eSeleniumHQ/selenium#16945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCanonical approach to supporting AI agent directions by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16735\"\u003eSeleniumHQ/selenium#16735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Pre-release workflow improvements by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16946\"\u003eSeleniumHQ/selenium#16946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Prevent nightly releases during release window by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16948\"\u003eSeleniumHQ/selenium#16948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Fix Bazel NuGet push implementation by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16950\"\u003eSeleniumHQ/selenium#16950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Release workflow improvements by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16947\"\u003eSeleniumHQ/selenium#16947\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Fix Bazel JSDocs implementation by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16949\"\u003eSeleniumHQ/selenium#16949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Create config files from environment variables for publishing by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16951\"\u003eSeleniumHQ/selenium#16951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[js] create task to update dependencies by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16942\"\u003eSeleniumHQ/selenium#16942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Java release improvements and build verification tasks by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16952\"\u003eSeleniumHQ/selenium#16952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[py] integrate mypy type checking with Bazel by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16958\"\u003eSeleniumHQ/selenium#16958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Migrate workflows to use centralized bazel.yml by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16955\"\u003eSeleniumHQ/selenium#16955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [bidi] Simplify context aware command options by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16954\"\u003eSeleniumHQ/selenium#16954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] simplify release.yml: remove draft, build once during publish by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16960\"\u003eSeleniumHQ/selenium#16960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [bidi] AOT safe json converter for \u003ccode\u003eInput.Origin\u003c/code\u003e class by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16962\"\u003eSeleniumHQ/selenium#16962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [bidi] AOT safe json converter for \u003ccode\u003eOptionalConverter\u003c/code\u003e by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16963\"\u003eSeleniumHQ/selenium#16963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [bidi] Null guard for event handlers by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16967\"\u003eSeleniumHQ/selenium#16967\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[java] Improve error message for died grid by \u003ca href=\"https://github.com/asolntsev\"\u003e\u003ccode\u003e@​asolntsev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16938\"\u003eSeleniumHQ/selenium#16938\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] combine pre-release dependency updates by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16973\"\u003eSeleniumHQ/selenium#16973\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[rb] remove stored atoms these get generated by build by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16971\"\u003eSeleniumHQ/selenium#16971\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [bidi] Unignore some internal tests by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16968\"\u003eSeleniumHQ/selenium#16968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] run ruff on python files outside py directory by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16957\"\u003eSeleniumHQ/selenium#16957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[py] Fix return type hint for \u003ccode\u003ealert_is_present\u003c/code\u003e by \u003ca href=\"https://github.com/nemowang2003\"\u003e\u003ccode\u003e@​nemowang2003\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16975\"\u003eSeleniumHQ/selenium#16975\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace hardcoded bazel-selenium references with dynamic path resolution by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16976\"\u003eSeleniumHQ/selenium#16976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNo More CrazyFun! by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16972\"\u003eSeleniumHQ/selenium#16972\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Remove update_gh_pages in favor of CI workflow by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16977\"\u003eSeleniumHQ/selenium#16977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Remove legacy rake helpers and unused code by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16978\"\u003eSeleniumHQ/selenium#16978\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[py] make bazel test target names consistent with other languages by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16969\"\u003eSeleniumHQ/selenium#16969\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [bidi] Fix namespace for Permissions module by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16981\"\u003eSeleniumHQ/selenium#16981\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [bidi] Hide Broker as internal implementation by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16982\"\u003eSeleniumHQ/selenium#16982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [bidi] Refactor BiDi module initialization to pass BiDi explicitly by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16983\"\u003eSeleniumHQ/selenium#16983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Add DocFX updater script by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16980\"\u003eSeleniumHQ/selenium#16980\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] add reusable commit-changes.yml workflow by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16965\"\u003eSeleniumHQ/selenium#16965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[java] fix JSON parsing of numbers with exponent by \u003ca href=\"https://github.com/joerg1985\"\u003e\u003ccode\u003e@​joerg1985\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16961\"\u003eSeleniumHQ/selenium#16961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Skip macOS-only archive rules on unsupported platforms by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16985\"\u003eSeleniumHQ/selenium#16985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Split Rakefile into per-language task files by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16979\"\u003eSeleniumHQ/selenium#16979\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement fast bazel target lookup with index caching by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16974\"\u003eSeleniumHQ/selenium#16974\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Remove git.add() calls from rake tasks by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/16994\"\u003eSeleniumHQ/selenium#16994\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/SeleniumHQ/selenium/commit/9fc754f90a9725756933b8a1788d5a583d7f509f\"\u003e\u003ccode\u003e9fc754f\u003c/code\u003e\u003c/a\u003e [build] Prepare for release of selenium-4.41.0 (\u003ca href=\"https://redirect.github.com/SeleniumHQ/Selenium/issues/17098\"\u003e#17098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/d5f22eca5fe9b5574789315f2aeb8d6fde470e08\"\u003e\u003ccode\u003ed5f22ec\u003c/code\u003e\u003c/a\u003e [java] mark tests passing in latest chrome beta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/89c59938eca2135cc175e00558ae1adf7bc270d9\"\u003e\u003ccode\u003e89c5993\u003c/code\u003e\u003c/a\u003e [build] fix auto-updating of browsers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/4592f1b54fbb6e13c3239b59467ea97e154ac4c0\"\u003e\u003ccode\u003e4592f1b\u003c/code\u003e\u003c/a\u003e [build] ci-python jobs not currently matching by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/755d44cc09c46708563ec2f4fd3d05d9d1e6efe6\"\u003e\u003ccode\u003e755d44c\u003c/code\u003e\u003c/a\u003e [build] put cdp version support in changelogs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/9aff5c7c2e75b300051c3baef62b7eba7c2e0ba5\"\u003e\u003ccode\u003e9aff5c7\u003c/code\u003e\u003c/a\u003e [build] cannot invoke a rake task twice by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/3a680a3f4fb957015a3e4634cacf8e0a235d85ec\"\u003e\u003ccode\u003e3a680a3\u003c/code\u003e\u003c/a\u003e [build] ignore the staging branch for the PR and apply all patches in order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/20de9b9c3d073956a7a511174c800a8c4a38493c\"\u003e\u003ccode\u003e20de9b9\u003c/code\u003e\u003c/a\u003e [build] stage changes to an ephemeral staging branch since not all updates ar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/aac9a2825271b5fef96aa3b0c7b4792b76a46e62\"\u003e\u003ccode\u003eaac9a28\u003c/code\u003e\u003c/a\u003e [py] Update test to check it's an integer rather than a value (\u003ca href=\"https://redirect.github.com/SeleniumHQ/Selenium/issues/17114\"\u003e#17114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/02ec15f16d968801e6778f47312619629bd5e7e5\"\u003e\u003ccode\u003e02ec15f\u003c/code\u003e\u003c/a\u003e [rb] Update dependencies (\u003ca href=\"https://redirect.github.com/SeleniumHQ/Selenium/issues/17111\"\u003e#17111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/SeleniumHQ/Selenium/compare/selenium-4.40.0...selenium-4.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-api-python-client` from 2.189.0 to 2.190.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-api-python-client/releases\"\u003egoogle-api-python-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.190.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/compare/v2.189.0...v2.190.0\"\u003e2.190.0\u003c/a\u003e (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eaiplatform:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/03cd19c43da944793730a26181730fad340bdb78\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/03cd19c43da944793730a26181730fad340bdb78\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ealloydb:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/608b32804ad097b8a479edd988a3f84749062445\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/608b32804ad097b8a479edd988a3f84749062445\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eandroidpublisher:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/ac63ab7a79e7cdc76b0d8f441d91f1267406cd93\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/ac63ab7a79e7cdc76b0d8f441d91f1267406cd93\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapigee:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/e5a6b07d4a8958e2f8cf38e9ae8458e5d4b26432\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/e5a6b07d4a8958e2f8cf38e9ae8458e5d4b26432\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eappengine:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/ba7f4df4f29c75d89a9ca6da872f1dd2f17668fe\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/ba7f4df4f29c75d89a9ca6da872f1dd2f17668fe\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclouddeploy:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/693cde3277895cdf2d2cc8acd2d226a355475df8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/693cde3277895cdf2d2cc8acd2d226a355475df8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloudkms:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/5bc1696640a6e554dcd3514670d2f0b7e6233b0a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/5bc1696640a6e554dcd3514670d2f0b7e6233b0a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econnectors:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/668955cf54878fbc26dcbfe0b02f0a3c742252c3\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/668955cf54878fbc26dcbfe0b02f0a3c742252c3\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econtactcenterinsights:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/44dac76832a88a9c8ff164e2171c68709852d890\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/44dac76832a88a9c8ff164e2171c68709852d890\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econtaineranalysis:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/817b1f34dbdda7b560d207211e77f2df864a4cf7\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/817b1f34dbdda7b560d207211e77f2df864a4cf7\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edataflow:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/3c9a19f785106debf72d7a084fce3f3074abe3bd\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/3c9a19f785106debf72d7a084fce3f3074abe3bd\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatafusion:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/b7b17f87083c6855ee2e24fe89b3fc4af9c30b83\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/b7b17f87083c6855ee2e24fe89b3fc4af9c30b83\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatalabeling:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/6c8635ad88bb9ebab23452eafc7f422d33cc3ea9\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/6c8635ad88bb9ebab23452eafc7f422d33cc3ea9\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatalineage:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/b0d16418a27cbdf8a64cd3f11ecc223f78c213aa\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/b0d16418a27cbdf8a64cd3f11ecc223f78c213aa\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ediscoveryengine:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/aa0227ef033d52476413d94ebdb1b3f3f91fa1d8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/aa0227ef033d52476413d94ebdb1b3f3f91fa1d8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edisplayvideo:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/8ab2268c8269d972fc28563e1e94b5972e400c97\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/8ab2268c8269d972fc28563e1e94b5972e400c97\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edocumentai:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/1740f1e8a8ba82bd3a9700b0659d8503664416f6\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/1740f1e8a8ba82bd3a9700b0659d8503664416f6\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edomains:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/68046d5fb45a88614a852b1ee6a796e2a35e391e\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/68046d5fb45a88614a852b1ee6a796e2a35e391e\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeventarc:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/4b46b8b6cb10cc16b69e55b954cb8da84fc89d0a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/4b46b8b6cb10cc16b69e55b954cb8da84fc89d0a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efcm:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/3846cb0f285d84f13df9a5721b115f6b1134ba92\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/3846cb0f285d84f13df9a5721b115f6b1134ba92\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efirebasedataconnect:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/6be57aaa9e4a0c4637329fc45865b4d496b7bb83\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/6be57aaa9e4a0c4637329fc45865b4d496b7bb83\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003egkebackup:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/dae76d0fc170b932414277c9de14a0e29943f536\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/dae76d0fc170b932414277c9de14a0e29943f536\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ekmsinventory:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/cb6e8f88a8e55f25ac38b8027b48a6b8cac61962\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/cb6e8f88a8e55f25ac38b8027b48a6b8cac61962\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elogging:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/90ec37070b66fb97436cea671922bdbdb531efd8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/90ec37070b66fb97436cea671922bdbdb531efd8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emanagedidentities:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/eeb29f4108489f86cbe6573ca34fc571d7b0c978\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/eeb29f4108489f86cbe6573ca34fc571d7b0c978\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emerchantapi:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/e61b837809d0f203f4ab6e426da02185ef014704\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/e61b837809d0f203f4ab6e426da02185ef014704\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003enetworkmanagement:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/c8976bf6a8c2156b03d534e365c108409380aabc\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/c8976bf6a8c2156b03d534e365c108409380aabc\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eondemandscanning:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/a2e057b6deaed06d63d3e2122bd7232b4d83eb00\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/a2e057b6deaed06d63d3e2122bd7232b4d83eb00\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eredis:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/cc5c15667f5d08cb9a2022de821cda9c2fc7b9db\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/cc5c15667f5d08cb9a2022de821cda9c2fc7b9db\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esaasservicemgmt:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/415b7fa81ff7b344ecbbf37c4c46e7752171dc33\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/415b7fa81ff7b344ecbbf37c4c46e7752171dc33\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esecretmanager:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/9295ba11b447bbf0259205017e158e3589bd7717\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/9295ba11b447bbf0259205017e158e3589bd7717\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esecurityposture:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/118d055db0b6ff99594dd0c8f049c4df5e77b128\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/118d055db0b6ff99594dd0c8f049c4df5e77b128\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003estorage:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/d17403e9c43e3e8a1ee6cfec34c5b46857b2cd9e\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/d17403e9c43e3e8a1ee6cfec34c5b46857b2cd9e\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ethreatintelligence:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/aa972d86579da1061e0ad37e47e7d083536789cf\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/aa972d86579da1061e0ad37e47e7d083536789cf\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewalletobjects:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/46937b6d2f50039c0349d0a986b98d5e70bc8f0f\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/46937b6d2f50039c0349d0a986b98d5e70bc8f0f\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eyoutube:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/a1a7027c43593f361a56c42596dcbcc263c6929a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/a1a7027c43593f361a56c42596dcbcc263c6929a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edatastore:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/f1c9530bf6a6008125afdfaca224c28770aa0148\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/f1c9530bf6a6008125afdfaca224c28770aa0148\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efirestore:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/f0388b2025852aa6c16c546156a3af242ee78adb\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/f0388b2025852aa6c16c546156a3af242ee78adb\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003erun:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/72d5e943751a6051358cbaffbb345c8bc2f12ad5\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/72d5e943751a6051358cbaffbb345c8bc2f12ad5\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e49fd63f\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/googleapis/google-api-python-client/commit/7c2030732a0b3e9e75e575b93b0275d170924880\"\u003e\u003ccode\u003e7c20307\u003c/code\u003e\u003c/a\u003e chore(main): release 2.190.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2718\"\u003e#2718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/49fd63fb81660ea87671a2b3e13feb01d27f7cf7\"\u003e\u003ccode\u003e49fd63f\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2717\"\u003e#2717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/9071631e9d20162399010b3e5244db7899d19bb8\"\u003e\u003ccode\u003e9071631\u003c/code\u003e\u003c/a\u003e chore: replace old python teams with cloud-sdk-python-team (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/google-api-python-client/compare/v2.189.0...v2.190.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nautilus-trader` from 1.222.0 to 1.223.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nautechsystems/nautilus_trader/releases\"\u003enautilus-trader's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eNautilusTrader 1.223.0 Beta\u003c/h1\u003e\n\u003cp\u003eReleased on 21st February 2026 (UTC).\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ebulk_read_batch_size\u003c/code\u003e option to \u003ccode\u003eCacheConfig\u003c/code\u003e for batched Redis bulk reads, thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded sandbox execution adapter in Rust\u003c/li\u003e\n\u003cli\u003eAdded multi-account execution support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3194\"\u003e#3194\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Nasdaq ITCH 5.0 parser\u003c/li\u003e\n\u003cli\u003eAdded grid market maker example strategy in Rust\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eOrderBookDeltas\u003c/code\u003e historical request support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3438\"\u003e#3438\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emarket_exit()\u003c/code\u003e method for \u003ccode\u003eStrategy\u003c/code\u003e with configurable \u003ccode\u003emarket_exit_time_in_force\u003c/code\u003e and \u003ccode\u003emarket_exit_reduce_only\u003c/code\u003e options (supports venues requiring IOC for market orders)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emanage_stop\u003c/code\u003e config option to \u003ccode\u003eStrategyConfig\u003c/code\u003e for automatic market exit on stop\u003c/li\u003e\n\u003cli\u003eAdded matching engine \u003ccode\u003equeue_position\u003c/code\u003e tracking heuristic for backtests\u003c/li\u003e\n\u003cli\u003eAdded matching engine trade consumption seeding for L2/L3 book backtests\u003c/li\u003e\n\u003cli\u003eAdded tracing subscriber for external Rust library logs (\u003ccode\u003euse_tracing=True\u003c/code\u003e in \u003ccode\u003eLoggingConfig\u003c/code\u003e, filter with \u003ccode\u003eRUST_LOG\u003c/code\u003e env var)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003euse_market_order_acks\u003c/code\u003e venue config option to generate \u003ccode\u003eOrderAccepted\u003c/code\u003e events for market orders before filling (mimics behavior of venues like Binance)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eoto_trigger_mode\u003c/code\u003e venue config option to control whether OTO child orders activate on partial fills (PARTIAL) or only after full fill (FULL) (default PARTIAL) (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3454\"\u003e#3454\u003c/a\u003e), thanks \u003ca href=\"https://github.com/godnight10061\"\u003e\u003ccode\u003e@​godnight10061\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequest_funding_rates\u003c/code\u003e and \u003ccode\u003eFundingRateUpdate\u003c/code\u003e Arrow serialization (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3467\"\u003e#3467\u003c/a\u003e), thanks \u003ca href=\"https://github.com/dxwil\"\u003e\u003ccode\u003e@​dxwil\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eoptimize_file_loading\u003c/code\u003e as BacktestDataConfig parameter (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3518\"\u003e#3518\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ebulk_read_batch_size\u003c/code\u003e option to \u003ccode\u003eCacheConfig\u003c/code\u003e for batched Redis bulk reads (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3535\"\u003e#3535\u003c/a\u003e), thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ePerpetualContract\u003c/code\u003e instrument for asset-class agnostic perpetual swaps\u003c/li\u003e\n\u003cli\u003eAdded Ichimoku Cloud indicator (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3552\"\u003e#3552\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Betfair RCM parsing for TPD race data\u003c/li\u003e\n\u003cli\u003eAdded Betfair race stream subscription via \u003ccode\u003esubscribe_race_data\u003c/code\u003e config\u003c/li\u003e\n\u003cli\u003eAdded Betfair market version price protection for orders\u003c/li\u003e\n\u003cli\u003eAdded Betfair \u003ccode\u003eBetfairOrderVoided\u003c/code\u003e custom data type for VAR voids\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eBetfairOrderVoided\u003c/code\u003e custom data type for VAR voids\u003c/li\u003e\n\u003cli\u003eAdded Binance \u003ccode\u003eBinanceEnvironment\u003c/code\u003e enum with \u003ccode\u003eLIVE\u003c/code\u003e, \u003ccode\u003eTESTNET\u003c/code\u003e, \u003ccode\u003eDEMO\u003c/code\u003e variants for explicit environment selection\u003c/li\u003e\n\u003cli\u003eAdded Binance \u003ccode\u003eenvironment\u003c/code\u003e config field to \u003ccode\u003eBinanceDataClientConfig\u003c/code\u003e and \u003ccode\u003eBinanceExecClientConfig\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdded Binance Demo environment support with \u003ccode\u003eBINANCE_DEMO_API_KEY\u003c/code\u003e/\u003ccode\u003eBINANCE_DEMO_API_SECRET\u003c/code\u003e env vars\u003c/li\u003e\n\u003cli\u003eAdded BitMEX trailing stop support\u003c/li\u003e\n\u003cli\u003eAdded BitMEX pegged order (BBO) support via params\u003c/li\u003e\n\u003cli\u003eAdded Bybit mark price subscriptions support\u003c/li\u003e\n\u003cli\u003eAdded Bybit index price subscriptions support\u003c/li\u003e\n\u003cli\u003eAdded Databento bulk subscription and historical request support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3490\"\u003e#3490\u003c/a\u003e), thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Databento support for conversion of OPRA venues (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3605\"\u003e#3605\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Interactive Brokers subscribe index price functionality (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3514\"\u003e#3514\u003c/a\u003e), thanks \u003ca href=\"https://github.com/Murph24\"\u003e\u003ccode\u003e@​Murph24\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Interactive Brokers \u003ccode\u003eTotalCashValue\u003c/code\u003e to account summary \u003ccode\u003einfo\u003c/code\u003e dict, exposing actual cash balance (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3567\"\u003e#3567\u003c/a\u003e), thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Interactive Brokers \u003ccode\u003erequest_timeout_secs\u003c/code\u003e config to \u003ccode\u003eInteractiveBrokersExecClientConfig\u003c/code\u003e and consolidated all IB request timeouts into a single configurable value (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3602\"\u003e#3602\u003c/a\u003e), thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded OKX batch cancel support for conditional (algo) orders\u003c/li\u003e\n\u003cli\u003eAdded Polymarket data loader event-level API support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3484\"\u003e#3484\u003c/a\u003e), thanks \u003ca href=\"https://github.com/jsemldonado\"\u003e\u003ccode\u003e@​jsemldonado\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Polymarket \u003ccode\u003eevent_slug_builder\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3501\"\u003e#3501\u003c/a\u003e), thanks \u003ca href=\"https://github.com/jsemldonado\"\u003e\u003ccode\u003e@​jsemldonado\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Polymarket batch order support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3506\"\u003e#3506\u003c/a\u003e), thanks \u003ca href=\"https://github.com/loafer-19\"\u003e\u003ccode\u003e@​loafer-19\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Tardis data client with factory in Rust\u003c/li\u003e\n\u003cli\u003eImproved tearsheet with dynamic Nautilus version and refined run info table (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3396\"\u003e#3396\u003c/a\u003e), thanks \u003ca href=\"https://github.com/KaulSe\"\u003e\u003ccode\u003e@​KaulSe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved dYdX v3 (legacy) Python adapter (the v3 exchange was decommissioned at end of 2024)\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003edydx\u003c/code\u003e optional install extra (the v4 Rust-backed adapter has no additional Python dependencies)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/nautechsystems/nautilus_trader/blob/develop/RELEASES.md\"\u003enautilus-trader's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eNautilusTrader 1.223.0 Beta\u003c/h1\u003e\n\u003cp\u003eReleased on 21st February 2026 (UTC).\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ebulk_read_batch_size\u003c/code\u003e option to \u003ccode\u003eCacheConfig\u003c/code\u003e for batched Redis bulk reads, thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded sandbox execution adapter in Rust\u003c/li\u003e\n\u003cli\u003eAdded multi-account execution support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3194\"\u003e#3194\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Nasdaq ITCH 5.0 parser\u003c/li\u003e\n\u003cli\u003eAdded grid market maker example strategy in Rust\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eOrderBookDeltas\u003c/code\u003e historical request support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3438\"\u003e#3438\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emarket_exit()\u003c/code\u003e method for \u003ccode\u003eStrategy\u003c/code\u003e with configurable \u003ccode\u003emarket_exit_time_in_force\u003c/code\u003e and \u003ccode\u003emarket_exit_reduce_only\u003c/code\u003e options (supports venues requiring IOC for market orders)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emanage_stop\u003c/code\u003e config option to \u003ccode\u003eStrategyConfig\u003c/code\u003e for automatic market exit on stop\u003c/li\u003e\n\u003cli\u003eAdded matching engine \u003ccode\u003equeue_position\u003c/code\u003e tracking heuristic for backtests\u003c/li\u003e\n\u003cli\u003eAdded matching engine trade consumption seeding for L2/L3 book backtests\u003c/li\u003e\n\u003cli\u003eAdded tracing subscriber for external Rust library logs (\u003ccode\u003euse_tracing=True\u003c/code\u003e in \u003ccode\u003eLoggingConfig\u003c/code\u003e, filter with \u003ccode\u003eRUST_LOG\u003c/code\u003e env var)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003euse_market_order_acks\u003c/code\u003e venue config option to generate \u003ccode\u003eOrderAccepted\u003c/code\u003e events for market orders before filling (mimics behavior of venues like Binance)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eoto_trigger_mode\u003c/code\u003e venue config option to control whether OTO child orders activate on partial fills (PARTIAL) or only after full fill (FULL) (default PARTIAL) (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3454\"\u003e#3454\u003c/a\u003e), thanks \u003ca href=\"https://github.com/godnight10061\"\u003e\u003ccode\u003e@​godnight10061\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequest_funding_rates\u003c/code\u003e and \u003ccode\u003eFundingRateUpdate\u003c/code\u003e Arrow serialization (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3467\"\u003e#3467\u003c/a\u003e), thanks \u003ca href=\"https://github.com/dxwil\"\u003e\u003ccode\u003e@​dxwil\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eoptimize_file_loading\u003c/code\u003e as BacktestDataConfig parameter (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3518\"\u003e#3518\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ebulk_read_batch_size\u003c/code\u003e option to \u003ccode\u003eCacheConfig\u003c/code\u003e for batched Redis bulk reads (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3535\"\u003e#3535\u003c/a\u003e), thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ePerpetualContract\u003c/code\u003e instrument for asset-class agnostic perpetual swaps\u003c/li\u003e\n\u003cli\u003eAdded Ichimoku Cloud indicator (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3552\"\u003e#3552\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Betfair RCM parsing for TPD race data\u003c/li\u003e\n\u003cli\u003eAdded Betfair race stream subscription via \u003ccode\u003esubscribe_race_data\u003c/code\u003e config\u003c/li\u003e\n\u003cli\u003eAdded Betfair market version price protection for orders\u003c/li\u003e\n\u003cli\u003eAdded Betfair \u003ccode\u003eBetfairOrderVoided\u003c/code\u003e custom data type for VAR voids\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eBetfairOrderVoided\u003c/code\u003e custom data type for VAR voids\u003c/li\u003e\n\u003cli\u003eAdded Binance \u003ccode\u003eBinanceEnvironment\u003c/code\u003e enum with \u003ccode\u003eLIVE\u003c/code\u003e, \u003ccode\u003eTESTNET\u003c/code\u003e, \u003ccode\u003eDEMO\u003c/code\u003e variants for explicit environment selection\u003c/li\u003e\n\u003cli\u003eAdded Binance \u003ccode\u003eenvironment\u003c/code\u003e config field to \u003ccode\u003eBinanceDataClientConfig\u003c/code\u003e and \u003ccode\u003eBinanceExecClientConfig\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdded Binance Demo environment support with \u003ccode\u003eBINANCE_DEMO_API_KEY\u003c/code\u003e/\u003ccode\u003eBINANCE_DEMO_API_SECRET\u003c/code\u003e env vars\u003c/li\u003e\n\u003cli\u003eAdded BitMEX trailing stop support\u003c/li\u003e\n\u003cli\u003eAdded BitMEX pegged order (BBO) support via params\u003c/li\u003e\n\u003cli\u003eAdded Bybit mark price subscriptions support\u003c/li\u003e\n\u003cli\u003eAdded Bybit index price subscriptions support\u003c/li\u003e\n\u003cli\u003eAdded Databento bulk subscription and historical request support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3490\"\u003e#3490\u003c/a\u003e), thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Databento support for conversion of OPRA venues (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3605\"\u003e#3605\u003c/a\u003e), thanks \u003ca href=\"https://github.com/faysou\"\u003e\u003ccode\u003e@​faysou\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Interactive Brokers subscribe index price functionality (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3514\"\u003e#3514\u003c/a\u003e), thanks \u003ca href=\"https://github.com/Murph24\"\u003e\u003ccode\u003e@​Murph24\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Interactive Brokers \u003ccode\u003eTotalCashValue\u003c/code\u003e to account summary \u003ccode\u003einfo\u003c/code\u003e dict, exposing actual cash balance (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3567\"\u003e#3567\u003c/a\u003e), thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Interactive Brokers \u003ccode\u003erequest_timeout_secs\u003c/code\u003e config to \u003ccode\u003eInteractiveBrokersExecClientConfig\u003c/code\u003e and consolidated all IB request timeouts into a single configurable value (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3602\"\u003e#3602\u003c/a\u003e), thanks \u003ca href=\"https://github.com/shzhng\"\u003e\u003ccode\u003e@​shzhng\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded OKX batch cancel support for conditional (algo) orders\u003c/li\u003e\n\u003cli\u003eAdded Polymarket data loader event-level API support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3484\"\u003e#3484\u003c/a\u003e), thanks \u003ca href=\"https://github.com/jsemldonado\"\u003e\u003ccode\u003e@​jsemldonado\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Polymarket \u003ccode\u003eevent_slug_builder\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3501\"\u003e#3501\u003c/a\u003e), thanks \u003ca href=\"https://github.com/jsemldonado\"\u003e\u003ccode\u003e@​jsemldonado\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Polymarket batch order support (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3506\"\u003e#3506\u003c/a\u003e), thanks \u003ca href=\"https://github.com/loafer-19\"\u003e\u003ccode\u003e@​loafer-19\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Tardis data client with factory in Rust\u003c/li\u003e\n\u003cli\u003eImproved tearsheet with dynamic Nautilus version and refined run info table (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3396\"\u003e#3396\u003c/a\u003e), thanks \u003ca href=\"https://github.com/KaulSe\"\u003e\u003ccode\u003e@​KaulSe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved dYdX v3 (legacy) Python adapter (the v3 exchange was decommissioned at end of 2024)\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003edydx\u003c/code\u003e optional install extra (the v4 Rust-backed adapter has no additional Python dependencies)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/2b2e6a934e9f310983f2a6afb835f50e1c6cfb6c\"\u003e\u003ccode\u003e2b2e6a9\u003c/code\u003e\u003c/a\u003e Release 1.223.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/0fbf9ccc5c18e99847e7cf590312b01061bc6ca4\"\u003e\u003ccode\u003e0fbf9cc\u003c/code\u003e\u003c/a\u003e Prepare release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/0c9571ddc364bf0061e1c8089801c132fdbfe8e4\"\u003e\u003ccode\u003e0c9571d\u003c/code\u003e\u003c/a\u003e Refine dYdX market maker tutorial\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/7b27252fc9177236a680110dae1440537b59b582\"\u003e\u003ccode\u003e7b27252\u003c/code\u003e\u003c/a\u003e Remove redundant Databento overview\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/31f86429a9589f02096986c50c86717fdff74c3a\"\u003e\u003ccode\u003e31f8642\u003c/code\u003e\u003c/a\u003e Refine sandbox crate for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/b49087c289e2b13bfcd027b82a775a4b77596a67\"\u003e\u003ccode\u003eb49087c\u003c/code\u003e\u003c/a\u003e Standardize and audit adapter configuration guides\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/cb0d0cd88e01798d35708cecefe5a82a34626df0\"\u003e\u003ccode\u003ecb0d0cd\u003c/code\u003e\u003c/a\u003e Fix clippy lints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/305f853a8c1d6fa81bb3ebb815db73992fd82126\"\u003e\u003ccode\u003e305f853\u003c/code\u003e\u003c/a\u003e Update dependencies and release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/8a32a134c78f971f4231969ed5f522b8db2eb26e\"\u003e\u003ccode\u003e8a32a13\u003c/code\u003e\u003c/a\u003e Fix unused variable warning for feature combination\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nautechsystems/nautilus_trader/commit/9ae9e3fc66b5cd480a025cc84f84b47437280214\"\u003e\u003ccode\u003e9ae9e3f\u003c/code\u003e\u003c/a\u003e Improve dYdX v4 docs and grid market making tutorial (\u003ca href=\"https://redirect.github.com/nautechsystems/nautilus_trader/issues/3607\"\u003e#3607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nautechsystems/nautilus_trader/compare/v1.222.0...v1.223.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.15.0 to 0.15.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.2\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-19.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eExpand the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23385\"\u003e#23385\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eIn preview, Ruff now enables a significantly expanded default rule set of 412 rules, up from the stable default set of 59 rules. The new rules are mostly a superset of the stable defaults, with the exception of these rules, which are removed from the preview defaults:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line\"\u003e\u003ccode\u003emultiple-imports-on-one-line\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE401\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE402\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE701\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon\"\u003e\u003ccode\u003emultiple-statements-on-one-line-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE702\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/useless-semicolon\"\u003e\u003ccode\u003euseless-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE703\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/none-comparison\"\u003e\u003ccode\u003enone-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE711\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/true-false-comparison\"\u003e\u003ccode\u003etrue-false-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE712\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-in-test\"\u003e\u003ccode\u003enot-in-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE713\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-is-test\"\u003e\u003ccode\u003enot-is-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE714\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/type-comparison\"\u003e\u003ccode\u003etype-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE721\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lambda-assignment\"\u003e\u003ccode\u003elambda-assignment\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE731\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-variable-name\"\u003e\u003ccode\u003eambiguous-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE741\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-class-name\"\u003e\u003ccode\u003eambiguous-class-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE742\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-function-name\"\u003e\u003ccode\u003eambiguous-function-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE743\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star\"\u003e\u003ccode\u003eundefined-local-with-import-star\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF403\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF405\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF406\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error\"\u003e\u003ccode\u003eforward-annotation-syntax-error\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF722\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you use preview and prefer the old defaults, you can restore them with configuration like:\u003c/p\u003e\n\u003cpre lang=\"toml\"\u003e\u003ccode\u003e\r\n# ruff.toml\r\n\u003cp\u003e[lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\u003c/p\u003e\n\u003ch1\u003epyproject.toml\u003c/h1\u003e\n\u003cp\u003e[tool.ruff.lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eIf you do give them a try, feel free to share your feedback in the \u003ca href=\"https://github.com/astral-sh/ruff/discussions/23203\"\u003eGitHub discussion\u003c/a\u003e!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Also check string annotations (\u003ccode\u003ePYI041\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19023\"\u003e#19023\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-19.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eExpand the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23385\"\u003e#23385\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eIn preview, Ruff now enables a significantly expanded default rule set of 412\nrules, up from the stable default set of 59 rules. The new rules are mostly a\nsuperset of the stable defaults, with the exception of these rules, which are\nremoved from the preview defaults:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line\"\u003e\u003ccode\u003emultiple-imports-on-one-line\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE401\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE402\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE701\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon\"\u003e\u003ccode\u003emultiple-statements-on-one-line-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE702\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/useless-semicolon\"\u003e\u003ccode\u003euseless-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE703\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/none-comparison\"\u003e\u003ccode\u003enone-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE711\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/true-false-comparison\"\u003e\u003ccode\u003etrue-false-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE712\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-in-test\"\u003e\u003ccode\u003enot-in-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE713\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-is-test\"\u003e\u003ccode\u003enot-is-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE714\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/type-comparison\"\u003e\u003ccode\u003etype-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE721\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lambda-assignment\"\u003e\u003ccode\u003elambda-assignment\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE731\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-variable-name\"\u003e\u003ccode\u003eambiguous-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE741\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-class-name\"\u003e\u003ccode\u003eambiguous-class-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE742\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-function-name\"\u003e\u003ccode\u003eambiguous-function-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE743\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star\"\u003e\u003ccode\u003eundefined-local-with-import-star\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF403\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF405\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF406\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error\"\u003e\u003ccode\u003eforward-annotation-syntax-error\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF722\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you use preview and prefer the old defaults, you can restore them with\nconfiguration like:\u003c/p\u003e\n\u003cpre lang=\"toml\"\u003e\u003ccode\u003e\n# ruff.toml\n\u003cp\u003e[lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\u003c/p\u003e\n\u003ch1\u003epyproject.toml\u003c/h1\u003e\n\u003cp\u003e[tool.ruff.lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eIf you do give them a try, feel free to share your feedback in the \u003ca href=\"https://github.com/astral-sh/ruff/discussions/23203\"\u003eGitHub\ndiscussion\u003c/a\u003e!\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9d18ee9115f9cbb4c21478baa7c1fa2b46e0759c\"\u003e\u003ccode\u003e9d18ee9\u003c/code\u003e\u003c/a\u003e Hard code workflow name and \u003ccode\u003ecancel-in-progress\u003c/code\u003e only for PRs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23431\"\u003e#23431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7cc15f024b931fe56365f40de3fab01219c092c4\"\u003e\u003ccode\u003e7cc15f0\u003c/code\u003e\u003c/a\u003e Bump 0.15.2 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23430\"\u003e#23430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d1b544393ae9cddd8e48ebee8dbfd54bda89f375\"\u003e\u003ccode\u003ed1b5443\u003c/code\u003e\u003c/a\u003e Add extension mapping to configuration file options (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23384\"\u003e#23384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/222574af90c5c0ca8f84c8385cf30c7c10ac2496\"\u003e\u003ccode\u003e222574a\u003c/code\u003e\u003c/a\u003e Expand the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23385\"\u003e#23385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1465b5de3829549b45397e9587b83ab7ac6d26d0\"\u003e\u003ccode\u003e1465b5d\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Fix \u003ccode\u003ein_async_context\u003c/code\u003e logic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23426\"\u003e#23426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/410902fa401afda969cc000f13be341896e6868e\"\u003e\u003ccode\u003e410902f\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Fix handling of \u003ccode\u003etyping.{io,re}\u003c/code\u003e (\u003ccode\u003eUP035\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23131\"\u003e#23131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/729610acd9e19f57526e8ca40f355626154826bb\"\u003e\u003ccode\u003e729610a\u003c/code\u003e\u003c/a\u003e [ty] Fall back to ambiguous for large control flow graphs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23399\"\u003e#23399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1425c185b0a47be87112762f65b5bf7e323fb950\"\u003e\u003ccode\u003e1425c18\u003c/code\u003e\u003c/a\u003e [ty] Add code folding support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/97acaaea5f993f33d3f5bb27c5db760a2f3d1e8a\"\u003e\u003ccode\u003e97acaae\u003c/code\u003e\u003c/a\u003e [ty] Fix stack overflow for self-referential \u003ccode\u003eTypeOf\u003c/code\u003e in annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23407\"\u003e#23407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1f380c82584a6dab7e8715bc7dd5ae187da1e69a\"\u003e\u003ccode\u003e1f380c8\u003c/code\u003e\u003c/a\u003e [ty] Update tests \u003ccode\u003ereveal_type\u003c/code\u003e and \u003ccode\u003eNever\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23418\"\u003e#23418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.0...0.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-api-python-client-stubs` from 1.31.0 to 1.32.0\n\nUpdates `mkdocs-material` from 9.7.1 to 9.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.7.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGoing forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOpened up version ranges of optional dependencies for forward-compatibili...\n\n_Description has been truncated_","html_url":"https://github.com/jerdaw/finbot/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerdaw%2Ffinbot/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"}}]}