{"id":4065,"name":"orjson","ecosystem":"pip","repository_url":"https://github.com/ijl/orjson","issues_count":1187,"created_at":"2025-06-06T16:30:18.807Z","updated_at":"2025-06-06T16:30:18.807Z","purl":"pkg:pypi/orjson","metadata":{"id":2842145,"name":"orjson","ecosystem":"pypi","description":"Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy","homepage":null,"licenses":"Apache-2.0 OR MIT","normalized_licenses":["Apache-2.0","MIT"],"repository_url":"https://github.com/ijl/orjson","keywords_array":["fast","json","dataclass","dataclasses","datetime","rfc","8259","3339"],"namespace":null,"versions_count":139,"first_release_published_at":"2018-11-23T18:46:26.000Z","latest_release_published_at":"2025-04-29T23:28:08.000Z","latest_release_number":"3.10.18","last_synced_at":"2025-06-05T15:01:06.226Z","created_at":"2022-04-10T11:58:04.533Z","updated_at":"2025-06-05T15:01:06.227Z","registry_url":"https://pypi.org/project/orjson/","install_command":"pip install orjson --index-url https://pypi.org/simple","documentation_url":"https://orjson.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","License :: OSI Approved :: Apache Software License","License :: OSI Approved :: MIT License","Operating System :: MacOS","Operating System :: Microsoft :: Windows","Operating System :: POSIX :: Linux","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.14","Programming Language :: Python :: 3.9","Programming Language :: Python :: Implementation :: CPython","Programming Language :: Rust","Typing :: Typed"],"normalized_name":"orjson"},"repo_metadata":{"id":37781742,"uuid":"158618772","full_name":"ijl/orjson","owner":"ijl","description":"Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy","archived":false,"fork":false,"pushed_at":"2025-04-29T22:22:53.000Z","size":5631,"stargazers_count":6960,"open_issues_count":1,"forks_count":241,"subscribers_count":36,"default_branch":"master","last_synced_at":"2025-06-01T14:33:23.303Z","etag":null,"topics":["dataclasses","datetime","deserialization","json","numpy","pyo3","python","rust","serialization"],"latest_commit_sha":null,"homepage":"","language":"Python","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/ijl.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-11-21T23:43:14.000Z","updated_at":"2025-05-31T09:41:29.000Z","dependencies_parsed_at":"2022-07-10T14:46:44.911Z","dependency_job_id":"9e701081-9001-42b3-8292-400149f8412e","html_url":"https://github.com/ijl/orjson","commit_stats":{"total_commits":687,"total_committers":25,"mean_commits":27.48,"dds":"0.055312954876273634","last_synced_commit":"8ece0d4bec4553934aa5883c15efdc3ccc49515f"},"previous_names":[],"tags_count":139,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ijl","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":257585100,"owners_count":22568760,"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":"ijl","name":null,"uuid":"1977222","kind":"user","description":"","email":"","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/1977222?u=bdc1fad9ac35731af42c6833ab968c1ba2682c34\u0026v=4","repositories_count":4,"last_synced_at":"2025-02-19T12:46:56.841Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ijl","funding_links":[],"total_stars":6578,"followers":77,"following":1,"created_at":"2022-11-02T16:32:24.451Z","updated_at":"2025-02-19T12:46:56.841Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ijl","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ijl/repositories"},"tags":[{"name":"3.10.18","sha":"4b29943c2df5035f7ec573c1a0052c08d293c119","kind":"commit","published_at":"2025-04-29T22:22:44.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.18","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.18/manifests"},{"name":"3.10.17","sha":"692f32137dac578ea532f69425e594bbde3688a9","kind":"commit","published_at":"2025-04-29T13:36:06.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.17","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.17/manifests"},{"name":"3.10.16","sha":"1d8b3526a45ebfba7256289216aa4d36c6fc2e82","kind":"commit","published_at":"2025-03-24T16:27:35.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.16","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.16/manifests"},{"name":"3.10.15","sha":"268b6608d095e80470895d9ed4f13aa863fb8640","kind":"commit","published_at":"2025-01-18T15:23:36.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.15","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.15/manifests"},{"name":"3.10.14","sha":"1534f8c08ce4e7b3684e2d32d65222a897deacc6","kind":"commit","published_at":"2025-01-08T16:07:20.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.14","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.14/manifests"},{"name":"3.10.13","sha":"504a99b3d1e40fd8ccf152c40c1a046fd867ecaf","kind":"commit","published_at":"2024-12-29T23:04:18.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.13","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.13/manifests"},{"name":"3.10.12","sha":"e5ddb0ba57ec2683580e3491b2a257ec28b1f37f","kind":"commit","published_at":"2024-11-23T18:47:16.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.12","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.12/manifests"},{"name":"3.10.11","sha":"2e3d96d2d0717b56616cb45306eb39169f5646f5","kind":"commit","published_at":"2024-11-01T23:42:12.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.11","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.11/manifests"},{"name":"3.10.10","sha":"49187833e7671747d3d0dd18b0f9688327aa8947","kind":"commit","published_at":"2024-10-22T17:14:39.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.10","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.10/manifests"},{"name":"3.10.9","sha":"e331c52da9282dddf645f472fc812cfddd5f37fa","kind":"commit","published_at":"2024-10-19T17:26:27.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.9","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.9/manifests"},{"name":"3.10.8","sha":"3be7253a6fc10793049ec1b3b646d1350c763ab0","kind":"commit","published_at":"2024-10-19T15:20:55.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.8","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.8/manifests"},{"name":"3.10.7","sha":"5b951e820c7239a63e18f4196768a4f2b45df4e4","kind":"commit","published_at":"2024-08-08T23:27:34.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.7","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.7/manifests"},{"name":"3.10.6","sha":"c24e4abe5d649c80c65fdaf411cd60532303c4b4","kind":"commit","published_at":"2024-07-02T16:07:01.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.6","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.6/manifests"},{"name":"3.10.5","sha":"7b081e10768a44699f6f7231521b1803c3dfdd87","kind":"commit","published_at":"2024-06-13T22:55:37.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.5","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.5/manifests"},{"name":"3.10.4","sha":"7f212b857d7e78830cb929cb9ccde6895ca82c7e","kind":"commit","published_at":"2024-06-10T16:31:35.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.4","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.4/manifests"},{"name":"3.10.3","sha":"3c1f2a40d33861e31a8efc1647e3f9e6658c2c20","kind":"commit","published_at":"2024-05-03T14:44:05.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.3","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.3/manifests"},{"name":"3.10.2","sha":"659117539bec22c31c530008be4d30894ea6bdc0","kind":"commit","published_at":"2024-05-01T01:12:13.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.2","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.2/manifests"},{"name":"3.10.1","sha":"632345a8aa56bdbe9a7d2bcc69cda849ebd2683d","kind":"commit","published_at":"2024-04-15T21:47:30.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.1","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.1/manifests"},{"name":"3.10.0","sha":"11c7de8e5846fa65449aa1f6ffc05c5a1090df03","kind":"commit","published_at":"2024-03-27T22:44:20.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.10.0","html_url":"https://github.com/ijl/orjson/releases/tag/3.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.10.0/manifests"},{"name":"3.9.15","sha":"a348f59f0b55d92a1364523560f52f5b3cf9c12a","kind":"commit","published_at":"2024-02-23T17:09:05.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.9.15","html_url":"https://github.com/ijl/orjson/releases/tag/3.9.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.15/manifests"},{"name":"3.9.14","sha":"ba8c701292e4720b4e10210b266be5666d098fb6","kind":"commit","published_at":"2024-02-14T02:55:00.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.9.14","html_url":"https://github.com/ijl/orjson/releases/tag/3.9.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.14/manifests"},{"name":"3.9.13","sha":"4eb4f005a6f1b71609051770612a055b584b73d2","kind":"commit","published_at":"2024-02-03T22:47:51.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.9.13","html_url":"https://github.com/ijl/orjson/releases/tag/3.9.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.13/manifests"},{"name":"3.9.12","sha":"6d7e1acd361370781325814d39bd5ff830775c14","kind":"commit","published_at":"2024-01-18T16:58:42.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.9.12","html_url":"https://github.com/ijl/orjson/releases/tag/3.9.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.12/manifests"},{"name":"3.9.11","sha":"6ac06d9f9d15a70666dac9e3dd5f1d5cad2a8330","kind":"commit","published_at":"2024-01-18T16:05:55.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.9.11","html_url":"https://github.com/ijl/orjson/releases/tag/3.9.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.11/manifests"},{"name":"3.9.10","sha":"399b36a0996d88a23aa88104e91c6a049e8e3ea1","kind":"commit","published_at":"2023-10-26T14:26:36.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.9.10","html_url":"https://github.com/ijl/orjson/releases/tag/3.9.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.10/manifests"},{"name":"3.9.9","sha":"bc99ebb8918d698481b671899f87d9eb511c40a7","kind":"commit","published_at":"2023-10-12T22:51:03.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.9.9","html_url":"https://github.com/ijl/orjson/releases/tag/3.9.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.9/manifests"},{"name":"3.9.8","sha":"58e266975db2d1b8b83a8191b41bc52974f82efc","kind":"commit","published_at":"2023-10-10T14:30:27.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.9.8","html_url":"https://github.com/ijl/orjson/releases/tag/3.9.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.8/manifests"},{"name":"3.9.7","sha":"46d1181ee538305450081e36b68ef3e0c217b79b","kind":"commit","published_at":"2023-09-08T15:57:45.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.9.7","html_url":"https://github.com/ijl/orjson/releases/tag/3.9.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.7/manifests"},{"name":"3.9.6","sha":"640d607cda3fd9d4e019e7972124dbabe4b09117","kind":"commit","published_at":"2023-09-07T22:16:56.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.9.6","html_url":"https://github.com/ijl/orjson/releases/tag/3.9.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.6/manifests"},{"name":"3.9.5","sha":"d213277935d350fd84165b24e6cbbff3262b6dff","kind":"commit","published_at":"2023-08-16T15:07:08.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.9.5","html_url":"https://github.com/ijl/orjson/releases/tag/3.9.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.5/manifests"},{"name":"3.9.4","sha":"281a9d8451c5a54a6fe34a586324363f131a3697","kind":"commit","published_at":"2023-08-07T22:21:59.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.9.4","html_url":"https://github.com/ijl/orjson/releases/tag/3.9.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.4/manifests"},{"name":"3.9.3","sha":"374fac3eea0c80753f95b12efc5f3ea9c4e0be18","kind":"commit","published_at":"2023-08-06T18:23:21.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.9.3","html_url":"https://github.com/ijl/orjson/releases/tag/3.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.3/manifests"},{"name":"3.9.2","sha":"ee8759c9fb6b709743fb8a15f39f10aa0c909e06","kind":"commit","published_at":"2023-07-07T15:03:40.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.9.2","html_url":"https://github.com/ijl/orjson/releases/tag/3.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.2/manifests"},{"name":"3.9.1","sha":"314dc9da5b2d2ae515ec25e0fc5b503a4059b472","kind":"commit","published_at":"2023-06-09T14:08:40.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.9.1","html_url":"https://github.com/ijl/orjson/releases/tag/3.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.1/manifests"},{"name":"3.9.0","sha":"e15a5b675805ffe6140e662e22ac426e36cd8dc8","kind":"commit","published_at":"2023-06-01T14:37:05.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.9.0","html_url":"https://github.com/ijl/orjson/releases/tag/3.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.9.0/manifests"},{"name":"3.8.14","sha":"cd4330a1f571820826e3ab4e5f5448848d6613dd","kind":"commit","published_at":"2023-05-25T22:59:29.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.8.14","html_url":"https://github.com/ijl/orjson/releases/tag/3.8.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.14/manifests"},{"name":"3.8.13","sha":"7759603e5b99ee667b1cd86059b7446711aaa975","kind":"commit","published_at":"2023-05-23T22:50:14.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.8.13","html_url":"https://github.com/ijl/orjson/releases/tag/3.8.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.13/manifests"},{"name":"3.8.12","sha":"8ee3d687e15aec42db5403281d739af87dbdae6a","kind":"commit","published_at":"2023-05-07T17:54:51.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.8.12","html_url":"https://github.com/ijl/orjson/releases/tag/3.8.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.12/manifests"},{"name":"3.8.11","sha":"24dc1324de74dc082bc0210d6b0a7c8f895efb64","kind":"commit","published_at":"2023-04-27T23:50:27.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.8.11","html_url":"https://github.com/ijl/orjson/releases/tag/3.8.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.11/manifests"},{"name":"3.8.10","sha":"c2514ab9ecdb9d42945f3fc6e18475b88bef8ec2","kind":"commit","published_at":"2023-04-09T15:23:55.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.8.10","html_url":"https://github.com/ijl/orjson/releases/tag/3.8.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.10/manifests"},{"name":"3.8.9","sha":"a60506c77e7051774dddd86bb8c12ec4a79223d5","kind":"commit","published_at":"2023-03-28T15:05:52.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.8.9","html_url":"https://github.com/ijl/orjson/releases/tag/3.8.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.9/manifests"},{"name":"3.8.8","sha":"47cb52099022203472717563e7339bac08348f7c","kind":"commit","published_at":"2023-03-20T23:02:56.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.8.8","html_url":"https://github.com/ijl/orjson/releases/tag/3.8.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.8/manifests"},{"name":"3.8.7","sha":"4b8b5cfe5e2a20b6476792dc58e2e2a13ec68fa8","kind":"commit","published_at":"2023-02-28T13:43:42.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.8.7","html_url":"https://github.com/ijl/orjson/releases/tag/3.8.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.7/manifests"},{"name":"3.8.6","sha":"251e56ac21ee5f1b9d25ec29b8db1a75184f78a3","kind":"commit","published_at":"2023-02-09T14:54:51.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.8.6","html_url":"https://github.com/ijl/orjson/releases/tag/3.8.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.6/manifests"},{"name":"3.8.5","sha":"28b1ce10c49f050db792ecd7efeb85cf15139e1b","kind":"commit","published_at":"2023-01-10T15:19:36.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.8.5","html_url":"https://github.com/ijl/orjson/releases/tag/3.8.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.5/manifests"},{"name":"3.8.4","sha":"2a1923cf3ffdb5d69103b1b0862802f34406d71f","kind":"commit","published_at":"2023-01-04T15:31:06.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.8.4","html_url":"https://github.com/ijl/orjson/releases/tag/3.8.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.4/manifests"},{"name":"3.8.3","sha":"45ad4a456bf3180c223ccca8433f7a2adc90a449","kind":"commit","published_at":"2022-12-02T15:14:00.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.8.3","html_url":"https://github.com/ijl/orjson/releases/tag/3.8.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.3/manifests"},{"name":"3.8.2","sha":"a0b7a501d19659de619819880438c3290ae41cac","kind":"commit","published_at":"2022-11-20T19:30:52.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.8.2","html_url":"https://github.com/ijl/orjson/releases/tag/3.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.2/manifests"},{"name":"3.8.1","sha":"5ebfd5f39e1e52ab96e191b9bebb2d98765f5c12","kind":"commit","published_at":"2022-10-25T15:31:08.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.8.1","html_url":"https://github.com/ijl/orjson/releases/tag/3.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.1/manifests"},{"name":"3.8.0","sha":"fe1e0c8c9ba4719edecae00fc2e97738932da6b6","kind":"commit","published_at":"2022-08-27T13:39:53.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.8.0","html_url":"https://github.com/ijl/orjson/releases/tag/3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.8.0/manifests"},{"name":"3.7.12","sha":"b9e8e7f88715b897c7f2b4cd15d1872c67240a06","kind":"commit","published_at":"2022-08-14T16:16:53.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.7.12","html_url":"https://github.com/ijl/orjson/releases/tag/3.7.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.12/manifests"},{"name":"3.7.11","sha":"14d4545fb8b476562eca2d6bdd22a92713386ee6","kind":"commit","published_at":"2022-07-31T13:06:17.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.7.11","html_url":"https://github.com/ijl/orjson/releases/tag/3.7.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.11/manifests"},{"name":"3.7.10","sha":"181ded1197bc3bdf1119ffcab8336d2117ba076f","kind":"commit","published_at":"2022-07-30T13:11:26.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.7.10","html_url":"https://github.com/ijl/orjson/releases/tag/3.7.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.10/manifests"},{"name":"3.7.9","sha":"1b453643fc5eadec5d27489c520cfa31a5da85b0","kind":"commit","published_at":"2022-07-29T22:30:13.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.7.9","html_url":"https://github.com/ijl/orjson/releases/tag/3.7.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.9/manifests"},{"name":"3.7.8","sha":"b25d25b2a53163e6cdb9e38d0ddfcad5c4b796d3","kind":"commit","published_at":"2022-07-19T14:21:05.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.7.8","html_url":"https://github.com/ijl/orjson/releases/tag/3.7.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.8/manifests"},{"name":"3.7.7","sha":"fb493408718c7df7650c32599295010239b92bee","kind":"commit","published_at":"2022-07-06T22:47:23.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.7.7","html_url":"https://github.com/ijl/orjson/releases/tag/3.7.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.7/manifests"},{"name":"3.7.6","sha":"4145796ecf52bf35cb1117f8afb1767f08aec03a","kind":"commit","published_at":"2022-07-03T15:29:07.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.7.6","html_url":"https://github.com/ijl/orjson/releases/tag/3.7.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.6/manifests"},{"name":"3.7.5","sha":"e8f43784d790d2fe03ac04836afc922e3c762da9","kind":"commit","published_at":"2022-06-28T03:20:11.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.7.5","html_url":"https://github.com/ijl/orjson/releases/tag/3.7.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.5/manifests"},{"name":"3.7.4","sha":"fadf02a94e9109dfb47351f862a85b0ee4987b3b","kind":"commit","published_at":"2022-06-28T01:24:03.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.7.4","html_url":"https://github.com/ijl/orjson/releases/tag/3.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.4/manifests"},{"name":"3.7.3","sha":"e11dd49a2ff0e656f8ad1178b0eb3349c6a4e373","kind":"commit","published_at":"2022-06-23T00:14:37.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.7.3","html_url":"https://github.com/ijl/orjson/releases/tag/3.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.3/manifests"},{"name":"3.7.2","sha":"2ce3f97b754f48d9cf7e3c37bb573a6f125573c2","kind":"commit","published_at":"2022-06-07T14:07:03.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.7.2","html_url":"https://github.com/ijl/orjson/releases/tag/3.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.2/manifests"},{"name":"3.7.1","sha":"34910139d1d574055277631c8ed323990b985bdd","kind":"commit","published_at":"2022-06-03T22:08:45.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.7.1","html_url":"https://github.com/ijl/orjson/releases/tag/3.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.1/manifests"},{"name":"3.7.0","sha":"e8d5d3c095d2cad7bd059cacefd46928ee1f7b3e","kind":"commit","published_at":"2022-06-03T01:20:46.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.7.0","html_url":"https://github.com/ijl/orjson/releases/tag/3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.7.0/manifests"},{"name":"3.6.9","sha":"54ebf038ee7b6d96fa6ae169b2120e25953bce94","kind":"commit","published_at":"2022-06-01T15:03:36.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.6.9","html_url":"https://github.com/ijl/orjson/releases/tag/3.6.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.9/manifests"},{"name":"3.6.8","sha":"acaecd2409231106307719f7288e51ebdbb9b24d","kind":"commit","published_at":"2022-04-15T22:59:33.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.6.8","html_url":"https://github.com/ijl/orjson/releases/tag/3.6.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.8/manifests"},{"name":"3.6.7","sha":"aee8a9fed45f84d227cf2cb7102656aa65a4890a","kind":"commit","published_at":"2022-02-14T15:39:03.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.6.7","html_url":"https://github.com/ijl/orjson/releases/tag/3.6.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.7/manifests"},{"name":"3.6.6","sha":"c196f0e55bd51d3693d381ccc06f2fd4b5443d86","kind":"commit","published_at":"2022-01-21T23:34:07.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.6.6","html_url":"https://github.com/ijl/orjson/releases/tag/3.6.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.6/manifests"},{"name":"3.6.5","sha":"71a7601e265a5c11f02f267befe6d3a6c223d5de","kind":"commit","published_at":"2021-12-05T16:37:24.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.6.5","html_url":"https://github.com/ijl/orjson/releases/tag/3.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.5/manifests"},{"name":"3.6.4","sha":"02d6805af278493f657c17305a2f0cc054f04078","kind":"commit","published_at":"2021-10-01T22:00:25.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.6.4","html_url":"https://github.com/ijl/orjson/releases/tag/3.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.4/manifests"},{"name":"3.6.3","sha":"f4bc1e3f28029861e0a61d8967cce3c3583c81f3","kind":"commit","published_at":"2021-08-20T13:15:55.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.6.3","html_url":"https://github.com/ijl/orjson/releases/tag/3.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.3/manifests"},{"name":"3.6.2","sha":"669e4a269023b222a1f0ffa572947b37d06415a3","kind":"commit","published_at":"2021-08-17T15:16:38.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.6.2","html_url":"https://github.com/ijl/orjson/releases/tag/3.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.2/manifests"},{"name":"3.6.1","sha":"f8c0112f306e71aa5911a5afec396b664bcb44a6","kind":"commit","published_at":"2021-08-04T13:45:46.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.6.1","html_url":"https://github.com/ijl/orjson/releases/tag/3.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.1/manifests"},{"name":"3.6.0","sha":"bf7aebba075ee833a2ff3e0c76a490e7b54048f0","kind":"commit","published_at":"2021-07-08T13:59:19.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.6.0","html_url":"https://github.com/ijl/orjson/releases/tag/3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.6.0/manifests"},{"name":"3.5.4","sha":"e831c812bf07d8849db32047c00caef19981c3ca","kind":"commit","published_at":"2021-06-30T13:40:30.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.5.4","html_url":"https://github.com/ijl/orjson/releases/tag/3.5.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.5.4/manifests"},{"name":"3.5.3","sha":"ceb1602865f3a377d5e3188e513333ef8f2f5c60","kind":"commit","published_at":"2021-06-01T14:15:30.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.5.3","html_url":"https://github.com/ijl/orjson/releases/tag/3.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.5.3/manifests"},{"name":"3.5.2","sha":"cfecab13ecff7737725e91649de3101eddab2770","kind":"commit","published_at":"2021-04-15T13:44:03.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.5.2","html_url":"https://github.com/ijl/orjson/releases/tag/3.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.5.2/manifests"},{"name":"3.5.1","sha":"0b7a6331026bfa017f97e4d2eda2c46c8cf535ac","kind":"commit","published_at":"2021-03-06T15:20:20.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.5.1","html_url":"https://github.com/ijl/orjson/releases/tag/3.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.5.1/manifests"},{"name":"3.5.0","sha":"1d9ee1c3f98c2391561595aba1a4f66e5c453e91","kind":"commit","published_at":"2021-02-24T14:40:23.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.5.0","html_url":"https://github.com/ijl/orjson/releases/tag/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.5.0/manifests"},{"name":"3.4.8","sha":"54d7c07eb9a7eddc724db607f188d7d702812fcd","kind":"commit","published_at":"2021-02-04T14:20:20.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.4.8","html_url":"https://github.com/ijl/orjson/releases/tag/3.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.4.8/manifests"},{"name":"3.4.7","sha":"37912916419c065c95a692ed296ff6236a1b1db1","kind":"commit","published_at":"2021-01-19T15:20:18.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.4.7","html_url":"https://github.com/ijl/orjson/releases/tag/3.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.4.7/manifests"},{"name":"3.4.6","sha":"378af2cffcb1fd4fc3371e39bd879ef4186e5739","kind":"commit","published_at":"2020-12-07T14:39:32.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.4.6","html_url":"https://github.com/ijl/orjson/releases/tag/3.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.4.6/manifests"},{"name":"3.4.5","sha":"e1bb8b2c64b6a74a139970a112205b8d597989ed","kind":"commit","published_at":"2020-12-02T14:08:56.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.4.5","html_url":"https://github.com/ijl/orjson/releases/tag/3.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.4.5/manifests"},{"name":"3.4.4","sha":"5538bb62958ac256a4bf0291b7254dace9cd288d","kind":"commit","published_at":"2020-11-25T23:21:01.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.4.4","html_url":"https://github.com/ijl/orjson/releases/tag/3.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.4.4/manifests"},{"name":"3.4.3","sha":"417e40e6fcc3d5203f7e0824074b57a5c6497a49","kind":"commit","published_at":"2020-10-30T14:09:25.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.4.3","html_url":"https://github.com/ijl/orjson/releases/tag/3.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.4.3/manifests"},{"name":"3.4.2","sha":"777f8eed2e6519297710b9ad78209cf4c2a57ff9","kind":"commit","published_at":"2020-10-29T13:26:05.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.4.2","html_url":"https://github.com/ijl/orjson/releases/tag/3.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.4.2/manifests"},{"name":"3.4.1","sha":"f9287cdb168b20881fac53df8999168dd2d562b4","kind":"commit","published_at":"2020-10-20T13:37:52.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.4.1","html_url":"https://github.com/ijl/orjson/releases/tag/3.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.4.1/manifests"},{"name":"3.4.0","sha":"8c3cd26d2929b8e7edbfad21a52dcfe4b270aa53","kind":"commit","published_at":"2020-09-25T14:12:33.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.4.0","html_url":"https://github.com/ijl/orjson/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.4.0/manifests"},{"name":"3.3.1","sha":"ab45310d82f5a21dc2b1e016ee2eab1d7b4bb2c2","kind":"commit","published_at":"2020-08-17T11:46:57.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.3.1","html_url":"https://github.com/ijl/orjson/releases/tag/3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.3.1/manifests"},{"name":"3.3.0","sha":"97c7c68a44c75e90de0712924749964334a9a727","kind":"commit","published_at":"2020-07-24T01:42:18.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.3.0","html_url":"https://github.com/ijl/orjson/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.3.0/manifests"},{"name":"3.2.2","sha":"977155349ed98ec71dd127ff591fddc5e4388533","kind":"commit","published_at":"2020-07-13T22:16:18.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.2.2","html_url":"https://github.com/ijl/orjson/releases/tag/3.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.2.2/manifests"},{"name":"3.2.1","sha":"e8727c88621a97a60dce87461e87b53dfd23609e","kind":"commit","published_at":"2020-07-03T15:13:57.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.2.1","html_url":"https://github.com/ijl/orjson/releases/tag/3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.2.1/manifests"},{"name":"3.2.0","sha":"448c5517dba6d74befea295db22d2d189238e982","kind":"commit","published_at":"2020-06-30T21:15:11.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.2.0","html_url":"https://github.com/ijl/orjson/releases/tag/3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.2.0/manifests"},{"name":"3.1.2","sha":"6f40258e8467b46b34434c584b8c2fa4d651f85d","kind":"commit","published_at":"2020-06-23T21:14:40.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.1.2","html_url":"https://github.com/ijl/orjson/releases/tag/3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.1.2/manifests"},{"name":"3.1.1","sha":"91cbb1ac3e4e6312f32659b7355785399bd9c0f9","kind":"commit","published_at":"2020-06-20T18:52:37.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.1.1","html_url":"https://github.com/ijl/orjson/releases/tag/3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.1.1/manifests"},{"name":"3.1.0","sha":"a95eb5635d5a1b4af864c3e6767540651de6d2f2","kind":"commit","published_at":"2020-06-08T13:14:27.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.1.0","html_url":"https://github.com/ijl/orjson/releases/tag/3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.1.0/manifests"},{"name":"3.0.2","sha":"b41fd25d528ad2ae4c175d614074bf4f7dbec525","kind":"commit","published_at":"2020-05-27T14:23:12.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.0.2","html_url":"https://github.com/ijl/orjson/releases/tag/3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.0.2/manifests"},{"name":"3.0.1","sha":"80299ba57e04b74b2658e4312cba5d79709ee82d","kind":"commit","published_at":"2020-05-19T13:56:38.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.0.1","html_url":"https://github.com/ijl/orjson/releases/tag/3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.0.1/manifests"},{"name":"3.0.0","sha":"65179ace6844293a34e29df54d15eed6f127e112","kind":"commit","published_at":"2020-05-01T14:35:56.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/3.0.0","html_url":"https://github.com/ijl/orjson/releases/tag/3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/3.0.0/manifests"},{"name":"2.6.8","sha":"cfb24eacca10d521287da3c8b32f4985fc9334bb","kind":"commit","published_at":"2020-04-30T13:45:51.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.6.8","html_url":"https://github.com/ijl/orjson/releases/tag/2.6.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.6.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.6.8/manifests"},{"name":"2.6.7","sha":"a7ac1bcc2a2c81db8ca1ec175b9e73296e4d4bfe","kind":"commit","published_at":"2020-04-30T12:22:17.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.6.7","html_url":"https://github.com/ijl/orjson/releases/tag/2.6.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.6.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.6.7/manifests"},{"name":"2.6.6","sha":"529502165cdbec36201ff39fb8983744ff84409c","kind":"commit","published_at":"2020-04-24T00:57:42.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.6.6","html_url":"https://github.com/ijl/orjson/releases/tag/2.6.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.6.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.6.6/manifests"},{"name":"2.6.5","sha":"e788a87a5efc3d3bdb96be7d38deb10bde769a4b","kind":"commit","published_at":"2020-04-08T17:05:02.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.6.5","html_url":"https://github.com/ijl/orjson/releases/tag/2.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.6.5/manifests"},{"name":"2.6.4","sha":"198e4a62d40e05cb8f617c93629ff4940033b6a5","kind":"commit","published_at":"2020-04-08T13:17:44.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.6.4","html_url":"https://github.com/ijl/orjson/releases/tag/2.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.6.4/manifests"},{"name":"2.6.3","sha":"219b9a6c87d0df32e0915b9c8ad719fcc2cd5bd3","kind":"commit","published_at":"2020-04-01T22:49:30.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.6.3","html_url":"https://github.com/ijl/orjson/releases/tag/2.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.6.3/manifests"},{"name":"2.6.2","sha":"6e34f185ef4a7ccb58c8390c90b010ec50be0613","kind":"commit","published_at":"2020-03-27T13:19:11.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.6.2","html_url":"https://github.com/ijl/orjson/releases/tag/2.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.6.2/manifests"},{"name":"2.6.1","sha":"92656d04aa74d118aef9d638f20831abd4fe89be","kind":"commit","published_at":"2020-03-19T22:59:29.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.6.1","html_url":"https://github.com/ijl/orjson/releases/tag/2.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.6.1/manifests"},{"name":"2.6.0","sha":"789e03a31e525424dff6c170370f9e483725d508","kind":"commit","published_at":"2020-03-10T00:45:57.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.6.0","html_url":"https://github.com/ijl/orjson/releases/tag/2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.6.0/manifests"},{"name":"2.5.2","sha":"5c54cc936a10cca174dd93165a4b279513eb2acf","kind":"commit","published_at":"2020-03-07T22:43:16.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.5.2","html_url":"https://github.com/ijl/orjson/releases/tag/2.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.5.2/manifests"},{"name":"2.5.1","sha":"41b9f69330ff51e47d40da1e1e18f8f26fd9c718","kind":"commit","published_at":"2020-02-24T22:56:07.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.5.1","html_url":"https://github.com/ijl/orjson/releases/tag/2.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.5.1/manifests"},{"name":"2.5.0","sha":"129a821533ca8a33eaba64ec0aaeac2ee0c202fb","kind":"commit","published_at":"2020-02-19T12:52:24.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.5.0","html_url":"https://github.com/ijl/orjson/releases/tag/2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.5.0/manifests"},{"name":"2.4.0","sha":"72f568bd76cb3a6e4804ab667418942999cf7558","kind":"commit","published_at":"2020-02-14T14:16:40.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.4.0","html_url":"https://github.com/ijl/orjson/releases/tag/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.4.0/manifests"},{"name":"2.3.0","sha":"142e1a90693e880ba50a41264b9625e5cd21294a","kind":"commit","published_at":"2020-02-12T13:51:38.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.3.0","html_url":"https://github.com/ijl/orjson/releases/tag/2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.3.0/manifests"},{"name":"2.2.2","sha":"0ee6890443ec26bc2fe005f0ad5cf971599959fd","kind":"commit","published_at":"2020-02-10T14:26:25.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.2.2","html_url":"https://github.com/ijl/orjson/releases/tag/2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.2.2/manifests"},{"name":"2.2.1","sha":"814c5f214112577d3991ebe89d41f25083325a7d","kind":"commit","published_at":"2020-02-04T14:08:44.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.2.1","html_url":"https://github.com/ijl/orjson/releases/tag/2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.2.1/manifests"},{"name":"2.2.0","sha":"95a03b085c5b5c257c5b9a2fbdcf307ebe25e259","kind":"commit","published_at":"2020-01-22T14:26:27.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.2.0","html_url":"https://github.com/ijl/orjson/releases/tag/2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.2.0/manifests"},{"name":"2.1.4","sha":"1b59216e10585a7a49caa791ff3d316d68c7a81d","kind":"commit","published_at":"2020-01-08T03:47:33.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.1.4","html_url":"https://github.com/ijl/orjson/releases/tag/2.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.1.4/manifests"},{"name":"2.1.3","sha":"5d52cb59d1bc1c6d626ba20699a5cd3665d8d68b","kind":"commit","published_at":"2019-11-12T14:36:49.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.1.3","html_url":"https://github.com/ijl/orjson/releases/tag/2.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.1.3/manifests"},{"name":"2.1.2","sha":"4fcb8c0b58b7c893a0075e138ece443035a02e68","kind":"commit","published_at":"2019-11-07T23:29:13.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.1.2","html_url":"https://github.com/ijl/orjson/releases/tag/2.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.1.2/manifests"},{"name":"2.1.1","sha":"f884b8cb9d3465e47279c8aeea771235426bd251","kind":"commit","published_at":"2019-10-29T14:00:46.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.1.1","html_url":"https://github.com/ijl/orjson/releases/tag/2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.1.1/manifests"},{"name":"2.1.0","sha":"5d0c9c09fd915723de32bc5ac22fee34ca4a3c38","kind":"commit","published_at":"2019-10-24T13:23:22.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.1.0","html_url":"https://github.com/ijl/orjson/releases/tag/2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.1.0/manifests"},{"name":"2.0.11","sha":"14604787a2915773ab62d9adc010694fad269aca","kind":"commit","published_at":"2019-10-01T13:11:35.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.0.11","html_url":"https://github.com/ijl/orjson/releases/tag/2.0.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.11/manifests"},{"name":"2.0.10","sha":"8cc10c8689e862ad7c17bd22c3879127094c7cdd","kind":"commit","published_at":"2019-09-25T12:09:44.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.0.10","html_url":"https://github.com/ijl/orjson/releases/tag/2.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.10/manifests"},{"name":"2.0.9","sha":"53458f4c2f8bf7e808dca3565721516a61209b0d","kind":"commit","published_at":"2019-09-22T21:41:35.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.0.9","html_url":"https://github.com/ijl/orjson/releases/tag/2.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.9/manifests"},{"name":"2.0.8","sha":"92331a403551e6eee3fdb69a34cdd1792119b540","kind":"commit","published_at":"2019-09-18T16:45:11.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.0.8","html_url":"https://github.com/ijl/orjson/releases/tag/2.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.8/manifests"},{"name":"2.0.7","sha":"c34850b5e7dfdb354d6ff6fa18fcde18571a0820","kind":"commit","published_at":"2019-08-29T15:07:14.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.0.7","html_url":"https://github.com/ijl/orjson/releases/tag/2.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.7/manifests"},{"name":"2.0.6","sha":"a67f420f2d5713b12cca0d9dd662596f16e6c856","kind":"commit","published_at":"2019-05-11T16:18:07.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.0.6","html_url":"https://github.com/ijl/orjson/releases/tag/2.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.6/manifests"},{"name":"2.0.5","sha":"c4d49f0d4e004f8403e25bcfa50bbc82185b9fff","kind":"commit","published_at":"2019-04-19T14:17:16.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.0.5","html_url":"https://github.com/ijl/orjson/releases/tag/2.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.5/manifests"},{"name":"2.0.4","sha":"07d0860a37f6bf429f5bdaeae050c14cbccd5d9b","kind":"commit","published_at":"2019-04-02T22:23:10.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.0.4","html_url":"https://github.com/ijl/orjson/releases/tag/2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.4/manifests"},{"name":"2.0.3","sha":"8b58672b34512310ffe9dd04d9b3ae86a5d3b4a4","kind":"commit","published_at":"2019-03-23T18:36:38.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.0.3","html_url":"https://github.com/ijl/orjson/releases/tag/2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.3/manifests"},{"name":"2.0.2","sha":"57adb0d12dcc065a0746ae1dcb962cf787fc9f92","kind":"commit","published_at":"2019-03-12T14:17:55.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.0.2","html_url":"https://github.com/ijl/orjson/releases/tag/2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.2/manifests"},{"name":"2.0.1","sha":"1dbaff63f615c663ad2ae94259bf848cac463945","kind":"commit","published_at":"2019-02-05T15:16:09.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.0.1","html_url":"https://github.com/ijl/orjson/releases/tag/2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.1/manifests"},{"name":"2.0.0","sha":"07ee0857c8faba12a66ef76d9621cafd08a7471e","kind":"commit","published_at":"2019-01-28T14:52:51.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/2.0.0","html_url":"https://github.com/ijl/orjson/releases/tag/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/2.0.0/manifests"},{"name":"1.3.1","sha":"b9aad6872d5d8403c344547c6c077c24bd332382","kind":"commit","published_at":"2019-01-03T23:35:22.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/1.3.1","html_url":"https://github.com/ijl/orjson/releases/tag/1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/1.3.1/manifests"},{"name":"1.3.0","sha":"ca4291362b446be60448850a6e362c89af92845d","kind":"commit","published_at":"2019-01-02T13:59:20.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/1.3.0","html_url":"https://github.com/ijl/orjson/releases/tag/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/1.3.0/manifests"},{"name":"1.2.1","sha":"0caafefecdfc861018c0d6bdd09ee3702d57de01","kind":"commit","published_at":"2018-12-31T17:37:56.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/1.2.1","html_url":"https://github.com/ijl/orjson/releases/tag/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/1.2.1/manifests"},{"name":"1.2.0","sha":"0eb580ecf07b60afcf1597baa78bb4478730b4b9","kind":"commit","published_at":"2018-12-16T16:42:17.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/1.2.0","html_url":"https://github.com/ijl/orjson/releases/tag/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/1.2.0/manifests"},{"name":"1.1.0","sha":"2966d19f41162af0d79db064ea563cd763fe68cb","kind":"commit","published_at":"2018-12-04T01:11:40.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/1.1.0","html_url":"https://github.com/ijl/orjson/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/1.1.0/manifests"},{"name":"1.0.1","sha":"15d40d2f90c79305f4c1a1b56b553ce9ea3417f0","kind":"commit","published_at":"2018-11-26T12:10:18.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/1.0.1","html_url":"https://github.com/ijl/orjson/releases/tag/1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/1.0.1/manifests"},{"name":"1.0.0","sha":"2144b3269318885ab07e19fccc4e00466d184a8b","kind":"commit","published_at":"2018-11-23T18:41:44.000Z","download_url":"https://codeload.github.com/ijl/orjson/tar.gz/1.0.0","html_url":"https://github.com/ijl/orjson/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijl%2Forjson/tags/1.0.0/manifests"}]},"repo_metadata_updated_at":"2025-06-02T10:33:56.968Z","dependent_packages_count":1197,"downloads":58342393,"downloads_period":"last-month","dependent_repos_count":12646,"rankings":{"downloads":0.06144455225263065,"dependent_repos_count":0.07520079529426438,"dependent_packages_count":0.022743655162167763,"stargazers_count":0.8072163416830671,"forks_count":4.819270478919016,"docker_downloads_count":0.0317310672827018,"average":0.969601148432308},"purl":"pkg:pypi/orjson","advisories":[{"uuid":"GSA_kwCzR0hTQS1wd3IyLTR2MzYtNnFwcs4AA5gF","url":"https://github.com/advisories/GHSA-pwr2-4v36-6qpr","title":"orjson does not limit recursion for deeply nested JSON documents","description":"orjson.loads in orjson before 3.9.15 does not limit recursion for deeply nested JSON documents.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2024-02-26T18:30:31.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2024-27454","https://github.com/ijl/orjson/issues/458","https://github.com/ijl/orjson/commit/b0e4d2c06ce06c6e63981bf0276e4b7c74e5845e","https://github.com/ijl/orjson/blob/master/CHANGELOG.md#3915","https://monicz.dev/CVE-2024-27454","https://github.com/pypa/advisory-database/tree/main/vulns/orjson/PYSEC-2024-40.yaml","https://github.com/advisories/GHSA-pwr2-4v36-6qpr"],"source_kind":"github","identifiers":["GHSA-pwr2-4v36-6qpr","CVE-2024-27454"],"repository_url":"https://github.com/ijl/orjson","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"3.9.15","vulnerable_version_range":"\u003c 3.9.15"}],"ecosystem":"pypi","package_name":"orjson"}],"created_at":"2024-02-26T22:04:44.702Z","updated_at":"2025-05-24T01:09:25.061Z","epss_percentage":0.0003,"epss_percentile":0.06935}],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/orjson","docker_dependents_count":1576,"docker_downloads_count":1712840009,"usage_url":"https://repos.ecosyste.ms/usage/pypi/orjson","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/orjson/dependencies","status":null,"funding_links":[],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/orjson/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/orjson/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/orjson/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/orjson/related_packages","maintainers":[{"uuid":"ijl","login":"ijl","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://pypi.org/user/ijl/","role":null,"created_at":"2022-11-20T21:02:19.667Z","updated_at":"2022-11-20T21:02:19.667Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/ijl/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":499,"unique_repositories_count_past_30_days":78,"recent_issues":[{"uuid":"4230319797","node_id":"PR_kwDOANdrbM7RDEDi","number":620,"state":"closed","title":"build(deps): bump the uv group across 1 directory with 5 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-09T08:11:55.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-09T07:28:08.000Z","updated_at":"2026-04-09T08:12:06.000Z","time_to_close":2627,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"uv","update_count":5,"packages":[{"name":"tornado","old_version":"6.5.4","new_version":"6.5.5","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"requests","old_version":"2.32.3","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"black","old_version":"25.1.0","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"44.0.2","new_version":"46.0.7","repository_url":"https://github.com/pyca/cryptography"},{"name":"orjson","old_version":"3.10.16","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.4` | `6.5.5` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.33.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.2` | `46.0.7` |\n| [orjson](https://github.com/ijl/orjson) | `3.10.16` | `3.11.6` |\n\n\nUpdates `tornado` from 6.5.4 to 6.5.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst\"\u003etornado's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease notes\u003c/h1\u003e\n\u003cp\u003e.. toctree::\n:maxdepth: 2\u003c/p\u003e\n\u003cp\u003ereleases/v6.5.5\nreleases/v6.5.4\nreleases/v6.5.3\nreleases/v6.5.2\nreleases/v6.5.1\nreleases/v6.5.0\nreleases/v6.4.2\nreleases/v6.4.1\nreleases/v6.4.0\nreleases/v6.3.3\nreleases/v6.3.2\nreleases/v6.3.1\nreleases/v6.3.0\nreleases/v6.2.0\nreleases/v6.1.0\nreleases/v6.0.4\nreleases/v6.0.3\nreleases/v6.0.2\nreleases/v6.0.1\nreleases/v6.0.0\nreleases/v5.1.1\nreleases/v5.1.0\nreleases/v5.0.2\nreleases/v5.0.1\nreleases/v5.0.0\nreleases/v4.5.3\nreleases/v4.5.2\nreleases/v4.5.1\nreleases/v4.5.0\nreleases/v4.4.3\nreleases/v4.4.2\nreleases/v4.4.1\nreleases/v4.4.0\nreleases/v4.3.0\nreleases/v4.2.1\nreleases/v4.2.0\nreleases/v4.1.0\nreleases/v4.0.2\nreleases/v4.0.1\nreleases/v4.0.0\nreleases/v3.2.2\nreleases/v3.2.1\nreleases/v3.2.0\nreleases/v3.1.1\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/tornadoweb/tornado/commit/7d6465056ceb7a054b3f64cf1c18271753b10482\"\u003e\u003ccode\u003e7d64650\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3586\"\u003e#3586\u003c/a\u003e from bdarnell/update-cibw\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/d05d59b8080a0d5d6a260994c7aad7049209d345\"\u003e\u003ccode\u003ed05d59b\u003c/code\u003e\u003c/a\u003e build: Bump cibuildwheel to 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/c2f46732b0ad14bf0db4219c96a945f4b60205f5\"\u003e\u003ccode\u003ec2f4673\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3585\"\u003e#3585\u003c/a\u003e from bdarnell/release-655\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/e5f1aa4b6fa2c16b29024830227838fcb0c79b6f\"\u003e\u003ccode\u003ee5f1aa4\u003c/code\u003e\u003c/a\u003e Release notes and version bump for v6.5.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/78a046f99f89977dfc8ff5a1fe16d298afbeeaca\"\u003e\u003ccode\u003e78a046f\u003c/code\u003e\u003c/a\u003e httputil: Add CRLF to _FORBIDDEN_HEADER_CHARS_RE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/24a2d96ea115f663b223887deb0060f13974c104\"\u003e\u003ccode\u003e24a2d96\u003c/code\u003e\u003c/a\u003e web: Validate characters in all cookie attributes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/119a195e290c43ad2d63a2cf012c29d43d6ed839\"\u003e\u003ccode\u003e119a195\u003c/code\u003e\u003c/a\u003e httputil: Add limits on multipart form data parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tornadoweb/tornado/compare/v6.5.4...v6.5.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 25.1.0 to 26.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\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/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop eventloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c6755bb741b6481d6b3d3bb563c83fa060db96c9\"\u003e\u003ccode\u003ec6755bb\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5046\"\u003e#5046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69973fd6950985fbeb1090d96da717dc4d8380b0\"\u003e\u003ccode\u003e69973fd\u003c/code\u003e\u003c/a\u003e Harden blackd browser-facing request handling (\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4937fe6cf241139ddbfc16b0bdbb5b422798909d\"\u003e\u003ccode\u003e4937fe6\u003c/code\u003e\u003c/a\u003e Fix some shenanigans with the cache file and IPython (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2e641d174469c505d5ae905e75d4c769597e681f\"\u003e\u003ccode\u003e2e641d1\u003c/code\u003e\u003c/a\u003e docs: remove outdated Black Playground references (\u003ca href=\"https://redirect.github.com/psf/black/issues/5044\"\u003e#5044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c014b22a2d5e0632587b47b81151658bddfa0b88\"\u003e\u003ccode\u003ec014b22\u003c/code\u003e\u003c/a\u003e Remove unused internal code (\u003ca href=\"https://redirect.github.com/psf/black/issues/5041\"\u003e#5041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0dae20b2d009f2f03de8696d06b0c947d3abafc9\"\u003e\u003ccode\u003e0dae20b\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5036\"\u003e#5036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c5c1cbddd92cecb554ac2a77a24139dd76831030\"\u003e\u003ccode\u003ec5c1cbd\u003c/code\u003e\u003c/a\u003e Minor release patches (\u003ca href=\"https://redirect.github.com/psf/black/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7e5a828c37d71b6a6666e28eed444816def6a8f4\"\u003e\u003ccode\u003e7e5a828\u003c/code\u003e\u003c/a\u003e docs: clarify relationship between Black style and PEP 8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5025\"\u003e#5025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69705deb8776e7c5e585668da106d1abe2cb8d77\"\u003e\u003ccode\u003e69705de\u003c/code\u003e\u003c/a\u003e docs: add clearer pyproject configuration guidance (\u003ca href=\"https://redirect.github.com/psf/black/issues/5026\"\u003e#5026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/35ea67920b7f6ac8e09be1c47278752b1e827f76\"\u003e\u003ccode\u003e35ea679\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5032\"\u003e#5032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.1.0...26.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 44.0.2 to 46.0.7\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.7 - 2026-04-07\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **SECURITY ISSUE**: Fixed an issue where non-contiguous buffers could be\n  passed to APIs that accept Python buffers, which could lead to buffer\n  overflow. **CVE-2026-39892**\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.6.\n\u003cp\u003e.. _v46-0-6:\u003c/p\u003e\n\u003cp\u003e46.0.6 - 2026-03-25\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSECURITY ISSUE\u003c/strong\u003e: Fixed a bug where name constraints were not applied\nto peer names during verification when the leaf certificate contains a\nwildcard DNS SAN. Ordinary X.509 topologies are not affected by this bug,\nincluding those used by the Web PKI. Credit to \u003cstrong\u003eOleh Konko (1seal)\u003c/strong\u003e for\nreporting the issue. \u003cstrong\u003eCVE-2026-34073\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-5:\u003c/p\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDropped support for win_arm64 wheels\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\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/pyca/cryptography/commit/622d672e429a7cff836a23c5903683dbec1901f5\"\u003e\u003ccode\u003e622d672\u003c/code\u003e\u003c/a\u003e 46.0.7 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14602\"\u003e#14602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/91d728897bdad30cd5c79a2b23e207f1f050d587\"\u003e\u003ccode\u003e91d7288\u003c/code\u003e\u003c/a\u003e Cherry-pick \u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14542\"\u003e#14542\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/44.0.2...46.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.10.16 to 3.11.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6 - 2026-01-29\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2 - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ec02024c3837255064f248c0d2d331319b75e9ad\"\u003e\u003ccode\u003eec02024\u003c/code\u003e\u003c/a\u003e 3.11.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d58168733189f82b3fd0c058dff73e05d09202e6\"\u003e\u003ccode\u003ed581687\u003c/code\u003e\u003c/a\u003e build, clippy misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4105b29b2275f200f6fae01349bef02ccf1bc2e2\"\u003e\u003ccode\u003e4105b29\u003c/code\u003e\u003c/a\u003e writer::num\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/62bb185b70785ded49c79c26f8c9781f1e6fe370\"\u003e\u003ccode\u003e62bb185\u003c/code\u003e\u003c/a\u003e Fix sporadic crash on serializing object close\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d860078a973f44401265c5c4ad12a7dbe4f839ad\"\u003e\u003ccode\u003ed860078\u003c/code\u003e\u003c/a\u003e PyRef idiom refactors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/343ae2f148197918aba9f8562db42c364620e4b8\"\u003e\u003ccode\u003e343ae2f\u003c/code\u003e\u003c/a\u003e Deserializer, Utf8Buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/7835f58d1c56947d1cf7a18acdfc07a2bca9b0f2\"\u003e\u003ccode\u003e7835f58\u003c/code\u003e\u003c/a\u003e PyBytesRef and other input refactor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/71e0516424ce1e11613eb1780f18e8cde83989fd\"\u003e\u003ccode\u003e71e0516\u003c/code\u003e\u003c/a\u003e PyStrRef\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1096df42dc585fde837ed0c930a346f5ef7dbb94\"\u003e\u003ccode\u003e1096df4\u003c/code\u003e\u003c/a\u003e MSRV 1.89\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/b718e75b8ba18a707c2b44b6de14d52547573771\"\u003e\u003ccode\u003eb718e75\u003c/code\u003e\u003c/a\u003e Drop support for python3.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.16...3.11.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/WMD-group/SMACT/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/WMD-group/SMACT/pull/620","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/WMD-group%2FSMACT/issues/620","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/620/packages"},{"uuid":"4229481563","node_id":"PR_kwDOBXYo-M7RA5_d","number":13045,"state":"open","title":"chore(deps): bump orjson from 3.11.7 to 3.11.8","user":"dependabot[bot]","labels":["Dependencies","Python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-09T04:46:57.000Z","updated_at":"2026-04-09T05:01:06.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"orjson","old_version":"3.11.7","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps [orjson](https://github.com/ijl/orjson) from 3.11.7 to 3.11.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8 - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78\"\u003e\u003ccode\u003e5cbb3d0\u003c/code\u003e\u003c/a\u003e 3.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e\"\u003e\u003ccode\u003e4195d7f\u003c/code\u003e\u003c/a\u003e writer::half\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b\"\u003e\u003ccode\u003ed00641b\u003c/code\u003e\u003c/a\u003e writer::uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84\"\u003e\u003ccode\u003ec84d9b4\u003c/code\u003e\u003c/a\u003e build and compatibility misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43\"\u003e\u003ccode\u003e4547234\u003c/code\u003e\u003c/a\u003e ffi::numpy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb\"\u003e\u003ccode\u003e0d4a5ad\u003c/code\u003e\u003c/a\u003e datetime PyRef idiom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85\"\u003e\u003ccode\u003ee93a13d\u003c/code\u003e\u003c/a\u003e Cross-compile avoids maturin v1.12 build-details.json error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.7...3.11.8\"\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=orjson\u0026package-manager=pip\u0026previous-version=3.11.7\u0026new-version=3.11.8)](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/freqtrade/freqtrade/pull/13045","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/freqtrade%2Ffreqtrade/issues/13045","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13045/packages"},{"uuid":"4214584659","node_id":"PR_kwDOQjWrwM7QV8At","number":102,"state":"closed","title":"build(deps): bump the minor-updates group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-08T22:15:51.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-06T23:32:54.000Z","updated_at":"2026-04-08T22:15:53.000Z","time_to_close":168177,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"minor-updates","update_count":15,"packages":[{"name":"boto3","old_version":"1.42.73","new_version":"1.42.83","repository_url":"https://github.com/boto/boto3"},{"name":"mcp","old_version":"1.26.0","new_version":"1.27.0","repository_url":"https://github.com/modelcontextprotocol/python-sdk"},{"name":"strands-agents","old_version":"1.32.0","new_version":"1.34.1","repository_url":"https://github.com/strands-agents/sdk-python"},{"name":"regex","old_version":"2026.2.28","new_version":"2026.4.4","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"anyio","old_version":"4.12.1","new_version":"4.13.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"botocore","old_version":"1.42.73","new_version":"1.42.83","repository_url":"https://github.com/boto/botocore"},{"name":"charset-normalizer","old_version":"3.4.6","new_version":"3.4.7","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.3.1","new_version":"8.3.2","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":"importlib-metadata","old_version":"8.7.1","new_version":"8.9.0","repository_url":"https://github.com/python/importlib_metadata"},{"name":"orjson","old_version":"3.11.7","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.45.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"requests","old_version":"2.33.0","new_version":"2.33.1","repository_url":"https://github.com/psf/requests"},{"name":"sse-starlette","old_version":"3.3.3","new_version":"3.3.4","repository_url":"https://github.com/sysid/sse-starlette"},{"name":"uvicorn","old_version":"0.42.0","new_version":"0.43.0","repository_url":"https://github.com/Kludex/uvicorn"}],"path":null,"ecosystem":"pip"},"body":"Bumps the minor-updates group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [boto3](https://github.com/boto/boto3) | `1.42.73` | `1.42.83` |\n| [mcp](https://github.com/modelcontextprotocol/python-sdk) | `1.26.0` | `1.27.0` |\n| [strands-agents](https://github.com/strands-agents/sdk-python) | `1.32.0` | `1.34.1` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2026.2.28` | `2026.4.4` |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.1` | `4.13.0` |\n| [botocore](https://github.com/boto/botocore) | `1.42.73` | `1.42.83` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.6` | `3.4.7` |\n| [click](https://github.com/pallets/click) | `8.3.1` | `8.3.2` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.5` | `46.0.6` |\n| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.7.1` | `8.9.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.7` | `3.11.8` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.45.0` |\n| [requests](https://github.com/psf/requests) | `2.33.0` | `2.33.1` |\n| [sse-starlette](https://github.com/sysid/sse-starlette) | `3.3.3` | `3.3.4` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.42.0` | `0.43.0` |\n\n\nUpdates `boto3` from 1.42.73 to 1.42.83\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/319798f7910ad2f4117bf423f0242c082a1f0abd\"\u003e\u003ccode\u003e319798f\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.83'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/afa955efa904e19965b744b7f6751218d4ded2ba\"\u003e\u003ccode\u003eafa955e\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.83\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/969066df9c961c562442fbaba3a70554c2fc094b\"\u003e\u003ccode\u003e969066d\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/f4c31406f10f0952510b8733ee4185c1407a3772\"\u003e\u003ccode\u003ef4c3140\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.82'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/8237e0e7bec72aaa31544544d34fab241b37553e\"\u003e\u003ccode\u003e8237e0e\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.82' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/6f10d160c1cf966372adf52d6fe16c7902b929be\"\u003e\u003ccode\u003e6f10d16\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.82\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/2eb11452a8e3eea9bf0d1712f233bd0dcefcaf59\"\u003e\u003ccode\u003e2eb1145\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/a70b9fd264bc254bcf168c37e2371285b96239d9\"\u003e\u003ccode\u003ea70b9fd\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.81'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/56ae489b4b4c8e7ebec45fa85b4f5cc81576e739\"\u003e\u003ccode\u003e56ae489\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.81' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/e65b71f091a7f343569690deae3d8ed2f43cce79\"\u003e\u003ccode\u003ee65b71f\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.81\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.42.73...1.42.83\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp` from 1.26.0 to 1.27.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.27.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: remove unused \u003ccode\u003erequests\u003c/code\u003e dependency from simple-chatbot example by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1959\"\u003emodelcontextprotocol/python-sdk#1959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: backport conformance tests from main to v1.x by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2068\"\u003emodelcontextprotocol/python-sdk#2068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add RFC 8707 resource validation to OAuth client by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2069\"\u003emodelcontextprotocol/python-sdk#2069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add idle timeout for StreamableHTTP sessions by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1994\"\u003emodelcontextprotocol/python-sdk#1994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x] fix: prevent command injection in example URL opening by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2085\"\u003emodelcontextprotocol/python-sdk#2085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd VERSIONING.md, ROADMAP.md, and DEPENDENCY_POLICY.md by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2084\"\u003emodelcontextprotocol/python-sdk#2084\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: restructure README into docs/ pages by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2091\"\u003emodelcontextprotocol/python-sdk#2091\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: comprehensive feature documentation for SEP-1730 Tier 1 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2090\"\u003emodelcontextprotocol/python-sdk#2090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix stub pages and improve docs structure by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2101\"\u003emodelcontextprotocol/python-sdk#2101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix GitHub links to point to v1.x branch by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2102\"\u003emodelcontextprotocol/python-sdk#2102\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add snippet verification for docs/ pages by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2115\"\u003emodelcontextprotocol/python-sdk#2115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add server-side tool error handling documentation by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2129\"\u003emodelcontextprotocol/python-sdk#2129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport: Add missing TasksCallCapability to v1.x by \u003ca href=\"https://github.com/BabyChrist666\"\u003e\u003ccode\u003e@​BabyChrist666\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2137\"\u003emodelcontextprotocol/python-sdk#2137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x] fix: handle non-UTF-8 bytes in stdio server stdin by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2303\"\u003emodelcontextprotocol/python-sdk#2303\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x] fix: handle ClosedResourceError when transport closes mid-request by \u003ca href=\"https://github.com/owendevereaux\"\u003e\u003ccode\u003e@​owendevereaux\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2334\"\u003emodelcontextprotocol/python-sdk#2334\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/owendevereaux\"\u003e\u003ccode\u003e@​owendevereaux\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2334\"\u003emodelcontextprotocol/python-sdk#2334\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.26.0...v1.27.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.26.0...v1.27.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/modelcontextprotocol/python-sdk/commit/652478266702ac71a1d03692337bd5207ddbedf4\"\u003e\u003ccode\u003e6524782\u003c/code\u003e\u003c/a\u003e [v1.x] fix: handle ClosedResourceError when transport closes mid-request (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2334\"\u003e#2334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/2e9897e2b916bef25e7755146aeb9f9b69c1075d\"\u003e\u003ccode\u003e2e9897e\u003c/code\u003e\u003c/a\u003e [v1.x] fix: handle non-UTF-8 bytes in stdio server stdin (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2303\"\u003e#2303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/f8d98b63a7e9ab5855d79556d3d7e5638472af6c\"\u003e\u003ccode\u003ef8d98b6\u003c/code\u003e\u003c/a\u003e Backport: Add missing TasksCallCapability to v1.x (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2137\"\u003e#2137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c68e254bad1dd39e6a10dad43d954c6d17f9f514\"\u003e\u003ccode\u003ec68e254\u003c/code\u003e\u003c/a\u003e docs: add server-side tool error handling documentation (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2129\"\u003e#2129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/1ef124e4a85c1c0947fdc6ba1dd1af384d866064\"\u003e\u003ccode\u003e1ef124e\u003c/code\u003e\u003c/a\u003e docs: add snippet verification for docs/ pages (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2115\"\u003e#2115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/cfbbd7d71aeb094b122c8780a5cb3816e09f29af\"\u003e\u003ccode\u003ecfbbd7d\u003c/code\u003e\u003c/a\u003e docs: fix GitHub links to point to v1.x branch (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2102\"\u003e#2102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/1f9fb348f3311bb7cc139bc2c457220368cfea9e\"\u003e\u003ccode\u003e1f9fb34\u003c/code\u003e\u003c/a\u003e docs: fix stub pages and improve docs structure (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2101\"\u003e#2101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c86477c7b752c57e503c00b93cd7f161a2562d49\"\u003e\u003ccode\u003ec86477c\u003c/code\u003e\u003c/a\u003e docs: comprehensive feature documentation for SEP-1730 Tier 1 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2090\"\u003e#2090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/a77462b64da89439aa49cb115fff830f3b09d01e\"\u003e\u003ccode\u003ea77462b\u003c/code\u003e\u003c/a\u003e docs: restructure README into docs/ pages (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2091\"\u003e#2091\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/b1adfcd88542fb2930f42cccab2f3629f605c498\"\u003e\u003ccode\u003eb1adfcd\u003c/code\u003e\u003c/a\u003e Add VERSIONING.md, ROADMAP.md, and DEPENDENCY_POLICY.md (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2084\"\u003e#2084\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.26.0...v1.27.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `strands-agents` from 1.32.0 to 1.34.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/strands-agents/sdk-python/releases\"\u003estrands-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.34.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: fix type imcompatible by \u003ca href=\"https://github.com/JackYPCOnline\"\u003e\u003ccode\u003e@​JackYPCOnline\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/2018\"\u003estrands-agents/sdk-python#2018\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: isolate langfuse env vars by \u003ca href=\"https://github.com/lizradway\"\u003e\u003ccode\u003e@​lizradway\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/2022\"\u003estrands-agents/sdk-python#2022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: restore explicit span.end() to fix span end_time regression by \u003ca href=\"https://github.com/zastrowm\"\u003e\u003ccode\u003e@​zastrowm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/2032\"\u003estrands-agents/sdk-python#2032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(context): track context tokens by \u003ca href=\"https://github.com/lizradway\"\u003e\u003ccode\u003e@​lizradway\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/2009\"\u003estrands-agents/sdk-python#2009\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/strands-agents/sdk-python/compare/v1.34.0...v1.34.1\"\u003ehttps://github.com/strands-agents/sdk-python/compare/v1.34.0...v1.34.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.34.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: remove Cohere from required integ test providers by \u003ca href=\"https://github.com/zastrowm\"\u003e\u003ccode\u003e@​zastrowm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1967\"\u003estrands-agents/sdk-python#1967\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add AgentAsTool by \u003ca href=\"https://github.com/notowen333\"\u003e\u003ccode\u003e@​notowen333\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1932\"\u003estrands-agents/sdk-python#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: auto-wrap Agent instances passed in tools list by \u003ca href=\"https://github.com/agent-of-mkmeral\"\u003e\u003ccode\u003e@​agent-of-mkmeral\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1997\"\u003estrands-agents/sdk-python#1997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(telemetry): emit system prompt on chat spans per GenAI semconv by \u003ca href=\"https://github.com/sanjeed5\"\u003e\u003ccode\u003e@​sanjeed5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1818\"\u003estrands-agents/sdk-python#1818\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(mcp): add support for MCP elicitation -32042 error handling by \u003ca href=\"https://github.com/Christian-kam\"\u003e\u003ccode\u003e@​Christian-kam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1745\"\u003estrands-agents/sdk-python#1745\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: ollama input/output token count by \u003ca href=\"https://github.com/lizradway\"\u003e\u003ccode\u003e@​lizradway\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/2008\"\u003estrands-agents/sdk-python#2008\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add stateful model support for server-side conversation management by \u003ca href=\"https://github.com/pgrayy\"\u003e\u003ccode\u003e@​pgrayy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/2004\"\u003estrands-agents/sdk-python#2004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add built-in tool support for OpenAI Responses API by \u003ca href=\"https://github.com/pgrayy\"\u003e\u003ccode\u003e@​pgrayy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/2011\"\u003estrands-agents/sdk-python#2011\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: handle reasoning content in OpenAIResponsesModel request formatting by \u003ca href=\"https://github.com/pgrayy\"\u003e\u003ccode\u003e@​pgrayy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/2013\"\u003estrands-agents/sdk-python#2013\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/notowen333\"\u003e\u003ccode\u003e@​notowen333\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1932\"\u003estrands-agents/sdk-python#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agent-of-mkmeral\"\u003e\u003ccode\u003e@​agent-of-mkmeral\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1997\"\u003estrands-agents/sdk-python#1997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sanjeed5\"\u003e\u003ccode\u003e@​sanjeed5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1818\"\u003estrands-agents/sdk-python#1818\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Christian-kam\"\u003e\u003ccode\u003e@​Christian-kam\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1745\"\u003estrands-agents/sdk-python#1745\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/strands-agents/sdk-python/compare/v1.33.0...v1.34.0\"\u003ehttps://github.com/strands-agents/sdk-python/compare/v1.33.0...v1.34.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.33.0\u003c/h2\u003e\n\u003cp\u003ePins litellm\u0026lt;=1.82.6 to supply chain attack - \u003ca href=\"https://futuresearch.ai/blog/litellm-pypi-supply-chain-attack/\"\u003eS​upply Chain Attack in litellm 1.82.8 on PyPI\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: summarization conversation manager sometimes returns empty response by \u003ca href=\"https://github.com/Unshure\"\u003e\u003ccode\u003e@​Unshure\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1947\"\u003estrands-agents/sdk-python#1947\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove agent from swarm test to get more consistency out of it by \u003ca href=\"https://github.com/Unshure\"\u003e\u003ccode\u003e@​Unshure\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1946\"\u003estrands-agents/sdk-python#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: CRITICAL: Hard pin \u003ccode\u003elitellm\u0026lt;=1.82.6\u003c/code\u003e to mitigate supply chain attack by \u003ca href=\"https://github.com/udaymehta\"\u003e\u003ccode\u003e@​udaymehta\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1961\"\u003estrands-agents/sdk-python#1961\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/udaymehta\"\u003e\u003ccode\u003e@​udaymehta\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1961\"\u003estrands-agents/sdk-python#1961\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/strands-agents/sdk-python/compare/v1.32.0...v1.33.0\"\u003ehttps://github.com/strands-agents/sdk-python/compare/v1.32.0...v1.33.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/strands-agents/sdk-python/commit/635edbc60b72c5aa3df7e92bdfd8d1aec7b5223c\"\u003e\u003ccode\u003e635edbc\u003c/code\u003e\u003c/a\u003e feat(context): surface context window size from LLM response metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strands-agents/sdk-python/commit/cda2a55a8eb0c5e681bfda9764fd47048a67f6b9\"\u003e\u003ccode\u003ecda2a55\u003c/code\u003e\u003c/a\u003e fix: restore explicit span.end() to fix span end_time regression (\u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/issues/2032\"\u003e#2032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strands-agents/sdk-python/commit/53917945a137c5e61e0b9b62ed079c90280bf014\"\u003e\u003ccode\u003e5391794\u003c/code\u003e\u003c/a\u003e fix: isolate langfuse env vars (\u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/issues/2022\"\u003e#2022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strands-agents/sdk-python/commit/7b4df8aef611ef49cd8e87557c8002b1ff2f6555\"\u003e\u003ccode\u003e7b4df8a\u003c/code\u003e\u003c/a\u003e fix: fix type imcompatible (\u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/issues/2018\"\u003e#2018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strands-agents/sdk-python/commit/e267a64b8a664bbda5802005281551e5dd6af412\"\u003e\u003ccode\u003ee267a64\u003c/code\u003e\u003c/a\u003e fix: handle reasoning content in OpenAIResponsesModel request formatting (\u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/issues/2013\"\u003e#2013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strands-agents/sdk-python/commit/de9b1498950545816f4384f1aa612e4b0d5d4a2d\"\u003e\u003ccode\u003ede9b149\u003c/code\u003e\u003c/a\u003e feat: add built-in tool support for OpenAI Responses API (\u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/issues/2011\"\u003e#2011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strands-agents/sdk-python/commit/ae19308d0e4e3114f81a2b3776c8afb43d5646ba\"\u003e\u003ccode\u003eae19308\u003c/code\u003e\u003c/a\u003e feat: add stateful model support for server-side conversation management (\u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/issues/2004\"\u003e#2004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strands-agents/sdk-python/commit/424224d6bef0789302644876faf0b745bdbc5876\"\u003e\u003ccode\u003e424224d\u003c/code\u003e\u003c/a\u003e fix: ollama input/output token count (\u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/issues/2008\"\u003e#2008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strands-agents/sdk-python/commit/e2b60364677e0fca967d3247aa3cb5890bc67e78\"\u003e\u003ccode\u003ee2b6036\u003c/code\u003e\u003c/a\u003e feat(mcp): add support for MCP elicitation -32042 error handling (\u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/issues/1745\"\u003e#1745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strands-agents/sdk-python/commit/194c69b42ea5b537707f20f3acf3348d539a91b5\"\u003e\u003ccode\u003e194c69b\u003c/code\u003e\u003c/a\u003e feat(telemetry): emit system prompt on chat spans per GenAI semconv (\u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/issues/1818\"\u003e#1818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/strands-agents/sdk-python/compare/v1.32.0...v1.34.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `regex` from 2026.2.28 to 2026.4.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/bc57b04b00de68590345ac2eb621b9a8dd222d7d\"\u003e\u003ccode\u003ebc57b04\u003c/code\u003e\u003c/a\u003e A fix for older Python versions before free-threading was  supported.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/773e213b5d7a78806e795d2513a37345dc793e97\"\u003e\u003ccode\u003e773e213\u003c/code\u003e\u003c/a\u003e More fixes for free-threading.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/5d51c75da03116e08bb6fb537fae6d8c804cc92c\"\u003e\u003ccode\u003e5d51c75\u003c/code\u003e\u003c/a\u003e Fixed segfault.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/2aff2db5542ec5b58705be6ddb7b69a99d3e38a8\"\u003e\u003ccode\u003e2aff2db\u003c/code\u003e\u003c/a\u003e Fixed bug again.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/16af8aed2b3211e90588d2ac96f7c588ed477b2c\"\u003e\u003ccode\u003e16af8ae\u003c/code\u003e\u003c/a\u003e Fixed bug.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/2356563bbfd51b3986320a866c35a50b89833949\"\u003e\u003ccode\u003e2356563\u003c/code\u003e\u003c/a\u003e Fixed bug.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/f579e8ff60e2993a11cf4fd96748e4b7866c9fed\"\u003e\u003ccode\u003ef579e8f\u003c/code\u003e\u003c/a\u003e Fixed version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/55315a0497722898bed8286a596a64db698f498e\"\u003e\u003ccode\u003e55315a0\u003c/code\u003e\u003c/a\u003e Fixed version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/923d78e39b8ff92db67606be3bfbc2e595b6475a\"\u003e\u003ccode\u003e923d78e\u003c/code\u003e\u003c/a\u003e Various fixes, including ones to improve free-threading support.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mrabarnett/mrab-regex/compare/2026.2.28...2026.4.4\"\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://redirect.github.com/agronholm/anyio/issues/1097\"\u003e#1097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/602f6606dcf3f37702686a4f3e161328c537b07f\"\u003e\u003ccode\u003e602f660\u003c/code\u003e\u003c/a\u003e Widened type annotations to accept IO[bytes] in file streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/b5dcd45170701a756ba634197398f05d4710cab3\"\u003e\u003ccode\u003eb5dcd45\u003c/code\u003e\u003c/a\u003e Added note about erasing the template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/d68670b3b4e0917d4caff2de082e03220f3e05a1\"\u003e\u003ccode\u003ed68670b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1090\"\u003e#1090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/fc17a22dd948e6a3d90d99908813f0010dfc3d2c\"\u003e\u003ccode\u003efc17a22\u003c/code\u003e\u003c/a\u003e tweak to_thread docs about abandon_on_cancel (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1088\"\u003e#1088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.12.1...4.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `botocore` from 1.42.73 to 1.42.83\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/da27682f6cf66cf28ed80e4c5c11023a8dfdde86\"\u003e\u003ccode\u003eda27682\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.83'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/ab51d1ab429850efd7a1bccc829ff44514e4f463\"\u003e\u003ccode\u003eab51d1a\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.83\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/007c8a9faf604a95c877bf44875b7265a86bab90\"\u003e\u003ccode\u003e007c8a9\u003c/code\u003e\u003c/a\u003e Update to latest models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/d3423dea21f083ff825eacd205bb074a855ff460\"\u003e\u003ccode\u003ed3423de\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.82'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/59521564b70395bb92385db68da27ba424925b82\"\u003e\u003ccode\u003e5952156\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.82' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/009c08e111516b74426ae3541869ad48a9030179\"\u003e\u003ccode\u003e009c08e\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.82\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/38af07071ac1e4d786360af6e095fab777a5722b\"\u003e\u003ccode\u003e38af070\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/eee227dd5c216a58482247f6b3071e884c9a5056\"\u003e\u003ccode\u003eeee227d\u003c/code\u003e\u003c/a\u003e Update to latest models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/01c835b053439403b58de5409373bcf724bcb382\"\u003e\u003ccode\u003e01c835b\u003c/code\u003e\u003c/a\u003e Add the GitHub CI script for pull request build (\u003ca href=\"https://redirect.github.com/boto/botocore/issues/3664\"\u003e#3664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/56a6ef8c49887d3cba09ee5a085f16e97c1fdde1\"\u003e\u003ccode\u003e56a6ef8\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.81'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/botocore/compare/1.42.73...1.42.83\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `charset-normalizer` from 3.4.6 to 3.4.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/releases\"\u003echarset-normalizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.4.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.6...3.4.7\"\u003e3.4.7\u003c/a\u003e (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePre-built optimized version using mypy[c] v1.20.\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;82.1\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly remove SIG remnant in utf-7 decoded string. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/718\"\u003e#718\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/716\"\u003e#716\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md\"\u003echarset-normalizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.6...3.4.7\"\u003e3.4.7\u003c/a\u003e (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePre-built optimized version using mypy[c] v1.20.\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;82.1\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly remove SIG remnant in utf-7 decoded string. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/718\"\u003e#718\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/716\"\u003e#716\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/0f07891bf516b5d5231f1bd4dd2d8da7d4d09a9a\"\u003e\u003ccode\u003e0f07891\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/729\"\u003e#729\u003c/a\u003e from jawah/release-3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/fdbeb299479e8f4d737e4d227cd0b2bd5d273dc0\"\u003e\u003ccode\u003efdbeb29\u003c/code\u003e\u003c/a\u003e chore: update dev, and ci requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b66f922bfbdbdd9dd46af18a8964d4fb888756d4\"\u003e\u003ccode\u003eb66f922\u003c/code\u003e\u003c/a\u003e chore: add ft classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/f94249d0a2c712f2d03124f4de6b77f5e03aaa96\"\u003e\u003ccode\u003ef94249d\u003c/code\u003e\u003c/a\u003e chore: add test cases for utf_7 recent fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/95c866f6c984bbd043e7e3ed0628aa4f3f8d5a26\"\u003e\u003ccode\u003e95c866f\u003c/code\u003e\u003c/a\u003e chore: bump version to 3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/4f429bb764c7e893f99bb4bceb60856da1baacfb\"\u003e\u003ccode\u003e4f429bb\u003c/code\u003e\u003c/a\u003e chore: bump mypy pre-commit to v1.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b579cd6cab9bd83aa3fc0ca169d4df022bf4888c\"\u003e\u003ccode\u003eb579cd6\u003c/code\u003e\u003c/a\u003e fix: correctly remove SIG remnant in utf-7 decoded string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/58bf944a77cc0883fc46a6ee8edac3549fea5d59\"\u003e\u003ccode\u003e58bf944\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump github/codeql-action from 4.32.4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/728\"\u003e#728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/44cf8a1b676a2532a8f1694e62e4f4f98f9132e1\"\u003e\u003ccode\u003e44cf8a1\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump actions/download-artifact from 8.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/362bc20073f737b1ba4ca2f68cffb0c4cc024d20\"\u003e\u003ccode\u003e362bc20\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump docker/setup-qemu-action from 3.7.0 to 4.0.0 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/725\"\u003e#725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jawah/charset_normalizer/compare/3.4.6...3.4.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.3.1 to 8.3.2\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.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.2/\"\u003ehttps://pypi.org/project/click/8.3.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/29\"\u003ehttps://github.com/pallets/click/milestone/29\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eflag_value\u003c/code\u003e when \u003ccode\u003eis_flag=False\u003c/code\u003e to allow such options to be\nused without an explicit value. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3084\"\u003e#3084\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3152\"\u003e#3152\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when using \u003ccode\u003elookup_default()\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3199\"\u003e#3199\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3202\"\u003e#3202\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3209\"\u003e#3209\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3212\"\u003e#3212\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3224\"\u003e#3224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent \u003ccode\u003e_NamedTextIOWrapper\u003c/code\u003e from closing streams owned by \u003ccode\u003eStreamMixer\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/824\"\u003e#824\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2991\"\u003e#2991\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2993\"\u003e#2993\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3110\"\u003e#3110\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3139\"\u003e#3139\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3140\"\u003e#3140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd comprehensive tests for \u003ccode\u003eCliRunner\u003c/code\u003e stream lifecycle, covering\nlogging interaction, multi-threaded safety, and sequential invocation\nisolation. Add high-iteration stress tests behind a \u003ccode\u003estress\u003c/code\u003e marker\nwith a dedicated CI job. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3139\"\u003e#3139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix callable \u003ccode\u003eflag_value\u003c/code\u003e being instantiated when used as a default via\n\u003ccode\u003edefault=True\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3121\"\u003e#3121\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3201\"\u003e#3201\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3213\"\u003e#3213\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3225\"\u003e#3225\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.2\u003c/h2\u003e\n\u003cp\u003eReleased 2026-04-02\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eflag_value\u003c/code\u003e when \u003ccode\u003eis_flag=False\u003c/code\u003e to allow such options to be\nused without an explicit value. :issue:\u003ccode\u003e3084\u003c/code\u003e :pr:\u003ccode\u003e3152\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when using \u003ccode\u003elookup_default()\u003c/code\u003e.\n:issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3199\u003c/code\u003e :pr:\u003ccode\u003e3202\u003c/code\u003e :pr:\u003ccode\u003e3209\u003c/code\u003e :pr:\u003ccode\u003e3212\u003c/code\u003e :pr:\u003ccode\u003e3224\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ePrevent \u003ccode\u003e_NamedTextIOWrapper\u003c/code\u003e from closing streams owned by \u003ccode\u003eStreamMixer\u003c/code\u003e.\n:issue:\u003ccode\u003e824\u003c/code\u003e :issue:\u003ccode\u003e2991\u003c/code\u003e :issue:\u003ccode\u003e2993\u003c/code\u003e :issue:\u003ccode\u003e3110\u003c/code\u003e :pr:\u003ccode\u003e3139\u003c/code\u003e :pr:\u003ccode\u003e3140\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd comprehensive tests for \u003ccode\u003eCliRunner\u003c/code\u003e stream lifecycle, covering\nlogging interaction, multi-threaded safety, and sequential invocation\nisolation. Add high-iteration stress tests behind a \u003ccode\u003estress\u003c/code\u003e marker\nwith a dedicated CI job. :pr:\u003ccode\u003e3139\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix callable \u003ccode\u003eflag_value\u003c/code\u003e being instantiated when used as a default via\n\u003ccode\u003edefault=True\u003c/code\u003e. :issue:\u003ccode\u003e3121\u003c/code\u003e :pr:\u003ccode\u003e3201\u003c/code\u003e :pr:\u003ccode\u003e3213\u003c/code\u003e :pr:\u003ccode\u003e3225\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/052c006033729bbb422cbdad0c4fee988ecb5aa5\"\u003e\u003ccode\u003e052c006\u003c/code\u003e\u003c/a\u003e Change update release date.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/502b7ce7b131473ef00a3586e60bb000f33b4c43\"\u003e\u003ccode\u003e502b7ce\u003c/code\u003e\u003c/a\u003e Merge branch 'stable' of \u003ca href=\"https://github.com/pallets/click\"\u003ehttps://github.com/pallets/click\u003c/a\u003e into release-8.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a0a37e411820861d48e21b131fdd840abaf746e0\"\u003e\u003ccode\u003ea0a37e4\u003c/code\u003e\u003c/a\u003e Change publish to werkzeug latest. (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3301\"\u003e#3301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/57be6fc2b40eb40279d022e6aabc983ee0dfb7a9\"\u003e\u003ccode\u003e57be6fc\u003c/code\u003e\u003c/a\u003e Change publish to werkzeug latest.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/781d6a88bdd30229e72a84cd6753b0235f339679\"\u003e\u003ccode\u003e781d6a8\u003c/code\u003e\u003c/a\u003e Update publish workflows (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ff795b66ba945239c779b528171f5fe4536cf844\"\u003e\u003ccode\u003eff795b6\u003c/code\u003e\u003c/a\u003e Update precommit pins with tox\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/dd87ef4f9fa7d6f13e14885e9a6842a21ededebc\"\u003e\u003ccode\u003edd87ef4\u003c/code\u003e\u003c/a\u003e Update github action pins with tox\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/93d3f9d22e90035bc2b51c2183c15bd4a021376f\"\u003e\u003ccode\u003e93d3f9d\u003c/code\u003e\u003c/a\u003e Release version 8.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3299ba1a8a5de34b24a7226a683a837d8a0857e7\"\u003e\u003ccode\u003e3299ba1\u003c/code\u003e\u003c/a\u003e Add missing PR to changelog. (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3264\"\u003e#3264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b7f62c4d002e5b5bca3ebef6b995b7338740fe6f\"\u003e\u003ccode\u003eb7f62c4\u003c/code\u003e\u003c/a\u003e Add missing PR to changelog.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.3.1...8.3.2\"\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 `importlib-metadata` from 8.7.1 to 8.9.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/importlib_metadata/blob/main/NEWS.rst\"\u003eimportlib-metadata's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev8.9.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epython/cpython#110937\u003c/code\u003e\u003ca href=\"https://redirect.github.com/python/cpython/issues/140141\"\u003epython/cpython#140141\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/python/cpython/issues/143658\"\u003epython/cpython#143658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev8.8.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved Python 3.9 compatibility.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/importlib_metadata/commit/76f03df2f4df25de8aa9424cf31e600cf27f7d59\"\u003e\u003ccode\u003e76f03df\u003c/code\u003e\u003c/a\u003e 🚡 Toil the docs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/importlib_metadata/commit/613e9801303fff742a40cde7e46aaecddb41cdbf\"\u003e\u003ccode\u003e613e980\u003c/code\u003e\u003c/a\u003e Finalize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/importlib_metadata/commit/349957ee71c4a9ddbfc67fd9c907a3df80a2e64b\"\u003e\u003ccode\u003e349957e\u003c/code\u003e\u003c/a\u003e Add news fragment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/importlib_metadata/commit/8c5d91b58a95d497b5aca624fcc32620b82264fe\"\u003e\u003ccode\u003e8c5d91b\u003c/code\u003e\u003c/a\u003e Improve performance of name normalization (\u003ca href=\"https://redirect.github.com/python/importlib_metadata/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/importlib_metadata/commit/27169dcd343e65727805c12bc95bd52c9153cd04\"\u003e\u003ccode\u003e27169dc\u003c/code\u003e\u003c/a\u003e Move behavior description into the docstring. Remove references to intermedia...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/importlib_metadata/commit/cbadafcad64cee12d292ed8ac1dc96bb0295966a\"\u003e\u003ccode\u003ecbadafc\u003c/code\u003e\u003c/a\u003e Repeat the operation to get performance visibility.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/importlib_metadata/commit/a77d0d1b2f79d7fd21728284d2955ffa6d5caceb\"\u003e\u003ccode\u003ea77d0d1\u003c/code\u003e\u003c/a\u003e Add performance test for Prepared.normalize.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/importlib_metadata/commit/1b0be12fc662f0ba4ee6c86d544585485ff40dac\"\u003e\u003ccode\u003e1b0be12\u003c/code\u003e\u003c/a\u003e Use parameterize fixture for parameterized tests.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/importlib_metadata/commit/1738b206fb266302d2b7c05d2864c54b75e71c15\"\u003e\u003ccode\u003e1738b20\u003c/code\u003e\u003c/a\u003e Merge branch 'backport-cpython-140141' into maint/8.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/importlib_metadata/commit/164e666bc0802194f3cba970cd629665b74f64b0\"\u003e\u003ccode\u003e164e666\u003c/code\u003e\u003c/a\u003e Merge branch 'backport-cpython-110937' into maint/8.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/importlib_metadata/compare/v8.7.1...v8.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.11.7 to 3.11.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8 - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78\"\u003e\u003ccode\u003e5cbb3d0\u003c/code\u003e\u003c/a\u003e 3.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e\"\u003e\u003ccode\u003e4195d7f\u003c/code\u003e\u003c/a\u003e writer::half\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b\"\u003e\u003ccode\u003ed00641b\u003c/code\u003e\u003c/a\u003e writer::uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84\"\u003e\u003ccode\u003ec84d9b4\u003c/code\u003e\u003c/a\u003e build and compatibility misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43\"\u003e\u003ccode\u003e4547234\u003c/code\u003e\u003c/a\u003e ffi::numpy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb\"\u003e\u003ccode\u003e0d4a5ad\u003c/code\u003e\u003c/a\u003e datetime PyRef idiom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85\"\u003e\u003ccode\u003ee93a13d\u003c/code\u003e\u003c/a\u003e Cross-compile avoids maturin v1.12 build-details.json error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.7...3.11.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-core` from 2.41.5 to 2.45.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic-core/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.33.0 to 2.33.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.1\u003c/h2\u003e\n\u003ch2\u003e2.33.1 (2026-03-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed test cleanup for CVE-2026-25645 to avoid leaving unnecessary\nfiles in the tmp directory. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7305\"\u003e#7305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Content-Type header parsing for malformed values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7309\"\u003e#7309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error consistency for malformed header values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7308\"\u003e#7308\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ferdnyc\"\u003e\u003ccode\u003e@​ferdnyc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7277\"\u003epsf/requests#7277\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2331-2026-03-30\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2331-2026-03-30\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.1 (2026-03-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed test cleanup for CVE-2026-25645 to avoid leaving unnecessary\nfiles in the tmp directory. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7305\"\u003e#7305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Content-Type header parsing for malformed values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7309\"\u003e#7309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error consistency for malformed header values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7308\"\u003e#7308\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/111d2b77790bf49943c0dfa09b365371c24aec7e\"\u003e\u003ccode\u003e111d2b7\u003c/code\u003e\u003c/a\u003e v2.33.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/f0198e6dfc431a2293dc16e1b1e8fcddc910a7f3\"\u003e\u003ccode\u003ef0198e6\u003c/code\u003e\u003c/a\u003e Fix malformed value parsing for Content-Type (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7309\"\u003e#7309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc7dd0fc4d56e808bcdd85ac2d797b3107c89259\"\u003e\u003ccode\u003ebc7dd0f\u003c/code\u003e\u003c/a\u003e Fix cosmetic header validity parsing regex (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7308\"\u003e#7308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4443b1a847b190010c2972a658924b98b5db6360\"\u003e\u003ccode\u003e4443b1a\u003c/code\u003e\u003c/a\u003e Fix unintended test extra (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7306\"\u003e#7306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/389eea58dfb2f2ee096421a812e3af29c0298951\"\u003e\u003ccode\u003e389eea5\u003c/code\u003e\u003c/a\u003e Cleanup extracted file after extract_zipped_path test (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7305\"\u003e#7305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7407309c8a8a73aa2f4337184025d440bbedab7a\"\u003e\u003ccode\u003e7407309\u003c/code\u003e\u003c/a\u003e Packaging: DRY out extras definition (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7277\"\u003e#7277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/psf/requests/compare/v2.33.0...v2.33.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sse-starlette` from 3.3.3 to 3.3.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sysid/sse-starlette/releases\"\u003esse-starlette's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.3.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump cbor2 from 5.8.0 to 5.9.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/pull/177\"\u003esysid/sse-starlette#177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump ujson from 5.11.0 to 5.12.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/pull/176\"\u003esysid/sse-starlette#176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump requests from 2.32.5 to 2.33.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/pull/178\"\u003esysid/sse-starlette#178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump cryptography from 46.0.5 to 46.0.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/pull/179\"\u003esysid/sse-starlette#179\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/sysid/sse-starlette/compare/v3.3.3...v3.3.4\"\u003ehttps://github.com/sysid/sse-starlette/compare/v3.3.3...v3.3.4\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/sysid/sse-starlette/commit/c938db3f6ea262f5f087c75d8631c3aab9cbf0ad\"\u003e\u003ccode\u003ec938db3\u003c/code\u003e\u003c/a\u003e Bump version to 3.3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/eefd6dcb106784960af02505a56686b362e9caab\"\u003e\u003ccode\u003eeefd6dc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/issues/179\"\u003e#179\u003c/a\u003e from sysid/dependabot/uv/cryptography-46.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/d9e9b822224b09c275c1905aaeb3cbab6c29f4f7\"\u003e\u003ccode\u003ed9e9b82\u003c/code\u003e\u003c/a\u003e chore(deps): bump cryptography from 46.0.5 to 46.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/28cd775f51f138726d6c27f42ff4fdae91f482f0\"\u003e\u003ccode\u003e28cd775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/issues/178\"\u003e#178\u003c/a\u003e from sysid/dependabot/uv/requests-2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/2e52732f92665dd7ed83250af840bdef0ef1bc98\"\u003e\u003ccode\u003e2e52732\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/issues/176\"\u003e#176\u003c/a\u003e from sysid/dependabot/uv/ujson-5.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/bac335e7dce0ee11f6585d6cfc1379079756b22c\"\u003e\u003ccode\u003ebac335e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/issues/177\"\u003e#177\u003c/a\u003e from sysid/dependabot/uv/cbor2-5.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/d4654686c68f18e71d09f580a4acb10199858abc\"\u003e\u003ccode\u003ed465468\u003c/code\u003e\u003c/a\u003e chore(deps): bump requests from 2.32.5 to 2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/7434cd326b055077719df224b12d0d7ace3e4cfd\"\u003e\u003ccode\u003e7434cd3\u003c/code\u003e\u003c/a\u003e chore(deps): bump cbor2 from 5.8.0 to 5.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/fc2455af95ec26822d7ca0420c2c115f7489b7c4\"\u003e\u003ccode\u003efc2455a\u003c/code\u003e\u003c/a\u003e chore(deps): bump ujson from 5.11.0 to 5.12.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sysid/sse-starlette/compare/v3.3.3...v3.3.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.42.0 to 0.43.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.43.0\u003c/h2\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEmit \u003ccode\u003ehttp.disconnect\u003c/code\u003e ASGI \u003ccode\u003ereceive()\u003c/code\u003e event on server shutting down for streaming responses (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2829\"\u003e#2829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse native \u003ccode\u003econtext\u003c/code\u003e parameter for \u003ccode\u003ecreate_task\u003c/code\u003e on Python 3.11+ (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2859\"\u003e#2859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop cast in ASGI types (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.42.0...0.43.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.42.0...0.43.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.43.0 (April 3, 2026)\u003c/h2\u003e\n\u003cp\u003eYou can quit Uvicorn now. We heard you, \u003ca href=\"https://github.com/pamelafox\"\u003e\u003ccode\u003e@​pamelafox\u003c/code\u003e\u003c/a\u003e - all 47 of your Ctrl+C's (thanks for flagging it, and thanks to \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e for the fix 🙏). \u003ca href=\"https://x.com/pamelafox/status/2039097686155227623\"\u003eSee the tweet\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEmit \u003ccode\u003ehttp.disconnect\u003c/code\u003e ASGI \u003ccode\u003ereceive()\u003c/code\u003e event on server shutting down for streaming responses (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2829\"\u003e#2829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse native \u003ccode\u003econtext\u003c/code\u003e parameter for \u003ccode\u003ecreate_task\u003c/code\u003e on Python 3.11+ (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2859\"\u003e#2859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop cast in ASGI types (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/8d397c73191b49c6d5280098d7c09dbe474e00bf\"\u003e\u003ccode\u003e8d397c7\u003c/code\u003e\u003c/a\u003e Version 0.43.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2885\"\u003e#2885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/587042d68ff6c813ec0d8cfafaa820ebe7229d23\"\u003e\u003ccode\u003e587042d\u003c/code\u003e\u003c/a\u003e 🐛 Emit \u003ccode\u003ehttp.disconnect\u003c/code\u003e ASGI \u003ccode\u003ereceive()\u003c/code\u003e event on server shutting down for s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/c9a75fb67b2e969253a41ef4ad447e013eee879e\"\u003e\u003ccode\u003ec9a75fb\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2878\"\u003e#2878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/84fd578224e36766efb056585cb6cc5171270089\"\u003e\u003ccode\u003e84fd578\u003c/code\u003e\u003c/a\u003e chore(deps): bump pygments from 2.19.2 to 2.20.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/cd52d34b55d898180a65cfc01a6a88aac54c65c3\"\u003e\u003ccode\u003ecd52d34\u003c/code\u003e\u003c/a\u003e Use native \u003ccode\u003econtext\u003c/code\u003e parameter for \u003ccode\u003ecreate_task\u003c/code\u003e on Python 3.11+ (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2859\"\u003e#2859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/5211880320b2e99a532eb121808039404da234ab\"\u003e\u003ccode\u003e5211880\u003c/code\u003e\u003c/a\u003e Drop cast in ASGI types (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/1cb8e747e2817ee46a4c0d44139e46b3b1f8fab6\"\u003e\u003ccode\u003e1cb8e74\u003c/code\u003e\u003c/a\u003e Add websocket 500 fallback header test (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2874\"\u003e#2874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/28efbb24bd590f1f943cbc2bf84f197268a8c6d8\"\u003e\u003ccode\u003e28efbb2\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump cryptography from 46.0.5 to 46.0.6 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/042ffeb7d6ea56c23afc538c6a270048ca2a0414\"\u003e\u003ccode\u003e042ffeb\u003c/code\u003e\u003c/a\u003e ci: add zizmor (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2872\"\u003e#2872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/c61f9d4ebdb8ab768efb4117129835e37f06aeca\"\u003e\u003ccode\u003ec61f9d4\u003c/code\u003e\u003c/a\u003e chore(deps): bump requests from 2.32.5 to 2.33.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2871\"\u003e#2871\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.42.0...0.43.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/awslabs/mcp-server-for-oscal/pull/102","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/awslabs%2Fmcp-server-for-oscal/issues/102","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/102/packages"},{"uuid":"4211468180","node_id":"PR_kwDOJmTJvs7QMdPO","number":414,"state":"open","title":"chore(deps): bump orjson from 3.11.7 to 3.11.8","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-06T11:54:12.000Z","updated_at":"2026-04-06T11:55:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"orjson","old_version":"3.11.7","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"}],"path":null,"ecosystem":"pip"},"body":"Bumps [orjson](https://github.com/ijl/orjson) from 3.11.7 to 3.11.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8 - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78\"\u003e\u003ccode\u003e5cbb3d0\u003c/code\u003e\u003c/a\u003e 3.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e\"\u003e\u003ccode\u003e4195d7f\u003c/code\u003e\u003c/a\u003e writer::half\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b\"\u003e\u003ccode\u003ed00641b\u003c/code\u003e\u003c/a\u003e writer::uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84\"\u003e\u003ccode\u003ec84d9b4\u003c/code\u003e\u003c/a\u003e build and compatibility misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43\"\u003e\u003ccode\u003e4547234\u003c/code\u003e\u003c/a\u003e ffi::numpy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb\"\u003e\u003ccode\u003e0d4a5ad\u003c/code\u003e\u003c/a\u003e datetime PyRef idiom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85\"\u003e\u003ccode\u003ee93a13d\u003c/code\u003e\u003c/a\u003e Cross-compile avoids maturin v1.12 build-details.json error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.7...3.11.8\"\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=orjson\u0026package-manager=pip\u0026previous-version=3.11.7\u0026new-version=3.11.8)](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/pyenphase/pyenphase/pull/414","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyenphase%2Fpyenphase/issues/414","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/414/packages"},{"uuid":"4210185876","node_id":"PR_kwDOPkilF87QIvn4","number":71,"state":"closed","title":"Bump the pip-minor-and-patch group in /src with 5 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-08T16:11:01.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-06T07:04:12.000Z","updated_at":"2026-04-08T16:11:03.000Z","time_to_close":205609,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip-minor-and-patch","update_count":5,"packages":[{"name":"amsterdam-schema-tools","old_version":"9.2.4","new_version":"9.3.1","repository_url":"https://github.com/amsterdam/schema-tools"},{"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":"orjson","old_version":"3.11.7","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"},{"name":"requests","old_version":"2.33.0","new_version":"2.33.1","repository_url":"https://github.com/psf/requests"},{"name":"ruff","old_version":"0.15.8","new_version":"0.15.9","repository_url":"https://github.com/astral-sh/ruff"}],"path":"/src","ecosystem":"pip"},"body":"Bumps the pip-minor-and-patch group in /src with 5 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [amsterdam-schema-tools](https://github.com/amsterdam/schema-tools) | `9.2.4` | `9.3.1` |\n| [django-debug-toolbar](https://github.com/django-commons/django-debug-toolbar) | `6.2.0` | `6.3.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.7` | `3.11.8` |\n| [requests](https://github.com/psf/requests) | `2.33.0` | `2.33.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.8` | `0.15.9` |\n\nUpdates `amsterdam-schema-tools` from 9.2.4 to 9.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Amsterdam/schema-tools/blob/master/CHANGES.md\"\u003eamsterdam-schema-tools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2026-03-31 (9.3.1)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd extra validation for export scopes, ensuring the tables in an export have at least one field with the given scope.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2026-03-30 (9.3.0)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enableGeoSearch flag to be able to configure the geosearch functionality in the schema.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Amsterdam/schema-tools/commit/c31cb61c5a37fcb6ed6d6bcc561e04adf3f523eb\"\u003e\u003ccode\u003ec31cb61\u003c/code\u003e\u003c/a\u003e bump version to 9.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Amsterdam/schema-tools/commit/21d6dc0d080565f23b8783019b591dfe78be27b8\"\u003e\u003ccode\u003e21d6dc0\u003c/code\u003e\u003c/a\u003e add validation for export scopes + tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Amsterdam/schema-tools/commit/f6319d06ba0eb3e7555d1ccd39695695de8d0e60\"\u003e\u003ccode\u003ef6319d0\u003c/code\u003e\u003c/a\u003e Bump version to v9.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Amsterdam/schema-tools/commit/7fff5318c4a723612ccd0d3881007ad1b3cb42c1\"\u003e\u003ccode\u003e7fff531\u003c/code\u003e\u003c/a\u003e Add enableGeosearch flag\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/amsterdam/schema-tools/compare/v9.2.4...v9.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-debug-toolbar` from 6.2.0 to 6.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-commons/django-debug-toolbar/releases\"\u003edjango-debug-toolbar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.3.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eremove requirement_dev.txt from project by \u003ca href=\"https://github.com/p-r-a-v-i-n\"\u003e\u003ccode\u003e@​p-r-a-v-i-n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2277\"\u003edjango-commons/django-debug-toolbar#2277\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgraded ReadTheDocs Python version to 3.13. by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2307\"\u003edjango-commons/django-debug-toolbar#2307\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModernize some panel styles and colors by \u003ca href=\"https://github.com/federicobond\"\u003e\u003ccode\u003e@​federicobond\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2285\"\u003edjango-commons/django-debug-toolbar#2285\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the translatable strings for the application. by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2311\"\u003edjango-commons/django-debug-toolbar#2311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate translations 2026-02-09 by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2312\"\u003edjango-commons/django-debug-toolbar#2312\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003epy.typed\u003c/code\u003e file, to make types available downstream by \u003ca href=\"https://github.com/brianhelba\"\u003e\u003ccode\u003e@​brianhelba\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2314\"\u003edjango-commons/django-debug-toolbar#2314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmit RedirectsPanel warning on usage rather than set up. by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2326\"\u003edjango-commons/django-debug-toolbar#2326\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHighlighted docs on disabling browser caching. by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2302\"\u003edjango-commons/django-debug-toolbar#2302\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly patch the cache methods once. by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2332\"\u003edjango-commons/django-debug-toolbar#2332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eCacheStore\u003c/code\u003e, a store that uses Django's cache framework by \u003ca href=\"https://github.com/robhudson\"\u003e\u003ccode\u003e@​robhudson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2304\"\u003edjango-commons/django-debug-toolbar#2304\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog from \u003ca href=\"https://django-debug-toolbar.readthedocs.io/en/latest/changes.html\"\u003edocs\u003c/a\u003e:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplaced \u003ccode\u003erequirements_dev.txt\u003c/code\u003e file for \u003ccode\u003epyproject.toml\u003c/code\u003e support with dependency groups.\u003c/li\u003e\n\u003cli\u003eUpdated ReadTheDocs Python version to 3.13.\u003c/li\u003e\n\u003cli\u003eModernize some panel styles and colors.\u003c/li\u003e\n\u003cli\u003eStandardize use of time/duration units and labels across panels.\u003c/li\u003e\n\u003cli\u003eAdded translations for Lithuanian, Turkish and Uzbek.\u003c/li\u003e\n\u003cli\u003eUpdate the translations.\u003c/li\u003e\n\u003cli\u003eExpose a \u003ccode\u003epy.typed\u003c/code\u003e marker file.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eRedirectsPanel\u003c/code\u003e to emit the deprecation warning when it’s used rather than on instantiation.\u003c/li\u003e\n\u003cli\u003eHighlighted the documentation about disabling the browser’s caching to ensure the latest static assets are used.\u003c/li\u003e\n\u003cli\u003eFixed bug with \u003ccode\u003eCachePanel\u003c/code\u003e so the cache patching is only applied once.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edebug_toolbar.store.CacheStore\u003c/code\u003e for storing toolbar data using Django’s cache framework. This provides persistence without requiring database migrations, and works with any cache backend (Memcached, Redis, database, file-based, etc.).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCACHE_BACKEND\u003c/code\u003e and \u003ccode\u003eCACHE_KEY_PREFIX\u003c/code\u003e settings to configure the \u003ccode\u003eCacheStore\u003c/code\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/brianhelba\"\u003e\u003ccode\u003e@​brianhelba\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2314\"\u003edjango-commons/django-debug-toolbar#2314\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-commons/django-debug-toolbar/compare/6.2.0...6.3.0\"\u003ehttps://github.com/django-commons/django-debug-toolbar/compare/6.2.0...6.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-commons/django-debug-toolbar/blob/main/docs/changes.rst\"\u003edjango-debug-toolbar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.3.0 (2026-04-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplaced \u003ccode\u003erequirements_dev.txt\u003c/code\u003e file for \u003ccode\u003epyproject.toml\u003c/code\u003e support with\ndependency groups.\u003c/li\u003e\n\u003cli\u003eUpdated ReadTheDocs Python version to 3.13.\u003c/li\u003e\n\u003cli\u003eModernize some panel styles and colors.\u003c/li\u003e\n\u003cli\u003eStandardize use of time/duration units and labels across panels.\u003c/li\u003e\n\u003cli\u003eAdded translations for Lithuanian, Turkish and Uzbek.\u003c/li\u003e\n\u003cli\u003eUpdate the translations.\u003c/li\u003e\n\u003cli\u003eExpose a \u003ccode\u003epy.typed\u003c/code\u003e marker file.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eRedirectsPanel\u003c/code\u003e to emit the deprecation warning when it's used\nrather than on instantiation.\u003c/li\u003e\n\u003cli\u003eHighlighted the documentation about disabling the browser's caching to\nensure the latest static assets are used.\u003c/li\u003e\n\u003cli\u003eFixed bug with \u003ccode\u003eCachePanel\u003c/code\u003e so the cache patching is only applied\nonce.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edebug_toolbar.store.CacheStore\u003c/code\u003e for storing toolbar data using\nDjango's cache framework. This provides persistence without requiring\ndatabase migrations, and works with any cache backend (Memcached, Redis,\ndatabase, file-based, etc.).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCACHE_BACKEND\u003c/code\u003e and \u003ccode\u003eCACHE_KEY_PREFIX\u003c/code\u003e settings to configure the\n\u003ccode\u003eCacheStore\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/django-commons/django-debug-toolbar/commit/b3f943b5291fd961a0d10225eb89b64e016d8837\"\u003e\u003ccode\u003eb3f943b\u003c/code\u003e\u003c/a\u003e Version 6.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/013631b2f72bdded37e597c5fef13e82c44e1202\"\u003e\u003ccode\u003e013631b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/eeff5d17879130a33998a26d8501c804e37a3400\"\u003e\u003ccode\u003eeeff5d1\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 5.0.3 to 5.0.4 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/3a877850a8b4a68bc3f17af596001f13215a8dac\"\u003e\u003ccode\u003e3a87785\u003c/code\u003e\u003c/a\u003e Add store that uses cache framework\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/05738466e3b3e6654d7e70ca59d5d7553acd1cdf\"\u003e\u003ccode\u003e0573846\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/7403bed86ac6729b65dc926dd90920f3f1765935\"\u003e\u003ccode\u003e7403bed\u003c/code\u003e\u003c/a\u003e Only patch the cache methods once.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/0d25b3aaf653ba6241adf3f899cfda1208942ac9\"\u003e\u003ccode\u003e0d25b3a\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact in the github-actions group (\u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/issues/2333\"\u003e#2333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/c89c8cf41751649f9000b051a457db3697e0cf6c\"\u003e\u003ccode\u003ec89c8cf\u003c/code\u003e\u003c/a\u003e Bump zizmorcore/zizmor-action in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/7ae8fac954844ae641f85c7afbffea8b2c82a214\"\u003e\u003ccode\u003e7ae8fac\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/issues/2328\"\u003e#2328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/695cdb2c0b2bdf11de687986233778a4d5785c22\"\u003e\u003ccode\u003e695cdb2\u003c/code\u003e\u003c/a\u003e Highlighted docs on disabling browser caching. (\u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/issues/2302\"\u003e#2302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django-commons/django-debug-toolbar/compare/6.2.0...6.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.11.7 to 3.11.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8 - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78\"\u003e\u003ccode\u003e5cbb3d0\u003c/code\u003e\u003c/a\u003e 3.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e\"\u003e\u003ccode\u003e4195d7f\u003c/code\u003e\u003c/a\u003e writer::half\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b\"\u003e\u003ccode\u003ed00641b\u003c/code\u003e\u003c/a\u003e writer::uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84\"\u003e\u003ccode\u003ec84d9b4\u003c/code\u003e\u003c/a\u003e build and compatibility misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43\"\u003e\u003ccode\u003e4547234\u003c/code\u003e\u003c/a\u003e ffi::numpy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb\"\u003e\u003ccode\u003e0d4a5ad\u003c/code\u003e\u003c/a\u003e datetime PyRef idiom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85\"\u003e\u003ccode\u003ee93a13d\u003c/code\u003e\u003c/a\u003e Cross-compile avoids maturin v1.12 build-details.json error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.7...3.11.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.33.0 to 2.33.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.1\u003c/h2\u003e\n\u003ch2\u003e2.33.1 (2026-03-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed test cleanup for CVE-2026-25645 to avoid leaving unnecessary\nfiles in the tmp directory. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7305\"\u003e#7305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Content-Type header parsing for malformed values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7309\"\u003e#7309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error consistency for malformed header values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7308\"\u003e#7308\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ferdnyc\"\u003e\u003ccode\u003e@​ferdnyc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7277\"\u003epsf/requests#7277\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2331-2026-03-30\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2331-2026-03-30\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.1 (2026-03-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed test cleanup for CVE-2026-25645 to avoid leaving unnecessary\nfiles in the tmp directory. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7305\"\u003e#7305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Content-Type header parsing for malformed values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7309\"\u003e#7309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error consistency for malformed header values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7308\"\u003e#7308\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/111d2b77790bf49943c0dfa09b365371c24aec7e\"\u003e\u003ccode\u003e111d2b7\u003c/code\u003e\u003c/a\u003e v2.33.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/f0198e6dfc431a2293dc16e1b1e8fcddc910a7f3\"\u003e\u003ccode\u003ef0198e6\u003c/code\u003e\u003c/a\u003e Fix malformed value parsing for Content-Type (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7309\"\u003e#7309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc7dd0fc4d56e808bcdd85ac2d797b3107c89259\"\u003e\u003ccode\u003ebc7dd0f\u003c/code\u003e\u003c/a\u003e Fix cosmetic header validity parsing regex (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7308\"\u003e#7308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4443b1a847b190010c2972a658924b98b5db6360\"\u003e\u003ccode\u003e4443b1a\u003c/code\u003e\u003c/a\u003e Fix unintended test extra (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7306\"\u003e#7306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/389eea58dfb2f2ee096421a812e3af29c0298951\"\u003e\u003ccode\u003e389eea5\u003c/code\u003e\u003c/a\u003e Cleanup extracted file after extract_zipped_path test (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7305\"\u003e#7305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7407309c8a8a73aa2f4337184025d440bbedab7a\"\u003e\u003ccode\u003e7407309\u003c/code\u003e\u003c/a\u003e Packaging: DRY out extras definition (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7277\"\u003e#7277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/psf/requests/compare/v2.33.0...v2.33.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.8 to 0.15.9\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.9\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-02.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Flag annotated variable redeclarations as \u003ccode\u003eF811\u003c/code\u003e in preview mode (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24244\"\u003e#24244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Allow dunder-named assignments in non-strict mode for \u003ccode\u003eRUF067\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24089\"\u003e#24089\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-errmsg\u003c/code\u003e] Avoid shadowing existing \u003ccode\u003emsg\u003c/code\u003e in fix for \u003ccode\u003eEM101\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24363\"\u003e#24363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Ignore pre-initialization references in \u003ccode\u003eSIM113\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24235\"\u003e#24235\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Fix \u003ccode\u003eW391\u003c/code\u003e fixes for consecutive empty notebook cells (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24236\"\u003e#24236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e nested class matching (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24273\"\u003e#24273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Ignore strings with string-only escapes (\u003ccode\u003eUP012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/16058\"\u003e#16058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ccode\u003eRUF072\u003c/code\u003e: skip formfeeds on dedent (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24308\"\u003e#24308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Avoid re-using symbol in \u003ccode\u003eRUF024\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24316\"\u003e#24316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Parenthesize expression in \u003ccode\u003eRUF050\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24234\"\u003e#24234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisallow starred expressions as values of starred expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24280\"\u003e#24280\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Suppress \u003ccode\u003eSIM105\u003c/code\u003e for \u003ccode\u003eexcept*\u003c/code\u003e before Python 3.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23869\"\u003e#23869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Extend \u003ccode\u003eF507\u003c/code\u003e to flag \u003ccode\u003e%\u003c/code\u003e-format strings with zero placeholders (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24215\"\u003e#24215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ccode\u003eUP018\u003c/code\u003e should detect more unnecessarily wrapped literals (UP018) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24093\"\u003e#24093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e callable scope handling to support lambdas (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24274\"\u003e#24274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ccode\u003eRUF010\u003c/code\u003e: Mark fix as unsafe when it deletes a comment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24270\"\u003e#24270\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFormatter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003enested-string-quote-style\u003c/code\u003e formatting option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24312\"\u003e#24312\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Clarify RUF071 fix safety for non-path string comparisons (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24149\"\u003e#24149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Clarify import cycle wording for \u003ccode\u003eTC001\u003c/code\u003e/\u003ccode\u003eTC002\u003c/code\u003e/\u003ccode\u003eTC003\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24322\"\u003e#24322\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid rendering fix lines with trailing whitespace after \u003ccode\u003e|\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24343\"\u003e#24343\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/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tranhoangtu-it\"\u003e\u003ccode\u003e@​tranhoangtu-it\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zsol\"\u003e\u003ccode\u003e@​zsol\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.9\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-02.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Flag annotated variable redeclarations as \u003ccode\u003eF811\u003c/code\u003e in preview mode (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24244\"\u003e#24244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Allow dunder-named assignments in non-strict mode for \u003ccode\u003eRUF067\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24089\"\u003e#24089\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-errmsg\u003c/code\u003e] Avoid shadowing existing \u003ccode\u003emsg\u003c/code\u003e in fix for \u003ccode\u003eEM101\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24363\"\u003e#24363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Ignore pre-initialization references in \u003ccode\u003eSIM113\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24235\"\u003e#24235\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Fix \u003ccode\u003eW391\u003c/code\u003e fixes for consecutive empty notebook cells (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24236\"\u003e#24236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e nested class matching (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24273\"\u003e#24273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Ignore strings with string-only escapes (\u003ccode\u003eUP012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/16058\"\u003e#16058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ccode\u003eRUF072\u003c/code\u003e: skip formfeeds on dedent (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24308\"\u003e#24308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Avoid re-using symbol in \u003ccode\u003eRUF024\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24316\"\u003e#24316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Parenthesize expression in \u003ccode\u003eRUF050\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24234\"\u003e#24234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisallow starred expressions as values of starred expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24280\"\u003e#24280\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Suppress \u003ccode\u003eSIM105\u003c/code\u003e for \u003ccode\u003eexcept*\u003c/code\u003e before Python 3.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23869\"\u003e#23869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Extend \u003ccode\u003eF507\u003c/code\u003e to flag \u003ccode\u003e%\u003c/code\u003e-format strings with zero placeholders (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24215\"\u003e#24215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ccode\u003eUP018\u003c/code\u003e should detect more unnecessarily wrapped literals (UP018) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24093\"\u003e#24093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e callable scope handling to support lambdas (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24274\"\u003e#24274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ccode\u003eRUF010\u003c/code\u003e: Mark fix as unsafe when it deletes a comment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24270\"\u003e#24270\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFormatter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003enested-string-quote-style\u003c/code\u003e formatting option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24312\"\u003e#24312\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Clarify RUF071 fix safety for non-path string comparisons (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24149\"\u003e#24149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Clarify import cycle wording for \u003ccode\u003eTC001\u003c/code\u003e/\u003ccode\u003eTC002\u003c/code\u003e/\u003ccode\u003eTC003\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24322\"\u003e#24322\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid rendering fix lines with trailing whitespace after \u003ccode\u003e|\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24343\"\u003e#24343\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/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tranhoangtu-it\"\u003e\u003ccode\u003e@​tranhoangtu-it\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zsol\"\u003e\u003ccode\u003e@​zsol\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\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/724ccc1ae8a61e872cf58435f2c073189dc248f2\"\u003e\u003ccode\u003e724ccc1\u003c/code\u003e\u003c/a\u003e Bump 0.15.9 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24369\"\u003e#24369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/96d9e0964cb87498ef15510ea7f896ba336659f9\"\u003e\u003ccode\u003e96d9e09\u003c/code\u003e\u003c/a\u003e [ty] Move the \u003ccode\u003edeferred\u003c/code\u003e submodule inside \u003ccode\u003einfer/builder\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24368\"\u003e#24368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/130da28d610a466721bb942e8a5e0ec47bbe3469\"\u003e\u003ccode\u003e130da28\u003c/code\u003e\u003c/a\u003e [ty] Infer the \u003ccode\u003eextra_items\u003c/code\u003e keyword argument to class-based TypedDicts as an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a617c54b0708a8c1eb850cc3b2a5caee21137a28\"\u003e\u003ccode\u003ea617c54\u003c/code\u003e\u003c/a\u003e [ty] Validate type qualifiers in functional TypedDict fields and the `extra_i...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d8517087c6cd0aa4f33dcede605ff642941dd74b\"\u003e\u003ccode\u003ed851708\u003c/code\u003e\u003c/a\u003e [ty] Improve robustness of various type-qualifier-related checks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24251\"\u003e#24251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aecb5877c6d6fe035c03aba994ec3a7b935b8f02\"\u003e\u003ccode\u003eaecb587\u003c/code\u003e\u003c/a\u003e Only run the release-gate on workflow dispatch (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24366\"\u003e#24366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b88957174311030927bf564da32d05dee0eb89d9\"\u003e\u003ccode\u003eb889571\u003c/code\u003e\u003c/a\u003e [ty] Use \u003ccode\u003einfer_type_expression\u003c/code\u003e for parsing parameter annotations and return...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3286a62be986a8d6d04d95b3bc619f06e012fa2f\"\u003e\u003ccode\u003e3286a62\u003c/code\u003e\u003c/a\u003e Add a \u0026quot;release-gate\u0026quot; step to the release workflow (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24365\"\u003e#24365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5f88756ee10e3faf0e96c883c34c95fc78200536\"\u003e\u003ccode\u003e5f88756\u003c/code\u003e\u003c/a\u003e Disallow starred expressions as values of starred expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24280\"\u003e#24280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5c59f8a46965cac3470f09972196c8620faa4626\"\u003e\u003ccode\u003e5c59f8a\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Ignore strings with string-only escapes (\u003ccode\u003eUP012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/16058\"\u003e#16058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.8...0.15.9\"\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/Amsterdam/amsterdam-schema-api/pull/71","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Amsterdam%2Famsterdam-schema-api/issues/71","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/71/packages"},{"uuid":"4209374452","node_id":"PR_kwDORckIoM7QG9UX","number":394,"state":"open","title":"security(deps): bump the training-dependencies group in /training/rl with 14 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-04-06T03:33:57.000Z","updated_at":"2026-04-06T03:36:33.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":14,"packages":[{"name":"marshmallow","old_version":"4.2.3","new_version":"4.3.0","repository_url":"https://github.com/marshmallow-code/marshmallow"},{"name":"azure-monitor-opentelemetry-exporter","old_version":"1.0.0b49","new_version":"1.0.0b50","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"charset-normalizer","old_version":"3.4.6","new_version":"3.4.7","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.3.1","new_version":"8.3.2","repository_url":"https://github.com/pallets/click"},{"name":"cuda-pathfinder","old_version":"1.5.0","new_version":"1.5.1","repository_url":"https://github.com/NVIDIA/cuda-python"},{"name":"fastapi","old_version":"0.135.2","new_version":"0.135.3","repository_url":"https://github.com/fastapi/fastapi"},{"name":"orjson","old_version":"3.11.7","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"},{"name":"pandas","old_version":"3.0.1","new_version":"3.0.2","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pillow","old_version":"12.1.1","new_version":"12.2.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"pydantic-core","old_version":"2.44.0","new_version":"2.45.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"sqlalchemy","old_version":"2.0.48","new_version":"2.0.49","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"tzdata","old_version":"2025.3","new_version":"2026.1","repository_url":"https://github.com/python/tzdata"},{"name":"uvicorn","old_version":"0.42.0","new_version":"0.43.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"werkzeug","old_version":"3.1.7","new_version":"3.1.8","repository_url":"https://github.com/pallets/werkzeug"}],"path":"/training/rl","ecosystem":"pip"},"body":"Bumps the training-dependencies group in /training/rl with 14 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [marshmallow](https://github.com/marshmallow-code/marshmallow) | `4.2.3` | `4.3.0` |\n| [azure-monitor-opentelemetry-exporter](https://github.com/Azure/azure-sdk-for-python) | `1.0.0b49` | `1.0.0b50` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.6` | `3.4.7` |\n| [click](https://github.com/pallets/click) | `8.3.1` | `8.3.2` |\n| [cuda-pathfinder](https://github.com/NVIDIA/cuda-python) | `1.5.0` | `1.5.1` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.135.2` | `0.135.3` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.7` | `3.11.8` |\n| [pandas](https://github.com/pandas-dev/pandas) | `3.0.1` | `3.0.2` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.1.1` | `12.2.0` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.44.0` | `2.45.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.48` | `2.0.49` |\n| [tzdata](https://github.com/python/tzdata) | `2025.3` | `2026.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.42.0` | `0.43.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.7` | `3.1.8` |\n\nUpdates `marshmallow` from 4.2.3 to 4.3.0\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.3.0 (2026-04-03)\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epre_load\u003c/code\u003e and \u003ccode\u003epost_load\u003c/code\u003e parameters to \u003ccode\u003emarshmallow.fields.Field\u003c/code\u003e for\nfield-level pre- and post-processing (:issue:\u003ccode\u003e2787\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eTyping: improvements to \u003ccode\u003emarshmallow.validate\u003c/code\u003e (:pr:\u003ccode\u003e2940\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.4 (2026-04-02)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emarshmallow.validate.URL\u003c/code\u003e and \u003ccode\u003emarshmallow.validate.Email\u003c/code\u003e accept Internationalized Domain Names (IDNs) (:issue:\u003ccode\u003e2821\u003c/code\u003e, :issue:\u003ccode\u003e2936\u003c/code\u003e).\n\u003ccode\u003emarshmallow.validate.Email\u003c/code\u003e also correctly rejects IDN domains with leading/trailing hyphens.\nThanks :user:\u003ccode\u003etouhidurrr\u003c/code\u003e for the report.\u003c/li\u003e\n\u003cli\u003eTyping: Fix typing of \u003ccode\u003enested\u003c/code\u003e in \u003ccode\u003emarshmallow.fields.Nested\u003c/code\u003e (:pr:\u003ccode\u003e2935\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/marshmallow-code/marshmallow/commit/b596fdb0d1bda68ae400ab29e1f1bde2f06900b3\"\u003e\u003ccode\u003eb596fdb\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/256f0aabbc18232219e33854999372cfe1643f52\"\u003e\u003ccode\u003e256f0aa\u003c/code\u003e\u003c/a\u003e Add pre/post_load parameters to Field (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2799\"\u003e#2799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c847ad47a3f1235021bd2624b10c255a936ed107\"\u003e\u003ccode\u003ec847ad4\u003c/code\u003e\u003c/a\u003e Typing improvements to marshmallow.validate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/eb863228f5273244c19388fb6161ffdb90cb04d1\"\u003e\u003ccode\u003eeb86322\u003c/code\u003e\u003c/a\u003e Remove redundant docs job (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2939\"\u003e#2939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/a44ad62a876d2e9330d0e370b438bafb058676d4\"\u003e\u003ccode\u003ea44ad62\u003c/code\u003e\u003c/a\u003e Avoid infinite recursion in nesting docs (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2938\"\u003e#2938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/3360e34a2da480eba03ae07bd4b15f0859027bf8\"\u003e\u003ccode\u003e3360e34\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/7b9ce45ac906c2597ac0acb7416e01e80218b546\"\u003e\u003ccode\u003e7b9ce45\u003c/code\u003e\u003c/a\u003e Fix changelog typos and update releasing docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/f07eadc87dfac25ed505d5cd9d186920f2682733\"\u003e\u003ccode\u003ef07eadc\u003c/code\u003e\u003c/a\u003e Fix validate.Email to accept IDNs (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2937\"\u003e#2937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/4acb783c73130f762aa5b0df6b65ff7685d5ff2c\"\u003e\u003ccode\u003e4acb783\u003c/code\u003e\u003c/a\u003e Fix Unreachable Warning (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2935\"\u003e#2935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/3492fae7b31d310814ad16fcddad5c7717d54949\"\u003e\u003ccode\u003e3492fae\u003c/code\u003e\u003c/a\u003e Remove redundant python-version (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2932\"\u003e#2932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/marshmallow-code/marshmallow/compare/4.2.3...4.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-monitor-opentelemetry-exporter` from 1.0.0b49 to 1.0.0b50\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-monitor-opentelemetry-exporter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-monitor-opentelemetry-exporter_1.0.0b50\u003c/h2\u003e\n\u003ch2\u003e1.0.0b50 (2026-04-03)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix duplicate authentication policy in live metrics exporter causing Unauthorized errors\nfor authenticated Application Insights resources\n(\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/46024\"\u003e#46024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSuppress internal sdkstats HTTP pipeline logs from appearing in user's logs\n(\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/45966\"\u003e#45966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKubernetes pod name takes precedence when populating \u003ccode\u003ecloud_RoleInstance\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/45884\"\u003e#45884\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert custom properties limit to 8kb\n(\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/46066\"\u003e#46066\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/24212d1b9b270771f47a29af230c88772c9409b1\"\u003e\u003ccode\u003e24212d1\u003c/code\u003e\u003c/a\u003e Exporter release 1.0.0b50 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/46054\"\u003e#46054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/087778f508504d9fdc0a8c3d92dfc1a37ebb930f\"\u003e\u003ccode\u003e087778f\u003c/code\u003e\u003c/a\u003e Revert custom properties limit to 8kb (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/46066\"\u003e#46066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/d8bed7ebbe4a30c5fee28abc85ff902dd4ef0579\"\u003e\u003ccode\u003ed8bed7e\u003c/code\u003e\u003c/a\u003e [monitor-opentelemetry] Fix duplicate auth policy in live metrics exporter (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/de23b45df019ede396e56365c1bb67b8a971259a\"\u003e\u003ccode\u003ede23b45\u003c/code\u003e\u003c/a\u003e Suppress internal sdkstats HTTP pipeline logs from appearing in user's traces...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/ce28bf7cab28ccf677c9db0c9fa390b2f2fdd1a8\"\u003e\u003ccode\u003ece28bf7\u003c/code\u003e\u003c/a\u003e Modify logic to ensure that the cloud_RoleInstance gets populated with the k8...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/5fe509b8d93216e2298c774a6d833fa9a1db024c\"\u003e\u003ccode\u003e5fe509b\u003c/code\u003e\u003c/a\u003e Remove deprecated events package and methods (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45684\"\u003e#45684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/faf2a720ffc18b15f8d6d1c9a6c32564794d4e2c\"\u003e\u003ccode\u003efaf2a72\u003c/code\u003e\u003c/a\u003e Increment package version after release of azure-monitor-opentelemetry (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45811\"\u003e#45811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/77b289925d37b4d286330008c658821f297510b0\"\u003e\u003ccode\u003e77b2899\u003c/code\u003e\u003c/a\u003e Distro release 1.8.7 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45801\"\u003e#45801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/4b5be11f0e996e295bf8506b86e3b412b459d9fa\"\u003e\u003ccode\u003e4b5be11\u003c/code\u003e\u003c/a\u003e Change import path for LoggingHandler to accommodate upstream breaking change...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/9950092afbbf8778c4bc96113ac1c9cad8bbf2f9\"\u003e\u003ccode\u003e9950092\u003c/code\u003e\u003c/a\u003e Increment package version after release of azure-monitor-opentelemetry-export...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-monitor-opentelemetry-exporter_1.0.0b49...azure-monitor-opentelemetry-exporter_1.0.0b50\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `charset-normalizer` from 3.4.6 to 3.4.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/releases\"\u003echarset-normalizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.4.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.6...3.4.7\"\u003e3.4.7\u003c/a\u003e (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePre-built optimized version using mypy[c] v1.20.\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;82.1\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly remove SIG remnant in utf-7 decoded string. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/718\"\u003e#718\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/716\"\u003e#716\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md\"\u003echarset-normalizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.6...3.4.7\"\u003e3.4.7\u003c/a\u003e (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePre-built optimized version using mypy[c] v1.20.\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;82.1\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly remove SIG remnant in utf-7 decoded string. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/718\"\u003e#718\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/716\"\u003e#716\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/0f07891bf516b5d5231f1bd4dd2d8da7d4d09a9a\"\u003e\u003ccode\u003e0f07891\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/729\"\u003e#729\u003c/a\u003e from jawah/release-3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/fdbeb299479e8f4d737e4d227cd0b2bd5d273dc0\"\u003e\u003ccode\u003efdbeb29\u003c/code\u003e\u003c/a\u003e chore: update dev, and ci requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b66f922bfbdbdd9dd46af18a8964d4fb888756d4\"\u003e\u003ccode\u003eb66f922\u003c/code\u003e\u003c/a\u003e chore: add ft classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/f94249d0a2c712f2d03124f4de6b77f5e03aaa96\"\u003e\u003ccode\u003ef94249d\u003c/code\u003e\u003c/a\u003e chore: add test cases for utf_7 recent fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/95c866f6c984bbd043e7e3ed0628aa4f3f8d5a26\"\u003e\u003ccode\u003e95c866f\u003c/code\u003e\u003c/a\u003e chore: bump version to 3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/4f429bb764c7e893f99bb4bceb60856da1baacfb\"\u003e\u003ccode\u003e4f429bb\u003c/code\u003e\u003c/a\u003e chore: bump mypy pre-commit to v1.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b579cd6cab9bd83aa3fc0ca169d4df022bf4888c\"\u003e\u003ccode\u003eb579cd6\u003c/code\u003e\u003c/a\u003e fix: correctly remove SIG remnant in utf-7 decoded string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/58bf944a77cc0883fc46a6ee8edac3549fea5d59\"\u003e\u003ccode\u003e58bf944\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump github/codeql-action from 4.32.4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/728\"\u003e#728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/44cf8a1b676a2532a8f1694e62e4f4f98f9132e1\"\u003e\u003ccode\u003e44cf8a1\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump actions/download-artifact from 8.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/362bc20073f737b1ba4ca2f68cffb0c4cc024d20\"\u003e\u003ccode\u003e362bc20\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump docker/setup-qemu-action from 3.7.0 to 4.0.0 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/725\"\u003e#725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jawah/charset_normalizer/compare/3.4.6...3.4.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.3.1 to 8.3.2\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.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.2/\"\u003ehttps://pypi.org/project/click/8.3.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/29\"\u003ehttps://github.com/pallets/click/milestone/29\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eflag_value\u003c/code\u003e when \u003ccode\u003eis_flag=False\u003c/code\u003e to allow such options to be\nused without an explicit value. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3084\"\u003e#3084\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3152\"\u003e#3152\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when using \u003ccode\u003elookup_default()\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3199\"\u003e#3199\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3202\"\u003e#3202\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3209\"\u003e#3209\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3212\"\u003e#3212\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3224\"\u003e#3224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent \u003ccode\u003e_NamedTextIOWrapper\u003c/code\u003e from closing streams owned by \u003ccode\u003eStreamMixer\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/824\"\u003e#824\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2991\"\u003e#2991\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2993\"\u003e#2993\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3110\"\u003e#3110\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3139\"\u003e#3139\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3140\"\u003e#3140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd comprehensive tests for \u003ccode\u003eCliRunner\u003c/code\u003e stream lifecycle, covering\nlogging interaction, multi-threaded safety, and sequential invocation\nisolation. Add high-iteration stress tests behind a \u003ccode\u003estress\u003c/code\u003e marker\nwith a dedicated CI job. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3139\"\u003e#3139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix callable \u003ccode\u003eflag_value\u003c/code\u003e being instantiated when used as a default via\n\u003ccode\u003edefault=True\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3121\"\u003e#3121\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3201\"\u003e#3201\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3213\"\u003e#3213\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3225\"\u003e#3225\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.2\u003c/h2\u003e\n\u003cp\u003eReleased 2026-04-02\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eflag_value\u003c/code\u003e when \u003ccode\u003eis_flag=False\u003c/code\u003e to allow such options to be\nused without an explicit value. :issue:\u003ccode\u003e3084\u003c/code\u003e :pr:\u003ccode\u003e3152\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when using \u003ccode\u003elookup_default()\u003c/code\u003e.\n:issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3199\u003c/code\u003e :pr:\u003ccode\u003e3202\u003c/code\u003e :pr:\u003ccode\u003e3209\u003c/code\u003e :pr:\u003ccode\u003e3212\u003c/code\u003e :pr:\u003ccode\u003e3224\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ePrevent \u003ccode\u003e_NamedTextIOWrapper\u003c/code\u003e from closing streams owned by \u003ccode\u003eStreamMixer\u003c/code\u003e.\n:issue:\u003ccode\u003e824\u003c/code\u003e :issue:\u003ccode\u003e2991\u003c/code\u003e :issue:\u003ccode\u003e2993\u003c/code\u003e :issue:\u003ccode\u003e3110\u003c/code\u003e :pr:\u003ccode\u003e3139\u003c/code\u003e :pr:\u003ccode\u003e3140\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd comprehensive tests for \u003ccode\u003eCliRunner\u003c/code\u003e stream lifecycle, covering\nlogging interaction, multi-threaded safety, and sequential invocation\nisolation. Add high-iteration stress tests behind a \u003ccode\u003estress\u003c/code\u003e marker\nwith a dedicated CI job. :pr:\u003ccode\u003e3139\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix callable \u003ccode\u003eflag_value\u003c/code\u003e being instantiated when used as a default via\n\u003ccode\u003edefault=True\u003c/code\u003e. :issue:\u003ccode\u003e3121\u003c/code\u003e :pr:\u003ccode\u003e3201\u003c/code\u003e :pr:\u003ccode\u003e3213\u003c/code\u003e :pr:\u003ccode\u003e3225\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/052c006033729bbb422cbdad0c4fee988ecb5aa5\"\u003e\u003ccode\u003e052c006\u003c/code\u003e\u003c/a\u003e Change update release date.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/502b7ce7b131473ef00a3586e60bb000f33b4c43\"\u003e\u003ccode\u003e502b7ce\u003c/code\u003e\u003c/a\u003e Merge branch 'stable' of \u003ca href=\"https://github.com/pallets/click\"\u003ehttps://github.com/pallets/click\u003c/a\u003e into release-8.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a0a37e411820861d48e21b131fdd840abaf746e0\"\u003e\u003ccode\u003ea0a37e4\u003c/code\u003e\u003c/a\u003e Change publish to werkzeug latest. (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3301\"\u003e#3301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/57be6fc2b40eb40279d022e6aabc983ee0dfb7a9\"\u003e\u003ccode\u003e57be6fc\u003c/code\u003e\u003c/a\u003e Change publish to werkzeug latest.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/781d6a88bdd30229e72a84cd6753b0235f339679\"\u003e\u003ccode\u003e781d6a8\u003c/code\u003e\u003c/a\u003e Update publish workflows (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ff795b66ba945239c779b528171f5fe4536cf844\"\u003e\u003ccode\u003eff795b6\u003c/code\u003e\u003c/a\u003e Update precommit pins with tox\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/dd87ef4f9fa7d6f13e14885e9a6842a21ededebc\"\u003e\u003ccode\u003edd87ef4\u003c/code\u003e\u003c/a\u003e Update github action pins with tox\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/93d3f9d22e90035bc2b51c2183c15bd4a021376f\"\u003e\u003ccode\u003e93d3f9d\u003c/code\u003e\u003c/a\u003e Release version 8.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3299ba1a8a5de34b24a7226a683a837d8a0857e7\"\u003e\u003ccode\u003e3299ba1\u003c/code\u003e\u003c/a\u003e Add missing PR to changelog. (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3264\"\u003e#3264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b7f62c4d002e5b5bca3ebef6b995b7338740fe6f\"\u003e\u003ccode\u003eb7f62c4\u003c/code\u003e\u003c/a\u003e Add missing PR to changelog.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.3.1...8.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cuda-pathfinder` from 1.5.0 to 1.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NVIDIA/cuda-python/releases\"\u003ecuda-pathfinder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecuda-pathfinder v1.5.1\u003c/h2\u003e\n\u003ch2\u003eRelease notes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://nvidia.github.io/cuda-python/cuda-pathfinder/latest/release/1.5.1-notes.html\"\u003ehttps://nvidia.github.io/cuda-python/cuda-pathfinder/latest/release/1.5.1-notes.html\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://nvidia.github.io/cuda-python/cuda-pathfinder/1.5.1/\"\u003ehttps://nvidia.github.io/cuda-python/cuda-pathfinder/1.5.1/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePyPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://pypi.org/project/cuda-pathfinder/1.5.1/\"\u003ehttps://pypi.org/project/cuda-pathfinder/1.5.1/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eConda\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://anaconda.org/conda-forge/cuda-pathfinder/files?version=1.5.1\"\u003ehttps://anaconda.org/conda-forge/cuda-pathfinder/files?version=1.5.1\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econda install conda-forge::cuda-pathfinder=1.5.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/NVIDIA/cuda-python/commit/1c8f2979dedd0cc1add32ff03f7bab4f9ddc4a8c\"\u003e\u003ccode\u003e1c8f297\u003c/code\u003e\u003c/a\u003e docs(pathfinder): prepare 1.5.1 release notes (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1854\"\u003e#1854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NVIDIA/cuda-python/commit/1476822dfbc1fc9b747147cc0adf4a1c08aa0480\"\u003e\u003ccode\u003e1476822\u003c/code\u003e\u003c/a\u003e [FEA]: Add support for \u003ccode\u003epathfinder.find_bitcode_lib(\u0026quot;nvshmem_device\u0026quot;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1828\"\u003e#1828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NVIDIA/cuda-python/commit/900cd2efb47d9c4097a1637de18ee618c6ff6414\"\u003e\u003ccode\u003e900cd2e\u003c/code\u003e\u003c/a\u003e Claim cuda-python repository in context7 (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1757\"\u003e#1757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NVIDIA/cuda-python/commit/6a7d08c07b612786a3df8d3050fd76e281f615e1\"\u003e\u003ccode\u003e6a7d08c\u003c/code\u003e\u003c/a\u003e pathfinder: extended bin search paths with nvidia/cu13/bin (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1846\"\u003e#1846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NVIDIA/cuda-python/commit/64b8c0748e49489bf55e97f1e14dd78663a9d4cc\"\u003e\u003ccode\u003e64b8c07\u003c/code\u003e\u003c/a\u003e bench: Initial cuda.bindings latency benchmarks structure (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1736\"\u003e#1736\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NVIDIA/cuda-python/commit/56edbb0859413b00f77f42a0dc4e249f9596cbe4\"\u003e\u003ccode\u003e56edbb0\u003c/code\u003e\u003c/a\u003e Extract requires() test mark to eliminate repeated numpy version checks (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1844\"\u003e#1844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NVIDIA/cuda-python/commit/fa25626a753dba4cf052487fe425585236df1d13\"\u003e\u003ccode\u003efa25626\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions-monthly group with 5 updates (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1848\"\u003e#1848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NVIDIA/cuda-python/commit/66a687c69cf945d18d7980bdd9ad6b6265e0076c\"\u003e\u003ccode\u003e66a687c\u003c/code\u003e\u003c/a\u003e Enhance Graph.update() and add whole-graph update tests (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1843\"\u003e#1843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NVIDIA/cuda-python/commit/6211c5a668d5e73ad1370f0274f66a35f1ba837c\"\u003e\u003ccode\u003e6211c5a\u003c/code\u003e\u003c/a\u003e pathfinder: support cusolverMp dynamic loading and header searching (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1845\"\u003e#1845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NVIDIA/cuda-python/commit/682182b7e1ef05e81118cfedb3268d482e86edcf\"\u003e\u003ccode\u003e682182b\u003c/code\u003e\u003c/a\u003e Improve cuda_bindings examples (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1842\"\u003e#1842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/NVIDIA/cuda-python/compare/cuda-pathfinder-v1.5.0...cuda-pathfinder-v1.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.135.2 to 0.135.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.135.3\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for \u003ccode\u003e@app.vibe()\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15280\"\u003e#15280\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/advanced/vibe/\"\u003eVibe Coding\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✏️ Fix typo for \u003ccode\u003eclient_secret\u003c/code\u003e in OAuth2 form docstrings. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14946\"\u003e#14946\u003c/a\u003e 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\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👥 Update FastAPI People - Experts. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15279\"\u003e#15279\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 orjson from 3.11.7 to 3.11.8. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15276\"\u003e#15276\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.8. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15277\"\u003e#15277\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👥 Update FastAPI GitHub topic repositories. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15274\"\u003e#15274\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 fastmcp from 2.14.5 to 3.2.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15267\"\u003e#15267\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👥 Update FastAPI People - Contributors and Translators. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15270\"\u003e#15270\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 requests from 2.32.5 to 2.33.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15228\"\u003e#15228\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Add ty check to \u003ccode\u003elint.sh\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15136\"\u003e#15136\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/1f442c454f2f74c7419f83c203e6333955399528\"\u003e\u003ccode\u003e1f442c4\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.135.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8f5d1577b471f389f6cdea878d40a1497fda7746\"\u003e\u003ccode\u003e8f5d157\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/428452a710338334ae11043a48b06d52d9b3edba\"\u003e\u003ccode\u003e428452a\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/70580da818722cce68b7a88928d67bd0f64f42c5\"\u003e\u003ccode\u003e70580da\u003c/code\u003e\u003c/a\u003e ✨ Add support for \u003ccode\u003e@app.vibe()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15280\"\u003e#15280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6ee87478d821171139264cd9cd17cbd2232934ce\"\u003e\u003ccode\u003e6ee8747\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/3e72c09a2abfe9e1b55eede6a297cb1847126e49\"\u003e\u003ccode\u003e3e72c09\u003c/code\u003e\u003c/a\u003e 👥 Update FastAPI People - Experts (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15279\"\u003e#15279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/96df35f7a4337d612811483d8ade74f91cce2d61\"\u003e\u003ccode\u003e96df35f\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6c8112555bd86f21cfee8500140dca094ad26e20\"\u003e\u003ccode\u003e6c81125\u003c/code\u003e\u003c/a\u003e ⬆ Bump orjson from 3.11.7 to 3.11.8 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15276\"\u003e#15276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/428f82c93616b52aee2fcee03484a855135c07e5\"\u003e\u003ccode\u003e428f82c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/5599c59b9e7112109f04b63a58034fb95833f514\"\u003e\u003ccode\u003e5599c59\u003c/code\u003e\u003c/a\u003e ⬆ Bump ruff from 0.15.0 to 0.15.8 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15277\"\u003e#15277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.135.2...0.135.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.11.7 to 3.11.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8 - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78\"\u003e\u003ccode\u003e5cbb3d0\u003c/code\u003e\u003c/a\u003e 3.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e\"\u003e\u003ccode\u003e4195d7f\u003c/code\u003e\u003c/a\u003e writer::half\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b\"\u003e\u003ccode\u003ed00641b\u003c/code\u003e\u003c/a\u003e writer::uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84\"\u003e\u003ccode\u003ec84d9b4\u003c/code\u003e\u003c/a\u003e build and compatibility misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43\"\u003e\u003ccode\u003e4547234\u003c/code\u003e\u003c/a\u003e ffi::numpy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb\"\u003e\u003ccode\u003e0d4a5ad\u003c/code\u003e\u003c/a\u003e datetime PyRef idiom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85\"\u003e\u003ccode\u003ee93a13d\u003c/code\u003e\u003c/a\u003e Cross-compile avoids maturin v1.12 build-details.json error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.7...3.11.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 3.0.1 to 3.0.2\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.2\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.2.\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.2.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.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\u003c/blockquote\u003e\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/ab90747e3dae0e69b1bdbf083820b8075689b34b\"\u003e\u003ccode\u003eab90747\u003c/code\u003e\u003c/a\u003e RLS: 3.0.2 (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64934\"\u003e#64934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/6f270137a27f8de4bd1afd7d71220e0760429750\"\u003e\u003ccode\u003e6f27013\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64931\"\u003e#64931\u003c/a\u003e on branch 3.0.x (DOC/BLD: temporary disable upload of docs...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/48ddc60d6efe8d942dbe1495dea725a9d7db15ef\"\u003e\u003ccode\u003e48ddc60\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64664\"\u003e#64664\u003c/a\u003e on branch 3.0.x (BUG: DataFrame.sum() crashes on empty Dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/8774488df19d0859ddc05a24210783b66da27ef7\"\u003e\u003ccode\u003e8774488\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] PERF: fix slow python loop in validation for ArrowStringArra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/33af6cc04ed6331c23a49655c4c7bb8f90351da3\"\u003e\u003ccode\u003e33af6cc\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64133\"\u003e#64133\u003c/a\u003e on branch 3.0.x (BUG: str.find returns byte offset instead...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/4ef49d815aae99b6ba5627ab0a54ba0819336652\"\u003e\u003ccode\u003e4ef49d8\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: fix convert_dtypes dropping values from sliced mixed-dt...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/0668f3451120e5552cdc8cf5d85f6d1238ce4e12\"\u003e\u003ccode\u003e0668f34\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: Fix HDFStore.put with StringDtype columns and compressi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/23f2f442ea1af6deddfefef2a4a1e4cb44328c3d\"\u003e\u003ccode\u003e23f2f44\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: Suppress unnecessary RuntimeWarning in to_datetime with...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/83ba804de35ec98798d31474d044cff7666bebd6\"\u003e\u003ccode\u003e83ba804\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64886\"\u003e#64886\u003c/a\u003e: BUG: Compute Variance of Complex Numbers Correctly (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64892\"\u003e#64892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bb5ca1a7a96130fa0e8e2a3987c051e4473f7792\"\u003e\u003ccode\u003ebb5ca1a\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64386\"\u003e#64386\u003c/a\u003e on branch 3.0.x (BUG: fix sort_index AssertionError with R...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v3.0.1...v3.0.2\"\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 `pydantic-core` from 2.44.0 to 2.45.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic-core/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.48 to 2.0.49\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.49\u003c/h1\u003e\n\u003cp\u003eReleased: April 3, 2026\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where \u003ccode\u003e_orm.Session.get()\u003c/code\u003e would bypass the identity map\nand emit unnecessary SQL when \u003ccode\u003ewith_for_update=False\u003c/code\u003e was passed,\nrather than treating it equivalently to the default of \u003ccode\u003eNone\u003c/code\u003e.\nPull request courtesy of Joshua Swanson.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13176\"\u003e#13176\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where chained \u003ccode\u003e_orm.joinedload()\u003c/code\u003e options would not be\napplied correctly when the final relationship in the chain is declared on a\nbase mapper and accessed through a subclass mapper in a\n\u003ccode\u003e_orm.with_polymorphic()\u003c/code\u003e query. The path registry now correctly\ncomputes the natural path when a property declared on a base class is\naccessed through a path containing a subclass mapper, ensuring the loader\noption can be located during query compilation.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13193\"\u003e#13193\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug] [inheritance]\u003c/strong\u003e Fixed issue where using \u003ccode\u003e_orm.Load.options()\u003c/code\u003e to apply a chained loader\noption such as \u003ccode\u003e_orm.joinedload()\u003c/code\u003e or \u003ccode\u003e_orm.selectinload()\u003c/code\u003e with\n\u003ccode\u003e_orm.PropComparator.of_type()\u003c/code\u003e for a polymorphic relationship would\nnot generate the necessary clauses for the polymorphic subclasses. The\npolymorphic loading strategy is now correctly propagated when using a call\nsuch as \u003ccode\u003ejoinedload(A.b).options(joinedload(B.c.of_type(poly)))\u003c/code\u003e to match\nthe behavior of direct chaining e.g.\n\u003ccode\u003ejoinedload(A.b).joinedload(B.c.of_type(poly))\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13202\"\u003e#13202\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug] [inheritance]\u003c/strong\u003e Fixed issue where using chained loader options such as\n\u003ccode\u003e_orm.selectinload()\u003c/code\u003e after \u003ccode\u003e_orm.joinedload()\u003c/code\u003e with\n\u003ccode\u003e_orm.PropComparator.of_type()\u003c/code\u003e for a polymorphic relationship would\nnot properly apply the chained loader option. The loader option is now\ncorrectly applied when using a call such as\n\u003ccode\u003ejoinedload(A.b.of_type(poly)).selectinload(poly.SubClass.c)\u003c/code\u003e to eagerly\nload related objects.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13209\"\u003e#13209\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etyping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[typing] [bug]\u003c/strong\u003e Fixed a typing issue where the typed members of :data:\u003ccode\u003e.func\u003c/code\u003e would return\nthe appropriate class of the same name, however this creates an issue for\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tzdata` from 2025.3 to 2026.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/tzdata/releases\"\u003etzdata's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2026.1: Release of upstream tzdata 2026a\u003c/h2\u003e\n\u003ch1\u003eVersion 2026.1\u003c/h1\u003e\n\u003cp\u003eUpstream version 2026a released 2026-03-02T06:59:49+00:00\u003c/p\u003e\n\u003ch2\u003eBriefly:\u003c/h2\u003e\n\u003cp\u003eMoldova has used EU transition times since 2022. The \u0026quot;right\u0026quot; TZif files are no\nlonger installed by default. -DTZ_RUNTIME_LEAPS=0 disables runtime support for\nleap seconds. TZif files are no longer limited to 50 bytes of abbreviations. zic\nis no longer limited to 50 leap seconds. Several integer overflow bugs have been\nfixed.\u003c/p\u003e\n\u003ch2\u003eChanges to past and future timestamps\u003c/h2\u003e\n\u003cp\u003eSince 2022 Moldova has observed EU transition times, that is, it has sprung\nforward at 03:00, not 02:00, and has fallen back at 04:00, not 03:00.  (Thanks\nto Heitor David Pinto.)\u003c/p\u003e\n\u003ch2\u003eChanges to data\u003c/h2\u003e\n\u003cp\u003eRemove Europe/Chisinau from zonenow.tab, as it now agrees with Europe/Athens for\nfuture timestamps.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/tzdata/blob/master/NEWS.md\"\u003etzdata's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 2026.1\u003c/h1\u003e\n\u003cp\u003eUpstream version 2026a released 2026-03-02T06:59:49+00:00\u003c/p\u003e\n\u003ch2\u003eBriefly:\u003c/h2\u003e\n\u003cp\u003eMoldova has used EU transition times since 2022. The \u0026quot;right\u0026quot; TZif files are no\nlonger installed by default. -DTZ_RUNTIME_LEAPS=0 disables runtime support for\nleap seconds. TZif files are no longer limited to 50 bytes of abbreviations. zic\nis no longer limited to 50 leap seconds. Several integer overflow bugs have been\nfixed.\u003c/p\u003e\n\u003ch2\u003eChanges to past and future timestamps\u003c/h2\u003e\n\u003cp\u003eSince 2022 Moldova has observed EU transition times, that is, it has sprung\nforward at 03:00, not 02:00, and has fallen back at 04:00, not 03:00.  (Thanks\nto Heitor David Pinto.)\u003c/p\u003e\n\u003ch2\u003eChanges to data\u003c/h2\u003e\n\u003cp\u003eRemove Europe/Chisinau from zonenow.tab, as it now agrees with Europe/Athens for\nfuture timestamps.\u003c/p\u003e\n\u003chr /\u003e\n\u003c/blockquote\u003e\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/tzdata/commit/4997cab882668ef36ced53c797a7eecc229d6f66\"\u003e\u003ccode\u003e4997cab\u003c/code\u003e\u003c/a\u003e Update tzdata to version '2026a' (\u003ca href=\"https://redirect.github.com/python/tzdata/issues/123\"\u003e#123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/tzdata/commit/4d6c41f43dd1ed4d628d56846cf4166cad60f9b8\"\u003e\u003ccode\u003e4d6c41f\u003c/code\u003e\u003c/a\u003e Update development status to 'Production/Stable' (\u003ca href=\"https://redirect.github.com/python/tzdata/issues/127\"\u003e#127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/tzdata/commit/7c1ce8547dc9dee4fd99a11c714bf0d298e3230b\"\u003e\u003ccode\u003e7c1ce85\u003c/code\u003e\u003c/a\u003e Remove 'v' from tags in auto-tag.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/tzdata/commit/77a9c09c77d3da6dee96901693d31085f066a880\"\u003e\u003ccode\u003e77a9c09\u003c/code\u003e\u003c/a\u003e Update docs links to \u003ccode\u003etzdata.python.org\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python/tzdata/issues/125\"\u003e#125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/tzdata/commit/11148f66c434baa91cda04aaa04fdd1d1c6e0a98\"\u003e\u003ccode\u003e11148f6\u003c/code\u003e\u003c/a\u003e Remove quotes from update branch names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/tzdata/commit/98fa430db23193017082f4c53d6769ddde969466\"\u003e\u003ccode\u003e98fa430\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the actions group (\u003ca href=\"https://redirect.github.com/python/tzdata/issues/122\"\u003e#122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/tzdata/commit/7ef7c619a258efbd473f250d774e5a014ad0f19b\"\u003e\u003ccode\u003e7ef7c61\u003c/code\u003e\u003c/a\u003e Add auto-tag workflow (\u003ca href=\"https://redirect.github.com/python/tzdata/issues/110\"\u003e#110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/tzdata/commit/3fec560ad60b3be0c8724df91e1c995a2b9aef42\"\u003e\u003ccode\u003e3fec560\u003c/code\u003e\u003c/a\u003e Update tzdata to version '2025c'\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/python/tzdata/compare/2025.3...2026.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.42.0 to 0.43.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.43.0\u003c/h2\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEmit \u003ccode\u003ehttp.disconnect\u003c/code\u003e ASGI \u003ccode\u003ereceive()\u003c/code\u003e event on server shutting down for streaming responses (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2829\"\u003e#2829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse native \u003ccode\u003econtext\u003c/code\u003e parameter for \u003ccode\u003ecreate_task\u003c/code\u003e on Python 3.11+ (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2859\"\u003e#2859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop cast in ASGI types (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.42.0...0.43.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.42.0...0.43.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.43.0 (April 3, 2026)\u003c/h2\u003e\n\u003cp\u003eYou can quit Uvicorn now. We heard you, \u003ca href=\"https://github.com/pamelafox\"\u003e\u003ccode\u003e@​pamelafox\u003c/code\u003e\u003c/a\u003e - all 47 of your Ctrl+C's (thanks for flagging it, and thanks to \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e for the fix 🙏). \u003ca href=\"https://x.com/pamelafox/status/2039097686155227623\"\u003eSee the tweet\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEmit \u003ccode\u003ehttp.disconnect\u003c/code\u003e ASGI \u003ccode\u003ereceive()\u003c/code\u003e event on server shutting down for streaming responses (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2829\"\u003e#2829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse native \u003ccode\u003econtext\u003c/code\u003e parameter for \u003ccode\u003ecreate_task\u003c/code\u003e on Python 3.11+ (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2859\"\u003e#2859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop cast in ASGI types (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/8d397c73191b49c6d5280098d7c09dbe474e00bf\"\u003e\u003ccode\u003e8d397c7\u003c/code\u003e\u003c/a\u003e Version 0.43.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2885\"\u003e#2885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/587042d68ff6c813ec0d8cfafaa820ebe7229d23\"\u003e\u003ccode\u003e587042d\u003c/code\u003e\u003c/a\u003e 🐛 Emit \u003ccode\u003ehttp.disconnect\u003c/code\u003e ASGI \u003ccode\u003ereceive()\u003c/code\u003e event on server shutting down for s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/c9a75fb67b2e969253a41ef4ad447e013eee879e\"\u003e\u003ccode\u003ec9a75fb\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2878\"\u003e#2878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/84fd578224e36766efb056585cb6cc5171270089\"\u003e\u003ccode\u003e84fd578\u003c/code\u003e\u003c/a\u003e chore(deps): bump pygments from 2.19.2 to 2.20.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/cd52d34b55d898180a65cfc01a6a88aac54c65c3\"\u003e\u003ccode\u003ecd52d34\u003c/code\u003e\u003c/a\u003e Use native \u003ccode\u003econtext\u003c/code\u003e parameter for \u003ccode\u003ecreate_task\u003c/code\u003e on Python 3.11+ (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2859\"\u003e#2859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/5211880320b2e99a532eb121808039404da234ab\"\u003e\u003ccode\u003e5211880\u003c/code\u003e\u003c/a\u003e Drop cast in ASGI types (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/1cb8e747e2817ee46a4c0d44139e46b3b1f8fab6\"\u003e\u003ccode\u003e1cb8e74\u003c/code\u003e\u003c/a\u003e Add websocket 500 fallback header test (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2874\"\u003e#2874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/28efbb24bd590f1f943cbc2bf84f197268a8c6d8\"\u003e\u003ccode\u003e28efbb2\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump cryptography from 46.0.5 to 46.0.6 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/042ffeb7d6ea56c23afc538c6a270048ca2a0414\"\u003e\u003ccode\u003e042ffeb\u003c/code\u003e\u003c/a\u003e ci: add zizmor (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2872\"\u003e#2872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/c61f9d4ebdb8ab768efb4117129835e37f06aeca\"\u003e\u003ccode\u003ec61f9d4\u003c/code\u003e\u003c/a\u003e chore(deps): bump requests from 2.32.5 to 2.33.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2871\"\u003e#2871\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.42.0...0.43.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 3.1.7 to 3.1.8\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.8\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.8 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.8/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.8/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-8\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-8\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/45?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/45?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRequest.host\u003c/code\u003e and \u003ccode\u003eget_host\u003c/code\u003e return the empty string if the header is missing or has invalid characters. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3142\"\u003e#3142\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/blob/main/CHANGES.rst\"\u003ewerkzeug's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.8\u003c/h2\u003e\n\u003cp\u003eReleased 2026-04-02\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRequest.host\u003c/code\u003e and \u003ccode\u003eget_host\u003c/code\u003e return the empty string if the header is\nmissing or has invalid characters. :issue:\u003ccode\u003e3142\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/c1a26b45fb06d5e086b4d6be820c3302f588d815\"\u003e\u003ccode\u003ec1a26b4\u003c/code\u003e\u003c/a\u003e release version 3.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/7926f0bc3a0da01827e59c81d6da55f8f75a2eed\"\u003e\u003ccode\u003e7926f0b\u003c/code\u003e\u003c/a\u003e relax get_host strictness (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3148\"\u003e#3148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/deab88f61fa57d37d19f83ea438d4bdebb5a743c\"\u003e\u003ccode\u003edeab88f\u003c/code\u003e\u003c/a\u003e relax get_host strictness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/65eb6398231fe94f32fbc765a74980ca61fe5d2b\"\u003e\u003ccode\u003e65eb639\u003c/code\u003e\u003c/a\u003e start version 3.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/7720b76b37b17a33e5414bddb992c92ba854f0e3\"\u003e\u003ccode\u003e7720b76\u003c/code\u003e\u003c/a\u003e release version 3.1.7 (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3135\"\u003e#3135\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pallets/werkzeug/compare/3.1.7...3.1.8\"\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/microsoft/physical-ai-toolchain/pull/394","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fphysical-ai-toolchain/issues/394","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/394/packages"},{"uuid":"4202398807","node_id":"PR_kwDOPaNb1c7P4cav","number":3,"state":"closed","title":"Bump the pip group across 3 directories with 8 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-03T22:19:49.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-03T22:17:10.000Z","updated_at":"2026-04-03T22:19:50.000Z","time_to_close":159,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip","update_count":8,"packages":[{"name":"mlflow","old_version":"3.2.0rc0","new_version":"3.9.0rc0","repository_url":"https://github.com/mlflow/mlflow"},{"name":"pyasn1","old_version":"0.6.1","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"sqlparse","old_version":"0.5.3","new_version":"0.5.4","repository_url":"https://github.com/andialbrecht/sqlparse"},{"name":"google-cloud-aiplatform","old_version":"1.47.0","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"orjson","old_version":"3.10.12","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"},{"name":"fastapi-sso","old_version":"0.16.0","new_version":"0.19.0","repository_url":"https://github.com/tomasvotava/fastapi-sso"},{"name":"mcp","old_version":"1.10.1","new_version":"1.23.0","repository_url":"https://github.com/modelcontextprotocol/python-sdk"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 4 updates in the / directory: [mlflow](https://github.com/mlflow/mlflow), [pyasn1](https://github.com/pyasn1/pyasn1), [sqlparse](https://github.com/andialbrecht/sqlparse) and [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 4 updates in the /.circleci directory: [orjson](https://github.com/ijl/orjson), [fastapi-sso](https://github.com/tomasvotava/fastapi-sso), [mcp](https://github.com/modelcontextprotocol/python-sdk) and [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 1 update in the /cookbook/litellm-ollama-docker-image directory: [litellm](https://github.com/BerriAI/litellm).\n\nUpdates `mlflow` from 3.2.0rc0 to 3.9.0rc0\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.9.0rc0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.9.0rc0, a pre-release including several notable updates:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMajor New Features\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🔮 \u003cstrong\u003eMLflow Assistant\u003c/strong\u003e: Figuring out the next steps to debug your apps and agents can be challenging. We're excited to introduce the MLflow Assistant, an in-product chatbot that can help you identify, diagnose, and fix issues. The assistant is backed by Claude Code, and directly passes context from the MLflow UI to Claude. Click on the floating \u0026quot;Assistant\u0026quot; button in the bottom right of the MLflow UI to get started!\u003c/li\u003e\n\u003cli\u003e📈 \u003cstrong\u003eTrace Overview Dashboard\u003c/strong\u003e: You can now get insights into your agent's performance at a glance with the new \u0026quot;Overview\u0026quot; tab in GenAI experiments. Many pre-built statistics are available out of the box, including performance metrics (e.g. latency, request count), quality metrics (based on assessments), and tool call summaries. If there are any additional charts you'd like to see, please feel free to raise an issue in the MLflow repository!\u003c/li\u003e\n\u003cli\u003e✨ \u003cstrong\u003eAI Gateway\u003c/strong\u003e: We're revamping our AI Gateway feature! AI Gateway provides a unified interface for your API requests, allowing you to route queries to your LLM provider(s) of choice. In MLflow 3.9.0rc0, the Gateway server is now located directly in the tracking server, so you don't need to spin up a new process. Additional features such as passthrough endpoints, traffic splits, and fallback models are also available, with more to come soon! For more detailed information, please take a look at the \u003ca href=\"https://mlflow.org/docs/latest/genai/governance/ai-gateway/\"\u003edocs\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔎 \u003cstrong\u003eOnline Monitoring with LLM Judges\u003c/strong\u003e: Configure LLM judges to automatically run on your traces, without having to write a line of code! You can either use one of our \u003ca href=\"https://mlflow.org/docs/latest/genai/eval-monitor/scorers/llm-judge/predefined/\"\u003epre-defined judges\u003c/a\u003e, or provide your own prompt and instructions to create custom metrics. Head to the new \u0026quot;Judges\u0026quot; tab within the GenAI Experiment UI to get started.\u003c/li\u003e\n\u003cli\u003e🤖 \u003cstrong\u003eJudge Builder UI\u003c/strong\u003e: Define and iterate on custom LLM judge prompts directly from the UI! Within the new \u0026quot;Judges\u0026quot; tab, you can create your own prompt for an LLM judge, and test-run it on your traces to see what the output would be. Once you're happy with it, you can either use it for online monitoring (as mentioned above), or use it via the Python SDK for your evals.\u003c/li\u003e\n\u003cli\u003e🔗 \u003cstrong\u003eDistributed Tracing\u003c/strong\u003e: Trace context can now be propagated across different services and processes, allowing you to truly track request lifecycles from end to end. The related APIs are defined in the \u003ccode\u003emlflow.tracing.distributed\u003c/code\u003e module (with more documentation to come soon).\u003c/li\u003e\n\u003cli\u003e📚 \u003cstrong\u003eMemAlign - a new judge optimizer algorithm\u003c/strong\u003e: We're excited to introduce \u003ccode\u003eMemAlignOptimizer\u003c/code\u003e, a new algorithm that makes your judges smarter over time. It learns general guidelines from past feedback while dynamically retrieving relevant examples at runtime, giving you more accurate evaluations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eStay tuned for the full release, which will be packed with even more features and bugfixes.\u003c/p\u003e\n\u003cp\u003eTo try out this release candidate, please run:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003epip install mlflow==3.9.0rc0\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003ePlease try it out and report any issues on \u003ca href=\"https://github.com/mlflow/mlflow/issues\"\u003ethe issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev3.8.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.1 includes several bug fixes and documentation updates.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Tracking] Skip registering sqlalchemy store when sqlalchemy lib is not installed (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19563\"\u003e#19563\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[Models / Scoring] fix(security): prevent command injection via malicious model artifacts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19583\"\u003e#19583\u003c/a\u003e, \u003ca href=\"https://github.com/ColeMurray\"\u003e\u003ccode\u003e@​ColeMurray\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts] Fix prompt registration with model_config on Databricks (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19617\"\u003e#19617\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 UI blank page on plain HTTP by replacing crypto.randomUUID with uuid library (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19644\"\u003e#19644\u003c/a\u003e, \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\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19539\"\u003e#19539\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19451\"\u003e#19451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19409\"\u003e#19409\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/19493\"\u003e#19493\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.8.0\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.0 includes several major features and improvements\u003c/p\u003e\n\u003ch3\u003eMajor Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⚙️ \u003cstrong\u003ePrompt Model Configuration\u003c/strong\u003e: Prompts can now include model configuration, allowing you to associate specific model settings with prompt templates for more reproducible LLM workflows. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18963\"\u003e#18963\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19174\"\u003e#19174\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19279\"\u003e#19279\u003c/a\u003e, \u003ca href=\"https://github.com/chenmoneygithub\"\u003e\u003ccode\u003e@​chenmoneygithub\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⏳ \u003cstrong\u003eIn-Progress Trace Display\u003c/strong\u003e: The Traces UI now supports displaying spans from in-progress traces with auto-polling, enabling real-time debugging and monitoring of long-running LLM applications. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19265\"\u003e#19265\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⚖️ \u003cstrong\u003eDeepEval and RAGAS Judges Integration\u003c/strong\u003e: New \u003ccode\u003eget_judge\u003c/code\u003e API enables using DeepEval and RAGAS evaluation metrics as MLflow scorers, providing access to 20+ evaluation metrics including answer relevancy, faithfulness, and hallucination detection. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18988\"\u003e#18988\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/19345\"\u003e#19345\u003c/a\u003e, \u003ca href=\"https://github.com/SomtochiUmeh\"\u003e\u003ccode\u003e@​SomtochiUmeh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e🛡️ \u003cstrong\u003eConversational Safety Scorer\u003c/strong\u003e: New built-in scorer for evaluating safety of multi-turn conversations, analyzing entire conversation histories for hate speech, harassment, violence, and other safety concerns. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19106\"\u003e#19106\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⚡ \u003cstrong\u003eConversational Tool Call Efficiency Scorer\u003c/strong\u003e: New built-in scorer for evaluating tool call efficiency in multi-turn agent interactions, detecting redundant calls, missing batching opportunities, and poor tool selections. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19245\"\u003e#19245\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImportant Notice\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCollection of UI Telemetry\u003c/strong\u003e. From MLflow 3.8.0 onwards, MLflow will collect anonymized data about UI interactions, similar to the telemetry we collect for the Python SDK. If you manage your own server, UI telemetry is automatically disabled by setting the existing environment variables: \u003ccode\u003eMLFLOW_DISABLE_TELEMETRY=true\u003c/code\u003e or \u003ccode\u003eDO_NOT_TRACK=true\u003c/code\u003e. If you do not manage your own server (e.g. you use a managed service or are not the admin), you can still opt out personally via the new \u0026quot;Settings\u0026quot; tab in the MLflow UI. For more information, please read the documentation on \u003ca href=\"https://mlflow.org/docs/latest/community/usage-tracking/\"\u003eusage tracking\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/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.0rc0 (2026-01-15)\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.9.0rc0, a pre-release including several notable updates:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMajor New Features\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🔮 \u003cstrong\u003eMLflow Assistant\u003c/strong\u003e: Figuring out the next steps to debug your apps and agents can be challenging. We're excited to introduce the MLflow Assistant, an in-product chatbot that can help you identify, diagnose, and fix issues. The assistant is backed by Claude Code, and directly passes context from the MLflow UI to Claude. Click on the floating \u0026quot;Assistant\u0026quot; button in the bottom right of the MLflow UI to get started!\u003c/li\u003e\n\u003cli\u003e📈 \u003cstrong\u003eTrace Overview Dashboard\u003c/strong\u003e: You can now get insights into your agent's performance at a glance with the new \u0026quot;Overview\u0026quot; tab in GenAI experiments. Many pre-built statistics are available out of the box, including performance metrics (e.g. latency, request count), quality metrics (based on assessments), and tool call summaries. If there are any additional charts you'd like to see, please feel free to raise an issue in the MLflow repository!\u003c/li\u003e\n\u003cli\u003e✨ \u003cstrong\u003eAI Gateway\u003c/strong\u003e: We're revamping our AI Gateway feature! AI Gateway provides a unified interface for your API requests, allowing you to route queries to your LLM provider(s) of choice. In MLflow 3.9.0rc0, the Gateway server is now located directly in the tracking server, so you don't need to spin up a new process. Additional features such as passthrough endpoints, traffic splits, and fallback models are also available, with more to come soon! For more detailed information, please take a look at the \u003ca href=\"https://mlflow.org/docs/latest/genai/governance/ai-gateway/\"\u003edocs\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔎 \u003cstrong\u003eOnline Monitoring with LLM Judges\u003c/strong\u003e: Configure LLM judges to automatically run on your traces, without having to write a line of code! You can either use one of our \u003ca href=\"https://mlflow.org/docs/latest/genai/eval-monitor/scorers/llm-judge/predefined/\"\u003epre-defined judges\u003c/a\u003e, or provide your own prompt and instructions to create custom metrics. Head to the new \u0026quot;Judges\u0026quot; tab within the GenAI Experiment UI to get started.\u003c/li\u003e\n\u003cli\u003e🤖 \u003cstrong\u003eJudge Builder UI\u003c/strong\u003e: Define and iterate on custom LLM judge prompts directly from the UI! Within the new \u0026quot;Judges\u0026quot; tab, you can create your own prompt for an LLM judge, and test-run it on your traces to see what the output would be. Once you're happy with it, you can either use it for online monitoring (as mentioned above), or use it via the Python SDK for your evals.\u003c/li\u003e\n\u003cli\u003e🔗 \u003cstrong\u003eDistributed Tracing\u003c/strong\u003e: Trace context can now be propagated across different services and processes, allowing you to truly track request lifecycles from end to end. The related APIs are defined in the \u003ccode\u003emlflow.tracing.distributed\u003c/code\u003e module (with more documentation to come soon).\u003c/li\u003e\n\u003cli\u003e📚 \u003cstrong\u003eMemAlign - a new judge optimizer algorithm\u003c/strong\u003e: We're excited to introduce \u003ccode\u003eMemAlignOptimizer\u003c/code\u003e, a new algorithm that makes your judges smarter over time. It learns general guidelines from past feedback while dynamically retrieving relevant examples at runtime, giving you more accurate evaluations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eStay tuned for the full release, which will be packed with even more features and bugfixes.\u003c/p\u003e\n\u003cp\u003eTo try out this release candidate, please run:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003epip install mlflow==3.9.0rc0\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.1 (2025-12-26)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.1 includes several bug fixes and documentation updates.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Tracking] Skip registering sqlalchemy store when sqlalchemy lib is not installed (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19563\"\u003e#19563\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[Models / Scoring] fix(security): prevent command injection via malicious model artifacts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19583\"\u003e#19583\u003c/a\u003e, \u003ca href=\"https://github.com/ColeMurray\"\u003e\u003ccode\u003e@​ColeMurray\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts] Fix prompt registration with model_config on Databricks (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19617\"\u003e#19617\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 UI blank page on plain HTTP by replacing crypto.randomUUID with uuid library (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19644\"\u003e#19644\u003c/a\u003e, \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\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19539\"\u003e#19539\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19451\"\u003e#19451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19409\"\u003e#19409\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/19493\"\u003e#19493\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.0 (2025-12-19)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.0 includes several major features and improvements\u003c/p\u003e\n\u003ch3\u003eMajor Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⚙️ \u003cstrong\u003ePrompt Model Configuration\u003c/strong\u003e: Prompts can now include model configuration, allowing you to associate specific model settings with prompt templates for more reproducible LLM workflows. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18963\"\u003e#18963\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19174\"\u003e#19174\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19279\"\u003e#19279\u003c/a\u003e, \u003ca href=\"https://github.com/chenmoneygithub\"\u003e\u003ccode\u003e@​chenmoneygithub\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⏳ \u003cstrong\u003eIn-Progress Trace Display\u003c/strong\u003e: The Traces UI now supports displaying spans from in-progress traces with auto-polling, enabling real-time debugging and monitoring of long-running LLM applications. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19265\"\u003e#19265\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⚖️ \u003cstrong\u003eDeepEval Judges Integration\u003c/strong\u003e: New \u003ccode\u003eget_judge\u003c/code\u003e API enables using DeepEval's evaluation metrics as MLflow scorers, providing access to 20+ evaluation metrics including answer relevancy, faithfulness, and hallucination detection. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18988\"\u003e#18988\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🛡️ \u003cstrong\u003eConversational Safety Scorer\u003c/strong\u003e: New built-in scorer for evaluating safety of multi-turn conversations, analyzing entire conversation histories for hate speech, harassment, violence, and other safety concerns. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19106\"\u003e#19106\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⚡ \u003cstrong\u003eConversational Tool Call Efficiency Scorer\u003c/strong\u003e: New built-in scorer for evaluating tool call efficiency in multi-turn agent interactions, detecting redundant calls, missing batching opportunities, and poor tool selections. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19245\"\u003e#19245\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImportant Notice\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCollection of UI Telemetry\u003c/strong\u003e. From MLflow 3.8.0 onwards, MLflow will collect anonymized data about UI interactions, similar to the telemetry we collect for the Python SDK. If you manage your own server, UI telemetry is automatically disabled by setting the existing environment variables: \u003ccode\u003eMLFLOW_DISABLE_TELEMETRY=true\u003c/code\u003e or \u003ccode\u003eDO_NOT_TRACK=true\u003c/code\u003e. If you do not manage your own server (e.g. you use a managed service or are not the admin), you can still opt out personally via the new \u0026quot;Settings\u0026quot; tab in the MLflow UI. For more information, please read the documentation on \u003ca href=\"https://mlflow.org/docs/latest/community/usage-tracking/\"\u003eusage tracking\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/mlflow/mlflow/commit/d8c9d8c0bcaedd5133e14e0b2931fdd607c97366\"\u003e\u003ccode\u003ed8c9d8c\u003c/code\u003e\u003c/a\u003e Run \u003ccode\u003epython3 dev/update_mlflow_versions.py pre-release ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/e65f119e02223718e532c3ce6d86a18cc28d9eb6\"\u003e\u003ccode\u003ee65f119\u003c/code\u003e\u003c/a\u003e Run \u003ccode\u003epython3 dev/update_ml_package_versions.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20013\"\u003e#20013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/069244579538d23bac836c61c60076d1a907a96c\"\u003e\u003ccode\u003e0692445\u003c/code\u003e\u003c/a\u003e Move DevTools section from PR description to separate comment (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20012\"\u003e#20012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/089d86963301f50ae52b13caf346fbc249dc9f53\"\u003e\u003ccode\u003e089d869\u003c/code\u003e\u003c/a\u003e Enhance LiteLLMConfig validation and normalize Databricks base URL (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20008\"\u003e#20008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/df01edd6ec77acd646a97eaf8785cef719a29499\"\u003e\u003ccode\u003edf01edd\u003c/code\u003e\u003c/a\u003e Implement telemetry tracking for gateway invocations and CRUD operations (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19\"\u003e#19\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/99b5a3dd85e01160aa4c89559209bb0cce42055c\"\u003e\u003ccode\u003e99b5a3d\u003c/code\u003e\u003c/a\u003e Merge MLflow Assistant branch (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/a58d7d746420257648e33b1fa1bc24e86cc60c40\"\u003e\u003ccode\u003ea58d7d7\u003c/code\u003e\u003c/a\u003e Remove vertical line (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20006\"\u003e#20006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/f4db4c37b17405ae91963c77200d7ef78976474d\"\u003e\u003ccode\u003ef4db4c3\u003c/code\u003e\u003c/a\u003e Remove over time label (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/aba70944127e4db5e4e14004e6a9a9ddd7884070\"\u003e\u003ccode\u003eaba7094\u003c/code\u003e\u003c/a\u003e Distinguish local remote server (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19893\"\u003e#19893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3bc8482544254bec5ccc09e79e554fb05e024d90\"\u003e\u003ccode\u003e3bc8482\u003c/code\u003e\u003c/a\u003e Add coming soon components (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.2.0rc0...v3.9.0rc0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyasn1` from 0.6.1 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyasn1/pyasn1/releases\"\u003epyasn1's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.6.3\u003c/h2\u003e\n\u003cp\u003eIt's a minor release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded nesting depth limit to ASN.1 decoder to prevent stack overflow from deeply nested structures (CVE-2026-30922).\u003c/li\u003e\n\u003cli\u003eFixed OverflowError from oversized BER length field.\u003c/li\u003e\n\u003cli\u003eFixed DeprecationWarning stacklevel for deprecated attributes.\u003c/li\u003e\n\u003cli\u003eFixed asDateTime incorrect fractional seconds parsing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll changes are noted in the \u003ca href=\"https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst\"\u003eCHANGELOG\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRelease 0.6.2\u003c/h2\u003e\n\u003cp\u003eIt's a minor release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed continuation octet limits in OID/RELATIVE-OID decoder (CVE-2026-23490).\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy.\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll changes are noted in the \u003ca href=\"https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst\"\u003eCHANGELOG\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/pyasn1/pyasn1/blob/main/CHANGES.rst\"\u003epyasn1's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRevision 0.6.3, released 16-03-2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-30922 (GHSA-jr27-m4p2-rc6r): Added nesting depth\nlimit to ASN.1 decoder to prevent stack overflow from deeply\nnested structures (thanks for reporting, romanticpragmatism)\u003c/li\u003e\n\u003cli\u003eFixed OverflowError from oversized BER length field\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/54\"\u003e#54\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/54\"\u003epyasn1/pyasn1#54\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/100\"\u003e#100\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/100\"\u003epyasn1/pyasn1#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DeprecationWarning stacklevel for deprecated attributes\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/86\"\u003e#86\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/86\"\u003epyasn1/pyasn1#86\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/101\"\u003e#101\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/101\"\u003epyasn1/pyasn1#101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed asDateTime incorrect fractional seconds parsing\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/81\"\u003e#81\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/81\"\u003epyasn1/pyasn1#81\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/102\"\u003e#102\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/102\"\u003epyasn1/pyasn1#102\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRevision 0.6.2, released 16-01-2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-23490 (GHSA-63vm-454h-vhhq): Fixed continuation octet limits\nin OID/RELATIVE-OID decoder (thanks to tsigouris007)\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/97\"\u003epyasn1/pyasn1#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy\u003c/li\u003e\n\u003cli\u003eFixed unit tests failing due to missing code\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003epyasn1/pyasn1#91\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/92\"\u003epyasn1/pyasn1#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/90\"\u003e#90\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/90\"\u003epyasn1/pyasn1#90\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/pyasn1/pyasn1/commit/af65c3b92e9deeae50db4de390982dd970d87f98\"\u003e\u003ccode\u003eaf65c3b\u003c/code\u003e\u003c/a\u003e Prepare release 0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/5a49bd1fe93b5b866a1210f6bf0a3924f21572c8\"\u003e\u003ccode\u003e5a49bd1\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/5494ba43f738e700ca9f7c7a69ec5c44908c9a9f\"\u003e\u003ccode\u003e5494ba4\u003c/code\u003e\u003c/a\u003e Fix asDateTime incorrect fractional seconds parsing (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/102\"\u003e#102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/71f486e6c32d0f270868aa1b2bb5ceb7d5fd5476\"\u003e\u003ccode\u003e71f486e\u003c/code\u003e\u003c/a\u003e Fix DeprecationWarning stacklevel for deprecated attributes (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/101\"\u003e#101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/d7cb42dcaa9a66e18f14c4609c2ed00c5b65f7e8\"\u003e\u003ccode\u003ed7cb42d\u003c/code\u003e\u003c/a\u003e Fix OverflowError from oversized BER length field (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/100\"\u003e#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/e7356f89cf32c130d65b1a0e903fe7ecce426424\"\u003e\u003ccode\u003ee7356f8\u003c/code\u003e\u003c/a\u003e Prepare release 0.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/3908f144229eed4df24bd569d16e5991ace44970\"\u003e\u003ccode\u003e3908f14\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/0a7e067674b1ec558f9d233a3bc173472fe27c6c\"\u003e\u003ccode\u003e0a7e067\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/33656e986d8e2355123799e7267104ac7d8a6fb1\"\u003e\u003ccode\u003e33656e9\u003c/code\u003e\u003c/a\u003e Create Security Policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/fa62307253f4423effac71a618e20fabaa37e22e\"\u003e\u003ccode\u003efa62307\u003c/code\u003e\u003c/a\u003e fix for issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e: unit tests failing due to missing code (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyasn1/pyasn1/compare/v0.6.1...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlparse` from 0.5.3 to 0.5.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG\"\u003esqlparse's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.5.4 (Nov 28, 2025)\u003c/h2\u003e\n\u003cp\u003eEnhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdd type annotations to top-level API functions and include py.typed marker\nfor PEP 561 compliance, enabling type checking with mypy and other tools\n(issue756).\u003c/li\u003e\n\u003cli\u003eAdd pre-commit hook support. sqlparse can now be used as a pre-commit hook\nto automatically format SQL files. The CLI now supports multiple files and\nan \u003ccode\u003e--in-place\u003c/code\u003e flag for in-place editing (issue537).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eATTACH\u003c/code\u003e and \u003ccode\u003eDETACH\u003c/code\u003e to PostgreSQL keywords (pr808).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eINTERSECT\u003c/code\u003e to close keywords in WHERE clause (pr820).\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eREGEXP BINARY\u003c/code\u003e comparison operator (pr817).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd additional protection against denial of service attacks when parsing\nvery large lists of tuples. This enhances the existing recursion protections\nwith configurable limits for token processing to prevent DoS through\nalgorithmic complexity attacks. The new limits (MAX_GROUPING_DEPTH=100,\nMAX_GROUPING_TOKENS=10000) can be adjusted or disabled (by setting to None)\nif needed for legitimate large SQL statements.\u003c/li\u003e\n\u003cli\u003eRemove shebang from cli.py and remove executable flag (pr818).\u003c/li\u003e\n\u003cli\u003eFix strip_comments not removing all comments when input contains only\ncomments (issue801, pr803 by stropysh).\u003c/li\u003e\n\u003cli\u003eFix splitting statements with IF EXISTS/IF NOT EXISTS inside BEGIN...END\nblocks (issue812).\u003c/li\u003e\n\u003cli\u003eFix splitting on semicolons inside BEGIN...END blocks (issue809).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/14e300b165b14d1a7662a071c6481b503d367528\"\u003e\u003ccode\u003e14e300b\u003c/code\u003e\u003c/a\u003e Bump version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/96a67e286963b2497b1b3f7a1378327af6661998\"\u003e\u003ccode\u003e96a67e2\u003c/code\u003e\u003c/a\u003e Code cleanup.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1a3bfbd50b82c05d9adcc51bacba059671dc1bc7\"\u003e\u003ccode\u003e1a3bfbd\u003c/code\u003e\u003c/a\u003e Fix handling of semicolons inside BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/809\"\u003e#809\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/e92a032c81d51a6645b4f8c32470481894818ba0\"\u003e\u003ccode\u003ee92a032\u003c/code\u003e\u003c/a\u003e Fix handling of IF EXISTS statements in BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/812\"\u003e#812\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/149bebf06c788e93a9b0dbee0e5abbc8e347b8e6\"\u003e\u003ccode\u003e149bebf\u003c/code\u003e\u003c/a\u003e Update Changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/561a67e740e9623cf81ef99f1a6cd94337e24282\"\u003e\u003ccode\u003e561a67e\u003c/code\u003e\u003c/a\u003e Update AUTHORS.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/73c8ba3ae88b608d39740c0776fb15064232258e\"\u003e\u003ccode\u003e73c8ba3\u003c/code\u003e\u003c/a\u003e bugfix ISSUE_801; Remove all comments when only comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1b323879f87207946e4782812e2e1254b1c0c659\"\u003e\u003ccode\u003e1b32387\u003c/code\u003e\u003c/a\u003e Update action to run on all prs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/31903e09db518ee3969110073427196ef9cd46c3\"\u003e\u003ccode\u003e31903e0\u003c/code\u003e\u003c/a\u003e Add pre-commit hook support (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/13577264eb38b88e24825022fea4bd4351449e7c\"\u003e\u003ccode\u003e1357726\u003c/code\u003e\u003c/a\u003e docs: add AGENTS.md for project guidance and development commands\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/andialbrecht/sqlparse/compare/0.5.3...0.5.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-aiplatform` from 1.47.0 to 1.133.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-aiplatform/releases\"\u003egoogle-cloud-aiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.133.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.132.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.131.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\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/googleapis/python-aiplatform/blob/main/CHANGELOG.md\"\u003egoogle-cloud-aiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix RagManagedVertexVectorSearch when using backend_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/df0976ed3195dc8313f4728bc5ecb29dda55d467\"\u003edf0976e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - patch for vulnerability in visualization (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8a00d43dbd24e95dbab6ea32c63ce0a5a1849480\"\u003e8a00d43\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/78f2bdd08bae0696923e61ab73080b5846c67ae0\"\u003e\u003ccode\u003e78f2bdd\u003c/code\u003e\u003c/a\u003e chore(main): release 1.133.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-aiplatform/issues/6211\"\u003e#6211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003e\u003ccode\u003ec8c0f0f\u003c/code\u003e\u003c/a\u003e fix: Add None check for agent_info in evals.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/9952b970b73cfe38e68c48b3699ee4e1df0264df\"\u003e\u003ccode\u003e9952b97\u003c/code\u003e\u003c/a\u003e chore: rollback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e\u003ccode\u003e83f4076\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/937d5af6b9bdbbe3b50181745c99550f124ad8b4\"\u003e\u003ccode\u003e937d5af\u003c/code\u003e\u003c/a\u003e Copybara import of the project:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/aaaf902be02747cd2281196aad6278df0fd11f7e\"\u003e\u003ccode\u003eaaaf902\u003c/code\u003e\u003c/a\u003e chore: bump google-auth lower bound to 2.47.0 in GenAI and Vertex SDKs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e\u003ccode\u003e8c876ef\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e\u003ccode\u003e5448f06\u003c/code\u003e\u003c/a\u003e fix: Require uri or staging bucket configuration for saving model to Vertex E...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e\u003ccode\u003e65717fa\u003c/code\u003e\u003c/a\u003e feat: GenAI SDK client(memory): Add enable_third_person_memories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003e\u003ccode\u003ebe2eaaa\u003c/code\u003e\u003c/a\u003e fix: GenAI client(evals) - Fix TypeError in _build_generate_content_config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.47.0...v1.133.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.10.12 to 3.11.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6 - 2026-01-29\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2 - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ec02024c3837255064f248c0d2d331319b75e9ad\"\u003e\u003ccode\u003eec02024\u003c/code\u003e\u003c/a\u003e 3.11.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d58168733189f82b3fd0c058dff73e05d09202e6\"\u003e\u003ccode\u003ed581687\u003c/code\u003e\u003c/a\u003e build, clippy misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4105b29b2275f200f6fae01349bef02ccf1bc2e2\"\u003e\u003ccode\u003e4105b29\u003c/code\u003e\u003c/a\u003e writer::num\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/62bb185b70785ded49c79c26f8c9781f1e6fe370\"\u003e\u003ccode\u003e62bb185\u003c/code\u003e\u003c/a\u003e Fix sporadic crash on serializing object close\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d860078a973f44401265c5c4ad12a7dbe4f839ad\"\u003e\u003ccode\u003ed860078\u003c/code\u003e\u003c/a\u003e PyRef idiom refactors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/343ae2f148197918aba9f8562db42c364620e4b8\"\u003e\u003ccode\u003e343ae2f\u003c/code\u003e\u003c/a\u003e Deserializer, Utf8Buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/7835f58d1c56947d1cf7a18acdfc07a2bca9b0f2\"\u003e\u003ccode\u003e7835f58\u003c/code\u003e\u003c/a\u003e PyBytesRef and other input refactor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/71e0516424ce1e11613eb1780f18e8cde83989fd\"\u003e\u003ccode\u003e71e0516\u003c/code\u003e\u003c/a\u003e PyStrRef\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1096df42dc585fde837ed0c930a346f5ef7dbb94\"\u003e\u003ccode\u003e1096df4\u003c/code\u003e\u003c/a\u003e MSRV 1.89\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/b718e75b8ba18a707c2b44b6de14d52547573771\"\u003e\u003ccode\u003eb718e75\u003c/code\u003e\u003c/a\u003e Drop support for python3.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.12...3.11.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi-sso` from 0.16.0 to 0.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/releases\"\u003efastapi-sso's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.19.0\u003c/h2\u003e\n\u003cp\u003e️⚠️ A critical OAuth login CSRF vulnerability caused by missing \u003ccode\u003estate\u003c/code\u003e validation was\nreported by \u003ca href=\"https://github.com/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e (Snyk Security Labs)\nin \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e and has been resolved\nin version \u003ccode\u003e0.19.0\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eStarting with \u003ccode\u003efastapi-sso==1.0.0\u003c/code\u003e, OAuth \u003ccode\u003estate\u003c/code\u003e will be backed by a pluggable server-side store\n(in-memory by default, with support for external stores such as \u003ccode\u003eRedis\u003c/code\u003e).\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the all group with 11 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/230\"\u003etomasvotava/fastapi-sso#230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/231\"\u003etomasvotava/fastapi-sso#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 6 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/232\"\u003etomasvotava/fastapi-sso#232\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/233\"\u003etomasvotava/fastapi-sso#233\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/234\"\u003etomasvotava/fastapi-sso#234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/235\"\u003etomasvotava/fastapi-sso#235\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/237\"\u003etomasvotava/fastapi-sso#237\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/239\"\u003etomasvotava/fastapi-sso#239\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/241\"\u003etomasvotava/fastapi-sso#241\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 5 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/242\"\u003etomasvotava/fastapi-sso#242\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 10 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/247\"\u003etomasvotava/fastapi-sso#247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/248\"\u003etomasvotava/fastapi-sso#248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/251\"\u003etomasvotava/fastapi-sso#251\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/252\"\u003etomasvotava/fastapi-sso#252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/253\"\u003etomasvotava/fastapi-sso#253\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/254\"\u003etomasvotava/fastapi-sso#254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 12 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/259\"\u003etomasvotava/fastapi-sso#259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: enforce state validation by \u003ca href=\"https://github.com/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/267\"\u003etomasvotava/fastapi-sso#267\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 7 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/265\"\u003etomasvotava/fastapi-sso#265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e): warn against using state as an arbitrary data transport by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/269\"\u003etomasvotava/fastapi-sso#269\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/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/267\"\u003etomasvotava/fastapi-sso#267\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.18.0...0.19.0\"\u003ehttps://github.com/tomasvotava/fastapi-sso/compare/0.18.0...0.19.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eRemoved support for python 3.8\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore: add Python 3.13 to testing and linting workflows by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/226\"\u003etomasvotava/fastapi-sso#226\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update Python version to 3.12 and improve documentation workflow by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/227\"\u003etomasvotava/fastapi-sso#227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/228\"\u003etomasvotava/fastapi-sso#228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:use id token for linkedin userinfo by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/229\"\u003etomasvotava/fastapi-sso#229\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.17.0...0.18.0\"\u003ehttps://github.com/tomasvotava/fastapi-sso/compare/0.17.0...0.18.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.17.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/c905eafe2d6d7aab5d2b929e53ba98f238fdb21d\"\u003e\u003ccode\u003ec905eaf\u003c/code\u003e\u003c/a\u003e chore: 0.18.0 =\u0026gt; 0.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/94343bf276bed9df0ed0b11fe00661fc65ac57e0\"\u003e\u003ccode\u003e94343bf\u003c/code\u003e\u003c/a\u003e docs(\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e): warn against using state as an arbitrary data transport (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/d057c1d4db151a180668a03784250315cdb0b1e9\"\u003e\u003ccode\u003ed057c1d\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group across 1 directory with 7 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/6117d1a5ad498ba57d671e8a059ebe20db5abe02\"\u003e\u003ccode\u003e6117d1a\u003c/code\u003e\u003c/a\u003e fix: enforce state validation (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/267\"\u003e#267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/da63c19bca7db0fe8a7e66d03fdf07154ec7182a\"\u003e\u003ccode\u003eda63c19\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group across 1 directory with 12 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/0ccaeddf9e95a997a370ec312dc073f8f9920f38\"\u003e\u003ccode\u003e0ccaedd\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group with 2 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/254\"\u003e#254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/a43e62e67dfc40a2f9634bd932a2dfd02fe9e5b8\"\u003e\u003ccode\u003ea43e62e\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 2 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/253\"\u003e#253\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/8cd706d335e134504be46eab3404ff0ca3bdf6f9\"\u003e\u003ccode\u003e8cd706d\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/252\"\u003e#252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/ea769fa223f5b665eb37b9cee998b19d49d52427\"\u003e\u003ccode\u003eea769fa\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/251\"\u003e#251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/7aba1e6ea408be1bce282fce7c3ba3da89e5e7b1\"\u003e\u003ccode\u003e7aba1e6\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/248\"\u003e#248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.16.0...0.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp` from 1.10.1 to 1.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.0\u003c/h2\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release brings us up to speed with the latest MCP spec \u003ccode\u003e2025-11-25\u003c/code\u003e. Take a look at the \u003ca href=\"https://modelcontextprotocol.io/specification/2025-11-25\"\u003elatest spec\u003c/a\u003e as well as the release \u003ca href=\"https://blog.modelcontextprotocol.io/posts/2025-11-25-first-mcp-anniversary/\"\u003eblog post.\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd tests for JSON Schema 2020-12 field preservation (SEP-1613) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1649\"\u003emodelcontextprotocol/python-sdk#1649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd client_secret_basic authentication support by \u003ca href=\"https://github.com/jonshea\"\u003e\u003ccode\u003e@​jonshea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1334\"\u003emodelcontextprotocol/python-sdk#1334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1577 - Sampling With Tools by \u003ca href=\"https://github.com/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1330: Elicitation Enum Schema Improvements and Standards Compliance by \u003ca href=\"https://github.com/chughtapan\"\u003e\u003ccode\u003e@​chughtapan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1246\"\u003emodelcontextprotocol/python-sdk#1246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[auth][conformance] add conformance auth client by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1640\"\u003emodelcontextprotocol/python-sdk#1640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-986: Tool name validation by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1655\"\u003emodelcontextprotocol/python-sdk#1655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: url for spec by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1659\"\u003emodelcontextprotocol/python-sdk#1659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: implement SEP-991 URL-based client ID (CIMD) support by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1652\"\u003emodelcontextprotocol/python-sdk#1652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate doc string on custom_route by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1660\"\u003emodelcontextprotocol/python-sdk#1660\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1036: URL mode elicitation for secure out-of-band interactions by \u003ca href=\"https://github.com/cbcoutinho\"\u003e\u003ccode\u003e@​cbcoutinho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1580\"\u003emodelcontextprotocol/python-sdk#1580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip empty SSE data to avoid parsing errors by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1670\"\u003emodelcontextprotocol/python-sdk#1670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1686: Tasks by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1645\"\u003emodelcontextprotocol/python-sdk#1645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd on_session_created callback option by \u003ca href=\"https://github.com/crondinini-ant\"\u003e\u003ccode\u003e@​crondinini-ant\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1710\"\u003emodelcontextprotocol/python-sdk#1710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd SSE polling support (SEP-1699) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1654\"\u003emodelcontextprotocol/python-sdk#1654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport client_credentials flow with JWT and Basic auth by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1663\"\u003emodelcontextprotocol/python-sdk#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: backwards-compatible create_message overloads for SEP-1577 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1713\"\u003emodelcontextprotocol/python-sdk#1713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-enable DNS rebinding protection for localhost servers by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e  (d3a184119e4479ea6a63590bc41f01dc06e3fa99)\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/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.22.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: Pass through and expose additional parameters in \u003ccode\u003eClientSessionGroup.call_tool\u003c/code\u003e and \u003ccode\u003e.connect_to_server\u003c/code\u003e by \u003ca href=\"https://github.com/inaku-Gyan\"\u003e\u003ccode\u003e@​inaku-Gyan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1576\"\u003emodelcontextprotocol/python-sdk#1576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Lazy import \u003ccode\u003ejsonschema\u003c/code\u003e library by \u003ca href=\"https://github.com/wuliang229\"\u003e\u003ccode\u003e@​wuliang229\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1596\"\u003emodelcontextprotocol/python-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update examples to use stateless HTTP with JSON responses by \u003ca href=\"https://github.com/domdomegg\"\u003e\u003ccode\u003e@​domdomegg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1499\"\u003emodelcontextprotocol/python-sdk#1499\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/wuliang229\"\u003e\u003ccode\u003e@​wuliang229\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1596\"\u003emodelcontextprotocol/python-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.21.1...v1.22.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.21.1...v1.22.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.21.2\u003c/h2\u003e\n\u003ch2\u003eHotfix Release\u003c/h2\u003e\n\u003cp\u003eThis is a hotfix release to address a critical bug in OAuth scope handling that caused failures on 401 responses.\u003c/p\u003e\n\u003ch3\u003eRelated:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1630\"\u003emodelcontextprotocol/python-sdk#1630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1632\"\u003emodelcontextprotocol/python-sdk#1632\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\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/modelcontextprotocol/python-sdk/commit/d3a184119e4479ea6a63590bc41f01dc06e3fa99\"\u003e\u003ccode\u003ed3a1841\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/fa851d93a2036a37cce73e098f7dbc80a6c48765\"\u003e\u003ccode\u003efa851d9\u003c/code\u003e\u003c/a\u003e feat: backwards-compatible create_message overloads for SEP-1577 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1713\"\u003e#1713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/f82b0c937178815c1e96460455778578050c6d1a\"\u003e\u003ccode\u003ef82b0c9\u003c/code\u003e\u003c/a\u003e Support client_credentials flow with JWT and Basic auth (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/...\n\n_Description has been truncated_","html_url":"https://github.com/dporkka/litellm/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dporkka%2Flitellm/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"},{"uuid":"4202391501","node_id":"PR_kwDOPeG6mc7P4a7I","number":7,"state":"closed","title":"Bump the pip group across 3 directories with 8 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-03T22:18:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-03T22:14:24.000Z","updated_at":"2026-04-03T22:18:14.000Z","time_to_close":229,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip","update_count":8,"packages":[{"name":"mlflow","old_version":"3.2.0","new_version":"3.9.0rc0","repository_url":"https://github.com/mlflow/mlflow"},{"name":"pyasn1","old_version":"0.6.1","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"sqlparse","old_version":"0.5.3","new_version":"0.5.4","repository_url":"https://github.com/andialbrecht/sqlparse"},{"name":"google-cloud-aiplatform","old_version":"1.47.0","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"orjson","old_version":"3.10.12","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"},{"name":"fastapi-sso","old_version":"0.16.0","new_version":"0.19.0","repository_url":"https://github.com/tomasvotava/fastapi-sso"},{"name":"mcp","old_version":"1.10.1","new_version":"1.23.0","repository_url":"https://github.com/modelcontextprotocol/python-sdk"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 4 updates in the / directory: [mlflow](https://github.com/mlflow/mlflow), [pyasn1](https://github.com/pyasn1/pyasn1), [sqlparse](https://github.com/andialbrecht/sqlparse) and [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 4 updates in the /.circleci directory: [orjson](https://github.com/ijl/orjson), [fastapi-sso](https://github.com/tomasvotava/fastapi-sso), [mcp](https://github.com/modelcontextprotocol/python-sdk) and [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 1 update in the /cookbook/litellm-ollama-docker-image directory: [litellm](https://github.com/BerriAI/litellm).\n\nUpdates `mlflow` from 3.2.0 to 3.9.0rc0\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.9.0rc0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.9.0rc0, a pre-release including several notable updates:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMajor New Features\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🔮 \u003cstrong\u003eMLflow Assistant\u003c/strong\u003e: Figuring out the next steps to debug your apps and agents can be challenging. We're excited to introduce the MLflow Assistant, an in-product chatbot that can help you identify, diagnose, and fix issues. The assistant is backed by Claude Code, and directly passes context from the MLflow UI to Claude. Click on the floating \u0026quot;Assistant\u0026quot; button in the bottom right of the MLflow UI to get started!\u003c/li\u003e\n\u003cli\u003e📈 \u003cstrong\u003eTrace Overview Dashboard\u003c/strong\u003e: You can now get insights into your agent's performance at a glance with the new \u0026quot;Overview\u0026quot; tab in GenAI experiments. Many pre-built statistics are available out of the box, including performance metrics (e.g. latency, request count), quality metrics (based on assessments), and tool call summaries. If there are any additional charts you'd like to see, please feel free to raise an issue in the MLflow repository!\u003c/li\u003e\n\u003cli\u003e✨ \u003cstrong\u003eAI Gateway\u003c/strong\u003e: We're revamping our AI Gateway feature! AI Gateway provides a unified interface for your API requests, allowing you to route queries to your LLM provider(s) of choice. In MLflow 3.9.0rc0, the Gateway server is now located directly in the tracking server, so you don't need to spin up a new process. Additional features such as passthrough endpoints, traffic splits, and fallback models are also available, with more to come soon! For more detailed information, please take a look at the \u003ca href=\"https://mlflow.org/docs/latest/genai/governance/ai-gateway/\"\u003edocs\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔎 \u003cstrong\u003eOnline Monitoring with LLM Judges\u003c/strong\u003e: Configure LLM judges to automatically run on your traces, without having to write a line of code! You can either use one of our \u003ca href=\"https://mlflow.org/docs/latest/genai/eval-monitor/scorers/llm-judge/predefined/\"\u003epre-defined judges\u003c/a\u003e, or provide your own prompt and instructions to create custom metrics. Head to the new \u0026quot;Judges\u0026quot; tab within the GenAI Experiment UI to get started.\u003c/li\u003e\n\u003cli\u003e🤖 \u003cstrong\u003eJudge Builder UI\u003c/strong\u003e: Define and iterate on custom LLM judge prompts directly from the UI! Within the new \u0026quot;Judges\u0026quot; tab, you can create your own prompt for an LLM judge, and test-run it on your traces to see what the output would be. Once you're happy with it, you can either use it for online monitoring (as mentioned above), or use it via the Python SDK for your evals.\u003c/li\u003e\n\u003cli\u003e🔗 \u003cstrong\u003eDistributed Tracing\u003c/strong\u003e: Trace context can now be propagated across different services and processes, allowing you to truly track request lifecycles from end to end. The related APIs are defined in the \u003ccode\u003emlflow.tracing.distributed\u003c/code\u003e module (with more documentation to come soon).\u003c/li\u003e\n\u003cli\u003e📚 \u003cstrong\u003eMemAlign - a new judge optimizer algorithm\u003c/strong\u003e: We're excited to introduce \u003ccode\u003eMemAlignOptimizer\u003c/code\u003e, a new algorithm that makes your judges smarter over time. It learns general guidelines from past feedback while dynamically retrieving relevant examples at runtime, giving you more accurate evaluations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eStay tuned for the full release, which will be packed with even more features and bugfixes.\u003c/p\u003e\n\u003cp\u003eTo try out this release candidate, please run:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003epip install mlflow==3.9.0rc0\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003ePlease try it out and report any issues on \u003ca href=\"https://github.com/mlflow/mlflow/issues\"\u003ethe issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev3.8.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.1 includes several bug fixes and documentation updates.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Tracking] Skip registering sqlalchemy store when sqlalchemy lib is not installed (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19563\"\u003e#19563\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[Models / Scoring] fix(security): prevent command injection via malicious model artifacts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19583\"\u003e#19583\u003c/a\u003e, \u003ca href=\"https://github.com/ColeMurray\"\u003e\u003ccode\u003e@​ColeMurray\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts] Fix prompt registration with model_config on Databricks (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19617\"\u003e#19617\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 UI blank page on plain HTTP by replacing crypto.randomUUID with uuid library (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19644\"\u003e#19644\u003c/a\u003e, \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\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19539\"\u003e#19539\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19451\"\u003e#19451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19409\"\u003e#19409\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/19493\"\u003e#19493\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.8.0\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.0 includes several major features and improvements\u003c/p\u003e\n\u003ch3\u003eMajor Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⚙️ \u003cstrong\u003ePrompt Model Configuration\u003c/strong\u003e: Prompts can now include model configuration, allowing you to associate specific model settings with prompt templates for more reproducible LLM workflows. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18963\"\u003e#18963\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19174\"\u003e#19174\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19279\"\u003e#19279\u003c/a\u003e, \u003ca href=\"https://github.com/chenmoneygithub\"\u003e\u003ccode\u003e@​chenmoneygithub\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⏳ \u003cstrong\u003eIn-Progress Trace Display\u003c/strong\u003e: The Traces UI now supports displaying spans from in-progress traces with auto-polling, enabling real-time debugging and monitoring of long-running LLM applications. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19265\"\u003e#19265\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⚖️ \u003cstrong\u003eDeepEval and RAGAS Judges Integration\u003c/strong\u003e: New \u003ccode\u003eget_judge\u003c/code\u003e API enables using DeepEval and RAGAS evaluation metrics as MLflow scorers, providing access to 20+ evaluation metrics including answer relevancy, faithfulness, and hallucination detection. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18988\"\u003e#18988\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/19345\"\u003e#19345\u003c/a\u003e, \u003ca href=\"https://github.com/SomtochiUmeh\"\u003e\u003ccode\u003e@​SomtochiUmeh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e🛡️ \u003cstrong\u003eConversational Safety Scorer\u003c/strong\u003e: New built-in scorer for evaluating safety of multi-turn conversations, analyzing entire conversation histories for hate speech, harassment, violence, and other safety concerns. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19106\"\u003e#19106\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⚡ \u003cstrong\u003eConversational Tool Call Efficiency Scorer\u003c/strong\u003e: New built-in scorer for evaluating tool call efficiency in multi-turn agent interactions, detecting redundant calls, missing batching opportunities, and poor tool selections. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19245\"\u003e#19245\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImportant Notice\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCollection of UI Telemetry\u003c/strong\u003e. From MLflow 3.8.0 onwards, MLflow will collect anonymized data about UI interactions, similar to the telemetry we collect for the Python SDK. If you manage your own server, UI telemetry is automatically disabled by setting the existing environment variables: \u003ccode\u003eMLFLOW_DISABLE_TELEMETRY=true\u003c/code\u003e or \u003ccode\u003eDO_NOT_TRACK=true\u003c/code\u003e. If you do not manage your own server (e.g. you use a managed service or are not the admin), you can still opt out personally via the new \u0026quot;Settings\u0026quot; tab in the MLflow UI. For more information, please read the documentation on \u003ca href=\"https://mlflow.org/docs/latest/community/usage-tracking/\"\u003eusage tracking\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/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.0rc0 (2026-01-15)\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.9.0rc0, a pre-release including several notable updates:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMajor New Features\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🔮 \u003cstrong\u003eMLflow Assistant\u003c/strong\u003e: Figuring out the next steps to debug your apps and agents can be challenging. We're excited to introduce the MLflow Assistant, an in-product chatbot that can help you identify, diagnose, and fix issues. The assistant is backed by Claude Code, and directly passes context from the MLflow UI to Claude. Click on the floating \u0026quot;Assistant\u0026quot; button in the bottom right of the MLflow UI to get started!\u003c/li\u003e\n\u003cli\u003e📈 \u003cstrong\u003eTrace Overview Dashboard\u003c/strong\u003e: You can now get insights into your agent's performance at a glance with the new \u0026quot;Overview\u0026quot; tab in GenAI experiments. Many pre-built statistics are available out of the box, including performance metrics (e.g. latency, request count), quality metrics (based on assessments), and tool call summaries. If there are any additional charts you'd like to see, please feel free to raise an issue in the MLflow repository!\u003c/li\u003e\n\u003cli\u003e✨ \u003cstrong\u003eAI Gateway\u003c/strong\u003e: We're revamping our AI Gateway feature! AI Gateway provides a unified interface for your API requests, allowing you to route queries to your LLM provider(s) of choice. In MLflow 3.9.0rc0, the Gateway server is now located directly in the tracking server, so you don't need to spin up a new process. Additional features such as passthrough endpoints, traffic splits, and fallback models are also available, with more to come soon! For more detailed information, please take a look at the \u003ca href=\"https://mlflow.org/docs/latest/genai/governance/ai-gateway/\"\u003edocs\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔎 \u003cstrong\u003eOnline Monitoring with LLM Judges\u003c/strong\u003e: Configure LLM judges to automatically run on your traces, without having to write a line of code! You can either use one of our \u003ca href=\"https://mlflow.org/docs/latest/genai/eval-monitor/scorers/llm-judge/predefined/\"\u003epre-defined judges\u003c/a\u003e, or provide your own prompt and instructions to create custom metrics. Head to the new \u0026quot;Judges\u0026quot; tab within the GenAI Experiment UI to get started.\u003c/li\u003e\n\u003cli\u003e🤖 \u003cstrong\u003eJudge Builder UI\u003c/strong\u003e: Define and iterate on custom LLM judge prompts directly from the UI! Within the new \u0026quot;Judges\u0026quot; tab, you can create your own prompt for an LLM judge, and test-run it on your traces to see what the output would be. Once you're happy with it, you can either use it for online monitoring (as mentioned above), or use it via the Python SDK for your evals.\u003c/li\u003e\n\u003cli\u003e🔗 \u003cstrong\u003eDistributed Tracing\u003c/strong\u003e: Trace context can now be propagated across different services and processes, allowing you to truly track request lifecycles from end to end. The related APIs are defined in the \u003ccode\u003emlflow.tracing.distributed\u003c/code\u003e module (with more documentation to come soon).\u003c/li\u003e\n\u003cli\u003e📚 \u003cstrong\u003eMemAlign - a new judge optimizer algorithm\u003c/strong\u003e: We're excited to introduce \u003ccode\u003eMemAlignOptimizer\u003c/code\u003e, a new algorithm that makes your judges smarter over time. It learns general guidelines from past feedback while dynamically retrieving relevant examples at runtime, giving you more accurate evaluations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eStay tuned for the full release, which will be packed with even more features and bugfixes.\u003c/p\u003e\n\u003cp\u003eTo try out this release candidate, please run:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003epip install mlflow==3.9.0rc0\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.1 (2025-12-26)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.1 includes several bug fixes and documentation updates.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Tracking] Skip registering sqlalchemy store when sqlalchemy lib is not installed (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19563\"\u003e#19563\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[Models / Scoring] fix(security): prevent command injection via malicious model artifacts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19583\"\u003e#19583\u003c/a\u003e, \u003ca href=\"https://github.com/ColeMurray\"\u003e\u003ccode\u003e@​ColeMurray\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts] Fix prompt registration with model_config on Databricks (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19617\"\u003e#19617\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 UI blank page on plain HTTP by replacing crypto.randomUUID with uuid library (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19644\"\u003e#19644\u003c/a\u003e, \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\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19539\"\u003e#19539\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19451\"\u003e#19451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19409\"\u003e#19409\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/19493\"\u003e#19493\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.0 (2025-12-19)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.0 includes several major features and improvements\u003c/p\u003e\n\u003ch3\u003eMajor Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⚙️ \u003cstrong\u003ePrompt Model Configuration\u003c/strong\u003e: Prompts can now include model configuration, allowing you to associate specific model settings with prompt templates for more reproducible LLM workflows. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18963\"\u003e#18963\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19174\"\u003e#19174\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19279\"\u003e#19279\u003c/a\u003e, \u003ca href=\"https://github.com/chenmoneygithub\"\u003e\u003ccode\u003e@​chenmoneygithub\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⏳ \u003cstrong\u003eIn-Progress Trace Display\u003c/strong\u003e: The Traces UI now supports displaying spans from in-progress traces with auto-polling, enabling real-time debugging and monitoring of long-running LLM applications. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19265\"\u003e#19265\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⚖️ \u003cstrong\u003eDeepEval Judges Integration\u003c/strong\u003e: New \u003ccode\u003eget_judge\u003c/code\u003e API enables using DeepEval's evaluation metrics as MLflow scorers, providing access to 20+ evaluation metrics including answer relevancy, faithfulness, and hallucination detection. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18988\"\u003e#18988\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🛡️ \u003cstrong\u003eConversational Safety Scorer\u003c/strong\u003e: New built-in scorer for evaluating safety of multi-turn conversations, analyzing entire conversation histories for hate speech, harassment, violence, and other safety concerns. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19106\"\u003e#19106\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⚡ \u003cstrong\u003eConversational Tool Call Efficiency Scorer\u003c/strong\u003e: New built-in scorer for evaluating tool call efficiency in multi-turn agent interactions, detecting redundant calls, missing batching opportunities, and poor tool selections. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19245\"\u003e#19245\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImportant Notice\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCollection of UI Telemetry\u003c/strong\u003e. From MLflow 3.8.0 onwards, MLflow will collect anonymized data about UI interactions, similar to the telemetry we collect for the Python SDK. If you manage your own server, UI telemetry is automatically disabled by setting the existing environment variables: \u003ccode\u003eMLFLOW_DISABLE_TELEMETRY=true\u003c/code\u003e or \u003ccode\u003eDO_NOT_TRACK=true\u003c/code\u003e. If you do not manage your own server (e.g. you use a managed service or are not the admin), you can still opt out personally via the new \u0026quot;Settings\u0026quot; tab in the MLflow UI. For more information, please read the documentation on \u003ca href=\"https://mlflow.org/docs/latest/community/usage-tracking/\"\u003eusage tracking\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/mlflow/mlflow/commit/d8c9d8c0bcaedd5133e14e0b2931fdd607c97366\"\u003e\u003ccode\u003ed8c9d8c\u003c/code\u003e\u003c/a\u003e Run \u003ccode\u003epython3 dev/update_mlflow_versions.py pre-release ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/e65f119e02223718e532c3ce6d86a18cc28d9eb6\"\u003e\u003ccode\u003ee65f119\u003c/code\u003e\u003c/a\u003e Run \u003ccode\u003epython3 dev/update_ml_package_versions.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20013\"\u003e#20013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/069244579538d23bac836c61c60076d1a907a96c\"\u003e\u003ccode\u003e0692445\u003c/code\u003e\u003c/a\u003e Move DevTools section from PR description to separate comment (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20012\"\u003e#20012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/089d86963301f50ae52b13caf346fbc249dc9f53\"\u003e\u003ccode\u003e089d869\u003c/code\u003e\u003c/a\u003e Enhance LiteLLMConfig validation and normalize Databricks base URL (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20008\"\u003e#20008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/df01edd6ec77acd646a97eaf8785cef719a29499\"\u003e\u003ccode\u003edf01edd\u003c/code\u003e\u003c/a\u003e Implement telemetry tracking for gateway invocations and CRUD operations (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19\"\u003e#19\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/99b5a3dd85e01160aa4c89559209bb0cce42055c\"\u003e\u003ccode\u003e99b5a3d\u003c/code\u003e\u003c/a\u003e Merge MLflow Assistant branch (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/a58d7d746420257648e33b1fa1bc24e86cc60c40\"\u003e\u003ccode\u003ea58d7d7\u003c/code\u003e\u003c/a\u003e Remove vertical line (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20006\"\u003e#20006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/f4db4c37b17405ae91963c77200d7ef78976474d\"\u003e\u003ccode\u003ef4db4c3\u003c/code\u003e\u003c/a\u003e Remove over time label (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/aba70944127e4db5e4e14004e6a9a9ddd7884070\"\u003e\u003ccode\u003eaba7094\u003c/code\u003e\u003c/a\u003e Distinguish local remote server (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19893\"\u003e#19893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3bc8482544254bec5ccc09e79e554fb05e024d90\"\u003e\u003ccode\u003e3bc8482\u003c/code\u003e\u003c/a\u003e Add coming soon components (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.2.0...v3.9.0rc0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyasn1` from 0.6.1 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyasn1/pyasn1/releases\"\u003epyasn1's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.6.3\u003c/h2\u003e\n\u003cp\u003eIt's a minor release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded nesting depth limit to ASN.1 decoder to prevent stack overflow from deeply nested structures (CVE-2026-30922).\u003c/li\u003e\n\u003cli\u003eFixed OverflowError from oversized BER length field.\u003c/li\u003e\n\u003cli\u003eFixed DeprecationWarning stacklevel for deprecated attributes.\u003c/li\u003e\n\u003cli\u003eFixed asDateTime incorrect fractional seconds parsing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll changes are noted in the \u003ca href=\"https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst\"\u003eCHANGELOG\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRelease 0.6.2\u003c/h2\u003e\n\u003cp\u003eIt's a minor release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed continuation octet limits in OID/RELATIVE-OID decoder (CVE-2026-23490).\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy.\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll changes are noted in the \u003ca href=\"https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst\"\u003eCHANGELOG\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/pyasn1/pyasn1/blob/main/CHANGES.rst\"\u003epyasn1's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRevision 0.6.3, released 16-03-2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-30922 (GHSA-jr27-m4p2-rc6r): Added nesting depth\nlimit to ASN.1 decoder to prevent stack overflow from deeply\nnested structures (thanks for reporting, romanticpragmatism)\u003c/li\u003e\n\u003cli\u003eFixed OverflowError from oversized BER length field\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/54\"\u003e#54\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/54\"\u003epyasn1/pyasn1#54\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/100\"\u003e#100\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/100\"\u003epyasn1/pyasn1#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DeprecationWarning stacklevel for deprecated attributes\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/86\"\u003e#86\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/86\"\u003epyasn1/pyasn1#86\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/101\"\u003e#101\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/101\"\u003epyasn1/pyasn1#101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed asDateTime incorrect fractional seconds parsing\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/81\"\u003e#81\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/81\"\u003epyasn1/pyasn1#81\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/102\"\u003e#102\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/102\"\u003epyasn1/pyasn1#102\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRevision 0.6.2, released 16-01-2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-23490 (GHSA-63vm-454h-vhhq): Fixed continuation octet limits\nin OID/RELATIVE-OID decoder (thanks to tsigouris007)\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/97\"\u003epyasn1/pyasn1#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy\u003c/li\u003e\n\u003cli\u003eFixed unit tests failing due to missing code\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003epyasn1/pyasn1#91\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/92\"\u003epyasn1/pyasn1#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/90\"\u003e#90\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/90\"\u003epyasn1/pyasn1#90\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/pyasn1/pyasn1/commit/af65c3b92e9deeae50db4de390982dd970d87f98\"\u003e\u003ccode\u003eaf65c3b\u003c/code\u003e\u003c/a\u003e Prepare release 0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/5a49bd1fe93b5b866a1210f6bf0a3924f21572c8\"\u003e\u003ccode\u003e5a49bd1\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/5494ba43f738e700ca9f7c7a69ec5c44908c9a9f\"\u003e\u003ccode\u003e5494ba4\u003c/code\u003e\u003c/a\u003e Fix asDateTime incorrect fractional seconds parsing (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/102\"\u003e#102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/71f486e6c32d0f270868aa1b2bb5ceb7d5fd5476\"\u003e\u003ccode\u003e71f486e\u003c/code\u003e\u003c/a\u003e Fix DeprecationWarning stacklevel for deprecated attributes (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/101\"\u003e#101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/d7cb42dcaa9a66e18f14c4609c2ed00c5b65f7e8\"\u003e\u003ccode\u003ed7cb42d\u003c/code\u003e\u003c/a\u003e Fix OverflowError from oversized BER length field (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/100\"\u003e#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/e7356f89cf32c130d65b1a0e903fe7ecce426424\"\u003e\u003ccode\u003ee7356f8\u003c/code\u003e\u003c/a\u003e Prepare release 0.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/3908f144229eed4df24bd569d16e5991ace44970\"\u003e\u003ccode\u003e3908f14\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/0a7e067674b1ec558f9d233a3bc173472fe27c6c\"\u003e\u003ccode\u003e0a7e067\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/33656e986d8e2355123799e7267104ac7d8a6fb1\"\u003e\u003ccode\u003e33656e9\u003c/code\u003e\u003c/a\u003e Create Security Policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/fa62307253f4423effac71a618e20fabaa37e22e\"\u003e\u003ccode\u003efa62307\u003c/code\u003e\u003c/a\u003e fix for issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e: unit tests failing due to missing code (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyasn1/pyasn1/compare/v0.6.1...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlparse` from 0.5.3 to 0.5.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG\"\u003esqlparse's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.5.4 (Nov 28, 2025)\u003c/h2\u003e\n\u003cp\u003eEnhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdd type annotations to top-level API functions and include py.typed marker\nfor PEP 561 compliance, enabling type checking with mypy and other tools\n(issue756).\u003c/li\u003e\n\u003cli\u003eAdd pre-commit hook support. sqlparse can now be used as a pre-commit hook\nto automatically format SQL files. The CLI now supports multiple files and\nan \u003ccode\u003e--in-place\u003c/code\u003e flag for in-place editing (issue537).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eATTACH\u003c/code\u003e and \u003ccode\u003eDETACH\u003c/code\u003e to PostgreSQL keywords (pr808).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eINTERSECT\u003c/code\u003e to close keywords in WHERE clause (pr820).\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eREGEXP BINARY\u003c/code\u003e comparison operator (pr817).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd additional protection against denial of service attacks when parsing\nvery large lists of tuples. This enhances the existing recursion protections\nwith configurable limits for token processing to prevent DoS through\nalgorithmic complexity attacks. The new limits (MAX_GROUPING_DEPTH=100,\nMAX_GROUPING_TOKENS=10000) can be adjusted or disabled (by setting to None)\nif needed for legitimate large SQL statements.\u003c/li\u003e\n\u003cli\u003eRemove shebang from cli.py and remove executable flag (pr818).\u003c/li\u003e\n\u003cli\u003eFix strip_comments not removing all comments when input contains only\ncomments (issue801, pr803 by stropysh).\u003c/li\u003e\n\u003cli\u003eFix splitting statements with IF EXISTS/IF NOT EXISTS inside BEGIN...END\nblocks (issue812).\u003c/li\u003e\n\u003cli\u003eFix splitting on semicolons inside BEGIN...END blocks (issue809).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/14e300b165b14d1a7662a071c6481b503d367528\"\u003e\u003ccode\u003e14e300b\u003c/code\u003e\u003c/a\u003e Bump version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/96a67e286963b2497b1b3f7a1378327af6661998\"\u003e\u003ccode\u003e96a67e2\u003c/code\u003e\u003c/a\u003e Code cleanup.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1a3bfbd50b82c05d9adcc51bacba059671dc1bc7\"\u003e\u003ccode\u003e1a3bfbd\u003c/code\u003e\u003c/a\u003e Fix handling of semicolons inside BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/809\"\u003e#809\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/e92a032c81d51a6645b4f8c32470481894818ba0\"\u003e\u003ccode\u003ee92a032\u003c/code\u003e\u003c/a\u003e Fix handling of IF EXISTS statements in BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/812\"\u003e#812\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/149bebf06c788e93a9b0dbee0e5abbc8e347b8e6\"\u003e\u003ccode\u003e149bebf\u003c/code\u003e\u003c/a\u003e Update Changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/561a67e740e9623cf81ef99f1a6cd94337e24282\"\u003e\u003ccode\u003e561a67e\u003c/code\u003e\u003c/a\u003e Update AUTHORS.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/73c8ba3ae88b608d39740c0776fb15064232258e\"\u003e\u003ccode\u003e73c8ba3\u003c/code\u003e\u003c/a\u003e bugfix ISSUE_801; Remove all comments when only comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1b323879f87207946e4782812e2e1254b1c0c659\"\u003e\u003ccode\u003e1b32387\u003c/code\u003e\u003c/a\u003e Update action to run on all prs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/31903e09db518ee3969110073427196ef9cd46c3\"\u003e\u003ccode\u003e31903e0\u003c/code\u003e\u003c/a\u003e Add pre-commit hook support (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/13577264eb38b88e24825022fea4bd4351449e7c\"\u003e\u003ccode\u003e1357726\u003c/code\u003e\u003c/a\u003e docs: add AGENTS.md for project guidance and development commands\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/andialbrecht/sqlparse/compare/0.5.3...0.5.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-aiplatform` from 1.47.0 to 1.133.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-aiplatform/releases\"\u003egoogle-cloud-aiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.133.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.132.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.131.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\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/googleapis/python-aiplatform/blob/main/CHANGELOG.md\"\u003egoogle-cloud-aiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix RagManagedVertexVectorSearch when using backend_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/df0976ed3195dc8313f4728bc5ecb29dda55d467\"\u003edf0976e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - patch for vulnerability in visualization (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8a00d43dbd24e95dbab6ea32c63ce0a5a1849480\"\u003e8a00d43\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/78f2bdd08bae0696923e61ab73080b5846c67ae0\"\u003e\u003ccode\u003e78f2bdd\u003c/code\u003e\u003c/a\u003e chore(main): release 1.133.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-aiplatform/issues/6211\"\u003e#6211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003e\u003ccode\u003ec8c0f0f\u003c/code\u003e\u003c/a\u003e fix: Add None check for agent_info in evals.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/9952b970b73cfe38e68c48b3699ee4e1df0264df\"\u003e\u003ccode\u003e9952b97\u003c/code\u003e\u003c/a\u003e chore: rollback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e\u003ccode\u003e83f4076\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/937d5af6b9bdbbe3b50181745c99550f124ad8b4\"\u003e\u003ccode\u003e937d5af\u003c/code\u003e\u003c/a\u003e Copybara import of the project:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/aaaf902be02747cd2281196aad6278df0fd11f7e\"\u003e\u003ccode\u003eaaaf902\u003c/code\u003e\u003c/a\u003e chore: bump google-auth lower bound to 2.47.0 in GenAI and Vertex SDKs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e\u003ccode\u003e8c876ef\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e\u003ccode\u003e5448f06\u003c/code\u003e\u003c/a\u003e fix: Require uri or staging bucket configuration for saving model to Vertex E...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e\u003ccode\u003e65717fa\u003c/code\u003e\u003c/a\u003e feat: GenAI SDK client(memory): Add enable_third_person_memories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003e\u003ccode\u003ebe2eaaa\u003c/code\u003e\u003c/a\u003e fix: GenAI client(evals) - Fix TypeError in _build_generate_content_config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.47.0...v1.133.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.10.12 to 3.11.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6 - 2026-01-29\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2 - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ec02024c3837255064f248c0d2d331319b75e9ad\"\u003e\u003ccode\u003eec02024\u003c/code\u003e\u003c/a\u003e 3.11.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d58168733189f82b3fd0c058dff73e05d09202e6\"\u003e\u003ccode\u003ed581687\u003c/code\u003e\u003c/a\u003e build, clippy misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4105b29b2275f200f6fae01349bef02ccf1bc2e2\"\u003e\u003ccode\u003e4105b29\u003c/code\u003e\u003c/a\u003e writer::num\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/62bb185b70785ded49c79c26f8c9781f1e6fe370\"\u003e\u003ccode\u003e62bb185\u003c/code\u003e\u003c/a\u003e Fix sporadic crash on serializing object close\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d860078a973f44401265c5c4ad12a7dbe4f839ad\"\u003e\u003ccode\u003ed860078\u003c/code\u003e\u003c/a\u003e PyRef idiom refactors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/343ae2f148197918aba9f8562db42c364620e4b8\"\u003e\u003ccode\u003e343ae2f\u003c/code\u003e\u003c/a\u003e Deserializer, Utf8Buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/7835f58d1c56947d1cf7a18acdfc07a2bca9b0f2\"\u003e\u003ccode\u003e7835f58\u003c/code\u003e\u003c/a\u003e PyBytesRef and other input refactor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/71e0516424ce1e11613eb1780f18e8cde83989fd\"\u003e\u003ccode\u003e71e0516\u003c/code\u003e\u003c/a\u003e PyStrRef\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1096df42dc585fde837ed0c930a346f5ef7dbb94\"\u003e\u003ccode\u003e1096df4\u003c/code\u003e\u003c/a\u003e MSRV 1.89\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/b718e75b8ba18a707c2b44b6de14d52547573771\"\u003e\u003ccode\u003eb718e75\u003c/code\u003e\u003c/a\u003e Drop support for python3.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.12...3.11.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi-sso` from 0.16.0 to 0.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/releases\"\u003efastapi-sso's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.19.0\u003c/h2\u003e\n\u003cp\u003e️⚠️ A critical OAuth login CSRF vulnerability caused by missing \u003ccode\u003estate\u003c/code\u003e validation was\nreported by \u003ca href=\"https://github.com/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e (Snyk Security Labs)\nin \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e and has been resolved\nin version \u003ccode\u003e0.19.0\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eStarting with \u003ccode\u003efastapi-sso==1.0.0\u003c/code\u003e, OAuth \u003ccode\u003estate\u003c/code\u003e will be backed by a pluggable server-side store\n(in-memory by default, with support for external stores such as \u003ccode\u003eRedis\u003c/code\u003e).\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the all group with 11 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/230\"\u003etomasvotava/fastapi-sso#230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/231\"\u003etomasvotava/fastapi-sso#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 6 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/232\"\u003etomasvotava/fastapi-sso#232\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/233\"\u003etomasvotava/fastapi-sso#233\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/234\"\u003etomasvotava/fastapi-sso#234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/235\"\u003etomasvotava/fastapi-sso#235\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/237\"\u003etomasvotava/fastapi-sso#237\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/239\"\u003etomasvotava/fastapi-sso#239\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/241\"\u003etomasvotava/fastapi-sso#241\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 5 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/242\"\u003etomasvotava/fastapi-sso#242\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 10 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/247\"\u003etomasvotava/fastapi-sso#247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/248\"\u003etomasvotava/fastapi-sso#248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/251\"\u003etomasvotava/fastapi-sso#251\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/252\"\u003etomasvotava/fastapi-sso#252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/253\"\u003etomasvotava/fastapi-sso#253\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/254\"\u003etomasvotava/fastapi-sso#254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 12 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/259\"\u003etomasvotava/fastapi-sso#259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: enforce state validation by \u003ca href=\"https://github.com/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/267\"\u003etomasvotava/fastapi-sso#267\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 7 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/265\"\u003etomasvotava/fastapi-sso#265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e): warn against using state as an arbitrary data transport by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/269\"\u003etomasvotava/fastapi-sso#269\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/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/267\"\u003etomasvotava/fastapi-sso#267\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.18.0...0.19.0\"\u003ehttps://github.com/tomasvotava/fastapi-sso/compare/0.18.0...0.19.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eRemoved support for python 3.8\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore: add Python 3.13 to testing and linting workflows by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/226\"\u003etomasvotava/fastapi-sso#226\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update Python version to 3.12 and improve documentation workflow by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/227\"\u003etomasvotava/fastapi-sso#227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/228\"\u003etomasvotava/fastapi-sso#228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:use id token for linkedin userinfo by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/229\"\u003etomasvotava/fastapi-sso#229\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.17.0...0.18.0\"\u003ehttps://github.com/tomasvotava/fastapi-sso/compare/0.17.0...0.18.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.17.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/c905eafe2d6d7aab5d2b929e53ba98f238fdb21d\"\u003e\u003ccode\u003ec905eaf\u003c/code\u003e\u003c/a\u003e chore: 0.18.0 =\u0026gt; 0.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/94343bf276bed9df0ed0b11fe00661fc65ac57e0\"\u003e\u003ccode\u003e94343bf\u003c/code\u003e\u003c/a\u003e docs(\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e): warn against using state as an arbitrary data transport (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/d057c1d4db151a180668a03784250315cdb0b1e9\"\u003e\u003ccode\u003ed057c1d\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group across 1 directory with 7 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/6117d1a5ad498ba57d671e8a059ebe20db5abe02\"\u003e\u003ccode\u003e6117d1a\u003c/code\u003e\u003c/a\u003e fix: enforce state validation (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/267\"\u003e#267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/da63c19bca7db0fe8a7e66d03fdf07154ec7182a\"\u003e\u003ccode\u003eda63c19\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group across 1 directory with 12 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/0ccaeddf9e95a997a370ec312dc073f8f9920f38\"\u003e\u003ccode\u003e0ccaedd\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group with 2 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/254\"\u003e#254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/a43e62e67dfc40a2f9634bd932a2dfd02fe9e5b8\"\u003e\u003ccode\u003ea43e62e\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 2 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/253\"\u003e#253\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/8cd706d335e134504be46eab3404ff0ca3bdf6f9\"\u003e\u003ccode\u003e8cd706d\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/252\"\u003e#252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/ea769fa223f5b665eb37b9cee998b19d49d52427\"\u003e\u003ccode\u003eea769fa\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/251\"\u003e#251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/7aba1e6ea408be1bce282fce7c3ba3da89e5e7b1\"\u003e\u003ccode\u003e7aba1e6\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/248\"\u003e#248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.16.0...0.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp` from 1.10.1 to 1.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.0\u003c/h2\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release brings us up to speed with the latest MCP spec \u003ccode\u003e2025-11-25\u003c/code\u003e. Take a look at the \u003ca href=\"https://modelcontextprotocol.io/specification/2025-11-25\"\u003elatest spec\u003c/a\u003e as well as the release \u003ca href=\"https://blog.modelcontextprotocol.io/posts/2025-11-25-first-mcp-anniversary/\"\u003eblog post.\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd tests for JSON Schema 2020-12 field preservation (SEP-1613) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1649\"\u003emodelcontextprotocol/python-sdk#1649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd client_secret_basic authentication support by \u003ca href=\"https://github.com/jonshea\"\u003e\u003ccode\u003e@​jonshea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1334\"\u003emodelcontextprotocol/python-sdk#1334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1577 - Sampling With Tools by \u003ca href=\"https://github.com/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1330: Elicitation Enum Schema Improvements and Standards Compliance by \u003ca href=\"https://github.com/chughtapan\"\u003e\u003ccode\u003e@​chughtapan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1246\"\u003emodelcontextprotocol/python-sdk#1246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[auth][conformance] add conformance auth client by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1640\"\u003emodelcontextprotocol/python-sdk#1640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-986: Tool name validation by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1655\"\u003emodelcontextprotocol/python-sdk#1655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: url for spec by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1659\"\u003emodelcontextprotocol/python-sdk#1659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: implement SEP-991 URL-based client ID (CIMD) support by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1652\"\u003emodelcontextprotocol/python-sdk#1652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate doc string on custom_route by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1660\"\u003emodelcontextprotocol/python-sdk#1660\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1036: URL mode elicitation for secure out-of-band interactions by \u003ca href=\"https://github.com/cbcoutinho\"\u003e\u003ccode\u003e@​cbcoutinho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1580\"\u003emodelcontextprotocol/python-sdk#1580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip empty SSE data to avoid parsing errors by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1670\"\u003emodelcontextprotocol/python-sdk#1670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1686: Tasks by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1645\"\u003emodelcontextprotocol/python-sdk#1645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd on_session_created callback option by \u003ca href=\"https://github.com/crondinini-ant\"\u003e\u003ccode\u003e@​crondinini-ant\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1710\"\u003emodelcontextprotocol/python-sdk#1710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd SSE polling support (SEP-1699) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1654\"\u003emodelcontextprotocol/python-sdk#1654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport client_credentials flow with JWT and Basic auth by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1663\"\u003emodelcontextprotocol/python-sdk#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: backwards-compatible create_message overloads for SEP-1577 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1713\"\u003emodelcontextprotocol/python-sdk#1713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-enable DNS rebinding protection for localhost servers by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e  (d3a184119e4479ea6a63590bc41f01dc06e3fa99)\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/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.22.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: Pass through and expose additional parameters in \u003ccode\u003eClientSessionGroup.call_tool\u003c/code\u003e and \u003ccode\u003e.connect_to_server\u003c/code\u003e by \u003ca href=\"https://github.com/inaku-Gyan\"\u003e\u003ccode\u003e@​inaku-Gyan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1576\"\u003emodelcontextprotocol/python-sdk#1576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Lazy import \u003ccode\u003ejsonschema\u003c/code\u003e library by \u003ca href=\"https://github.com/wuliang229\"\u003e\u003ccode\u003e@​wuliang229\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1596\"\u003emodelcontextprotocol/python-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update examples to use stateless HTTP with JSON responses by \u003ca href=\"https://github.com/domdomegg\"\u003e\u003ccode\u003e@​domdomegg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1499\"\u003emodelcontextprotocol/python-sdk#1499\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/wuliang229\"\u003e\u003ccode\u003e@​wuliang229\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1596\"\u003emodelcontextprotocol/python-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.21.1...v1.22.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.21.1...v1.22.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.21.2\u003c/h2\u003e\n\u003ch2\u003eHotfix Release\u003c/h2\u003e\n\u003cp\u003eThis is a hotfix release to address a critical bug in OAuth scope handling that caused failures on 401 responses.\u003c/p\u003e\n\u003ch3\u003eRelated:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1630\"\u003emodelcontextprotocol/python-sdk#1630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1632\"\u003emodelcontextprotocol/python-sdk#1632\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\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/modelcontextprotocol/python-sdk/commit/d3a184119e4479ea6a63590bc41f01dc06e3fa99\"\u003e\u003ccode\u003ed3a1841\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/fa851d93a2036a37cce73e098f7dbc80a6c48765\"\u003e\u003ccode\u003efa851d9\u003c/code\u003e\u003c/a\u003e feat: backwards-compatible create_message overloads for SEP-1577 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1713\"\u003e#1713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/f82b0c937178815c1e96460455778578050c6d1a\"\u003e\u003ccode\u003ef82b0c9\u003c/code\u003e\u003c/a\u003e Support client_credentials flow with JWT and Basic auth (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python...\n\n_Description has been truncated_","html_url":"https://github.com/Sunriseaiteam/litellm/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sunriseaiteam%2Flitellm/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"},{"uuid":"4202384091","node_id":"PR_kwDOOq-inM7P4Zdl","number":9,"state":"closed","title":"build(deps): bump the pip group across 3 directories with 6 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-03T22:14:15.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-03T22:11:09.000Z","updated_at":"2026-04-03T22:14:17.000Z","time_to_close":186,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pip","update_count":6,"packages":[{"name":"pyasn1","old_version":"0.6.1","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"google-cloud-aiplatform","old_version":"1.47.0","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"orjson","old_version":"3.10.12","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"},{"name":"fastapi-sso","old_version":"0.16.0","new_version":"0.19.0","repository_url":"https://github.com/tomasvotava/fastapi-sso"},{"name":"mcp","old_version":"1.5.0","new_version":"1.23.0","repository_url":"https://github.com/modelcontextprotocol/python-sdk"},{"name":"google-cloud-aiplatform","old_version":"1.43.0","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"litellm","old_version":"1.61.15","new_version":"1.83.0","repository_url":"https://github.com/BerriAI/litellm"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 2 updates in the / directory: [pyasn1](https://github.com/pyasn1/pyasn1) and [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 4 updates in the /.circleci directory: [orjson](https://github.com/ijl/orjson), [fastapi-sso](https://github.com/tomasvotava/fastapi-sso), [mcp](https://github.com/modelcontextprotocol/python-sdk) and [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 1 update in the /cookbook/litellm-ollama-docker-image directory: [litellm](https://github.com/BerriAI/litellm).\n\nUpdates `pyasn1` from 0.6.1 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyasn1/pyasn1/releases\"\u003epyasn1's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.6.3\u003c/h2\u003e\n\u003cp\u003eIt's a minor release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded nesting depth limit to ASN.1 decoder to prevent stack overflow from deeply nested structures (CVE-2026-30922).\u003c/li\u003e\n\u003cli\u003eFixed OverflowError from oversized BER length field.\u003c/li\u003e\n\u003cli\u003eFixed DeprecationWarning stacklevel for deprecated attributes.\u003c/li\u003e\n\u003cli\u003eFixed asDateTime incorrect fractional seconds parsing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll changes are noted in the \u003ca href=\"https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst\"\u003eCHANGELOG\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRelease 0.6.2\u003c/h2\u003e\n\u003cp\u003eIt's a minor release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed continuation octet limits in OID/RELATIVE-OID decoder (CVE-2026-23490).\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy.\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll changes are noted in the \u003ca href=\"https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst\"\u003eCHANGELOG\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/pyasn1/pyasn1/blob/main/CHANGES.rst\"\u003epyasn1's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRevision 0.6.3, released 16-03-2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-30922 (GHSA-jr27-m4p2-rc6r): Added nesting depth\nlimit to ASN.1 decoder to prevent stack overflow from deeply\nnested structures (thanks for reporting, romanticpragmatism)\u003c/li\u003e\n\u003cli\u003eFixed OverflowError from oversized BER length field\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/54\"\u003e#54\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/54\"\u003epyasn1/pyasn1#54\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/100\"\u003e#100\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/100\"\u003epyasn1/pyasn1#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DeprecationWarning stacklevel for deprecated attributes\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/86\"\u003e#86\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/86\"\u003epyasn1/pyasn1#86\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/101\"\u003e#101\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/101\"\u003epyasn1/pyasn1#101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed asDateTime incorrect fractional seconds parsing\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/81\"\u003e#81\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/81\"\u003epyasn1/pyasn1#81\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/102\"\u003e#102\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/102\"\u003epyasn1/pyasn1#102\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRevision 0.6.2, released 16-01-2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-23490 (GHSA-63vm-454h-vhhq): Fixed continuation octet limits\nin OID/RELATIVE-OID decoder (thanks to tsigouris007)\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/97\"\u003epyasn1/pyasn1#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy\u003c/li\u003e\n\u003cli\u003eFixed unit tests failing due to missing code\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003epyasn1/pyasn1#91\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/92\"\u003epyasn1/pyasn1#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/90\"\u003e#90\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/90\"\u003epyasn1/pyasn1#90\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/pyasn1/pyasn1/commit/af65c3b92e9deeae50db4de390982dd970d87f98\"\u003e\u003ccode\u003eaf65c3b\u003c/code\u003e\u003c/a\u003e Prepare release 0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/5a49bd1fe93b5b866a1210f6bf0a3924f21572c8\"\u003e\u003ccode\u003e5a49bd1\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/5494ba43f738e700ca9f7c7a69ec5c44908c9a9f\"\u003e\u003ccode\u003e5494ba4\u003c/code\u003e\u003c/a\u003e Fix asDateTime incorrect fractional seconds parsing (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/102\"\u003e#102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/71f486e6c32d0f270868aa1b2bb5ceb7d5fd5476\"\u003e\u003ccode\u003e71f486e\u003c/code\u003e\u003c/a\u003e Fix DeprecationWarning stacklevel for deprecated attributes (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/101\"\u003e#101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/d7cb42dcaa9a66e18f14c4609c2ed00c5b65f7e8\"\u003e\u003ccode\u003ed7cb42d\u003c/code\u003e\u003c/a\u003e Fix OverflowError from oversized BER length field (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/100\"\u003e#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/e7356f89cf32c130d65b1a0e903fe7ecce426424\"\u003e\u003ccode\u003ee7356f8\u003c/code\u003e\u003c/a\u003e Prepare release 0.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/3908f144229eed4df24bd569d16e5991ace44970\"\u003e\u003ccode\u003e3908f14\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/0a7e067674b1ec558f9d233a3bc173472fe27c6c\"\u003e\u003ccode\u003e0a7e067\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/33656e986d8e2355123799e7267104ac7d8a6fb1\"\u003e\u003ccode\u003e33656e9\u003c/code\u003e\u003c/a\u003e Create Security Policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/fa62307253f4423effac71a618e20fabaa37e22e\"\u003e\u003ccode\u003efa62307\u003c/code\u003e\u003c/a\u003e fix for issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e: unit tests failing due to missing code (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyasn1/pyasn1/compare/v0.6.1...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-aiplatform` from 1.47.0 to 1.133.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-aiplatform/releases\"\u003egoogle-cloud-aiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.133.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.132.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.131.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\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/googleapis/python-aiplatform/blob/main/CHANGELOG.md\"\u003egoogle-cloud-aiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix RagManagedVertexVectorSearch when using backend_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/df0976ed3195dc8313f4728bc5ecb29dda55d467\"\u003edf0976e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - patch for vulnerability in visualization (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8a00d43dbd24e95dbab6ea32c63ce0a5a1849480\"\u003e8a00d43\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/78f2bdd08bae0696923e61ab73080b5846c67ae0\"\u003e\u003ccode\u003e78f2bdd\u003c/code\u003e\u003c/a\u003e chore(main): release 1.133.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-aiplatform/issues/6211\"\u003e#6211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003e\u003ccode\u003ec8c0f0f\u003c/code\u003e\u003c/a\u003e fix: Add None check for agent_info in evals.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/9952b970b73cfe38e68c48b3699ee4e1df0264df\"\u003e\u003ccode\u003e9952b97\u003c/code\u003e\u003c/a\u003e chore: rollback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e\u003ccode\u003e83f4076\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/937d5af6b9bdbbe3b50181745c99550f124ad8b4\"\u003e\u003ccode\u003e937d5af\u003c/code\u003e\u003c/a\u003e Copybara import of the project:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/aaaf902be02747cd2281196aad6278df0fd11f7e\"\u003e\u003ccode\u003eaaaf902\u003c/code\u003e\u003c/a\u003e chore: bump google-auth lower bound to 2.47.0 in GenAI and Vertex SDKs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e\u003ccode\u003e8c876ef\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e\u003ccode\u003e5448f06\u003c/code\u003e\u003c/a\u003e fix: Require uri or staging bucket configuration for saving model to Vertex E...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e\u003ccode\u003e65717fa\u003c/code\u003e\u003c/a\u003e feat: GenAI SDK client(memory): Add enable_third_person_memories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003e\u003ccode\u003ebe2eaaa\u003c/code\u003e\u003c/a\u003e fix: GenAI client(evals) - Fix TypeError in _build_generate_content_config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.47.0...v1.133.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.10.12 to 3.11.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6 - 2026-01-29\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2 - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ec02024c3837255064f248c0d2d331319b75e9ad\"\u003e\u003ccode\u003eec02024\u003c/code\u003e\u003c/a\u003e 3.11.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d58168733189f82b3fd0c058dff73e05d09202e6\"\u003e\u003ccode\u003ed581687\u003c/code\u003e\u003c/a\u003e build, clippy misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4105b29b2275f200f6fae01349bef02ccf1bc2e2\"\u003e\u003ccode\u003e4105b29\u003c/code\u003e\u003c/a\u003e writer::num\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/62bb185b70785ded49c79c26f8c9781f1e6fe370\"\u003e\u003ccode\u003e62bb185\u003c/code\u003e\u003c/a\u003e Fix sporadic crash on serializing object close\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d860078a973f44401265c5c4ad12a7dbe4f839ad\"\u003e\u003ccode\u003ed860078\u003c/code\u003e\u003c/a\u003e PyRef idiom refactors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/343ae2f148197918aba9f8562db42c364620e4b8\"\u003e\u003ccode\u003e343ae2f\u003c/code\u003e\u003c/a\u003e Deserializer, Utf8Buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/7835f58d1c56947d1cf7a18acdfc07a2bca9b0f2\"\u003e\u003ccode\u003e7835f58\u003c/code\u003e\u003c/a\u003e PyBytesRef and other input refactor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/71e0516424ce1e11613eb1780f18e8cde83989fd\"\u003e\u003ccode\u003e71e0516\u003c/code\u003e\u003c/a\u003e PyStrRef\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1096df42dc585fde837ed0c930a346f5ef7dbb94\"\u003e\u003ccode\u003e1096df4\u003c/code\u003e\u003c/a\u003e MSRV 1.89\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/b718e75b8ba18a707c2b44b6de14d52547573771\"\u003e\u003ccode\u003eb718e75\u003c/code\u003e\u003c/a\u003e Drop support for python3.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.12...3.11.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi-sso` from 0.16.0 to 0.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/releases\"\u003efastapi-sso's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.19.0\u003c/h2\u003e\n\u003cp\u003e️⚠️ A critical OAuth login CSRF vulnerability caused by missing \u003ccode\u003estate\u003c/code\u003e validation was\nreported by \u003ca href=\"https://github.com/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e (Snyk Security Labs)\nin \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e and has been resolved\nin version \u003ccode\u003e0.19.0\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eStarting with \u003ccode\u003efastapi-sso==1.0.0\u003c/code\u003e, OAuth \u003ccode\u003estate\u003c/code\u003e will be backed by a pluggable server-side store\n(in-memory by default, with support for external stores such as \u003ccode\u003eRedis\u003c/code\u003e).\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the all group with 11 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/230\"\u003etomasvotava/fastapi-sso#230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/231\"\u003etomasvotava/fastapi-sso#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 6 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/232\"\u003etomasvotava/fastapi-sso#232\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/233\"\u003etomasvotava/fastapi-sso#233\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/234\"\u003etomasvotava/fastapi-sso#234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/235\"\u003etomasvotava/fastapi-sso#235\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/237\"\u003etomasvotava/fastapi-sso#237\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/239\"\u003etomasvotava/fastapi-sso#239\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/241\"\u003etomasvotava/fastapi-sso#241\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 5 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/242\"\u003etomasvotava/fastapi-sso#242\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 10 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/247\"\u003etomasvotava/fastapi-sso#247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/248\"\u003etomasvotava/fastapi-sso#248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/251\"\u003etomasvotava/fastapi-sso#251\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/252\"\u003etomasvotava/fastapi-sso#252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/253\"\u003etomasvotava/fastapi-sso#253\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/254\"\u003etomasvotava/fastapi-sso#254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 12 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/259\"\u003etomasvotava/fastapi-sso#259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: enforce state validation by \u003ca href=\"https://github.com/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/267\"\u003etomasvotava/fastapi-sso#267\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 7 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/265\"\u003etomasvotava/fastapi-sso#265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e): warn against using state as an arbitrary data transport by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/269\"\u003etomasvotava/fastapi-sso#269\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/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/267\"\u003etomasvotava/fastapi-sso#267\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.18.0...0.19.0\"\u003ehttps://github.com/tomasvotava/fastapi-sso/compare/0.18.0...0.19.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eRemoved support for python 3.8\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore: add Python 3.13 to testing and linting workflows by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/226\"\u003etomasvotava/fastapi-sso#226\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update Python version to 3.12 and improve documentation workflow by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/227\"\u003etomasvotava/fastapi-sso#227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/228\"\u003etomasvotava/fastapi-sso#228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:use id token for linkedin userinfo by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/229\"\u003etomasvotava/fastapi-sso#229\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.17.0...0.18.0\"\u003ehttps://github.com/tomasvotava/fastapi-sso/compare/0.17.0...0.18.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.17.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/c905eafe2d6d7aab5d2b929e53ba98f238fdb21d\"\u003e\u003ccode\u003ec905eaf\u003c/code\u003e\u003c/a\u003e chore: 0.18.0 =\u0026gt; 0.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/94343bf276bed9df0ed0b11fe00661fc65ac57e0\"\u003e\u003ccode\u003e94343bf\u003c/code\u003e\u003c/a\u003e docs(\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e): warn against using state as an arbitrary data transport (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/d057c1d4db151a180668a03784250315cdb0b1e9\"\u003e\u003ccode\u003ed057c1d\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group across 1 directory with 7 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/6117d1a5ad498ba57d671e8a059ebe20db5abe02\"\u003e\u003ccode\u003e6117d1a\u003c/code\u003e\u003c/a\u003e fix: enforce state validation (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/267\"\u003e#267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/da63c19bca7db0fe8a7e66d03fdf07154ec7182a\"\u003e\u003ccode\u003eda63c19\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group across 1 directory with 12 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/0ccaeddf9e95a997a370ec312dc073f8f9920f38\"\u003e\u003ccode\u003e0ccaedd\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group with 2 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/254\"\u003e#254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/a43e62e67dfc40a2f9634bd932a2dfd02fe9e5b8\"\u003e\u003ccode\u003ea43e62e\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 2 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/253\"\u003e#253\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/8cd706d335e134504be46eab3404ff0ca3bdf6f9\"\u003e\u003ccode\u003e8cd706d\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/252\"\u003e#252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/ea769fa223f5b665eb37b9cee998b19d49d52427\"\u003e\u003ccode\u003eea769fa\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/251\"\u003e#251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/7aba1e6ea408be1bce282fce7c3ba3da89e5e7b1\"\u003e\u003ccode\u003e7aba1e6\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/248\"\u003e#248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.16.0...0.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp` from 1.5.0 to 1.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.0\u003c/h2\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release brings us up to speed with the latest MCP spec \u003ccode\u003e2025-11-25\u003c/code\u003e. Take a look at the \u003ca href=\"https://modelcontextprotocol.io/specification/2025-11-25\"\u003elatest spec\u003c/a\u003e as well as the release \u003ca href=\"https://blog.modelcontextprotocol.io/posts/2025-11-25-first-mcp-anniversary/\"\u003eblog post.\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd tests for JSON Schema 2020-12 field preservation (SEP-1613) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1649\"\u003emodelcontextprotocol/python-sdk#1649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd client_secret_basic authentication support by \u003ca href=\"https://github.com/jonshea\"\u003e\u003ccode\u003e@​jonshea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1334\"\u003emodelcontextprotocol/python-sdk#1334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1577 - Sampling With Tools by \u003ca href=\"https://github.com/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1330: Elicitation Enum Schema Improvements and Standards Compliance by \u003ca href=\"https://github.com/chughtapan\"\u003e\u003ccode\u003e@​chughtapan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1246\"\u003emodelcontextprotocol/python-sdk#1246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[auth][conformance] add conformance auth client by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1640\"\u003emodelcontextprotocol/python-sdk#1640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-986: Tool name validation by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1655\"\u003emodelcontextprotocol/python-sdk#1655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: url for spec by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1659\"\u003emodelcontextprotocol/python-sdk#1659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: implement SEP-991 URL-based client ID (CIMD) support by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1652\"\u003emodelcontextprotocol/python-sdk#1652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate doc string on custom_route by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1660\"\u003emodelcontextprotocol/python-sdk#1660\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1036: URL mode elicitation for secure out-of-band interactions by \u003ca href=\"https://github.com/cbcoutinho\"\u003e\u003ccode\u003e@​cbcoutinho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1580\"\u003emodelcontextprotocol/python-sdk#1580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip empty SSE data to avoid parsing errors by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1670\"\u003emodelcontextprotocol/python-sdk#1670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1686: Tasks by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1645\"\u003emodelcontextprotocol/python-sdk#1645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd on_session_created callback option by \u003ca href=\"https://github.com/crondinini-ant\"\u003e\u003ccode\u003e@​crondinini-ant\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1710\"\u003emodelcontextprotocol/python-sdk#1710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd SSE polling support (SEP-1699) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1654\"\u003emodelcontextprotocol/python-sdk#1654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport client_credentials flow with JWT and Basic auth by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1663\"\u003emodelcontextprotocol/python-sdk#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: backwards-compatible create_message overloads for SEP-1577 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1713\"\u003emodelcontextprotocol/python-sdk#1713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-enable DNS rebinding protection for localhost servers by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e  (d3a184119e4479ea6a63590bc41f01dc06e3fa99)\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/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.22.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: Pass through and expose additional parameters in \u003ccode\u003eClientSessionGroup.call_tool\u003c/code\u003e and \u003ccode\u003e.connect_to_server\u003c/code\u003e by \u003ca href=\"https://github.com/inaku-Gyan\"\u003e\u003ccode\u003e@​inaku-Gyan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1576\"\u003emodelcontextprotocol/python-sdk#1576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Lazy import \u003ccode\u003ejsonschema\u003c/code\u003e library by \u003ca href=\"https://github.com/wuliang229\"\u003e\u003ccode\u003e@​wuliang229\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1596\"\u003emodelcontextprotocol/python-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update examples to use stateless HTTP with JSON responses by \u003ca href=\"https://github.com/domdomegg\"\u003e\u003ccode\u003e@​domdomegg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1499\"\u003emodelcontextprotocol/python-sdk#1499\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/wuliang229\"\u003e\u003ccode\u003e@​wuliang229\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1596\"\u003emodelcontextprotocol/python-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.21.1...v1.22.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.21.1...v1.22.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.21.2\u003c/h2\u003e\n\u003ch2\u003eHotfix Release\u003c/h2\u003e\n\u003cp\u003eThis is a hotfix release to address a critical bug in OAuth scope handling that caused failures on 401 responses.\u003c/p\u003e\n\u003ch3\u003eRelated:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1630\"\u003emodelcontextprotocol/python-sdk#1630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1632\"\u003emodelcontextprotocol/python-sdk#1632\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\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/modelcontextprotocol/python-sdk/commit/d3a184119e4479ea6a63590bc41f01dc06e3fa99\"\u003e\u003ccode\u003ed3a1841\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/fa851d93a2036a37cce73e098f7dbc80a6c48765\"\u003e\u003ccode\u003efa851d9\u003c/code\u003e\u003c/a\u003e feat: backwards-compatible create_message overloads for SEP-1577 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1713\"\u003e#1713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/f82b0c937178815c1e96460455778578050c6d1a\"\u003e\u003ccode\u003ef82b0c9\u003c/code\u003e\u003c/a\u003e Support client_credentials flow with JWT and Basic auth (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1663\"\u003e#1663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/281fd4765e0fc2efaf2039d248c3bc0698416a8a\"\u003e\u003ccode\u003e281fd47\u003c/code\u003e\u003c/a\u003e Add SSE polling support (SEP-1699) (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1654\"\u003e#1654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/2cd178a962ab454e3add228ecd721784b7b36e99\"\u003e\u003ccode\u003e2cd178a\u003c/code\u003e\u003c/a\u003e Add on_session_created callback option (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1710\"\u003e#1710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c92bb2f7ffaa61813d7cc350887f4ece38307769\"\u003e\u003ccode\u003ec92bb2f\u003c/code\u003e\u003c/a\u003e SEP-1686: Tasks (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1645\"\u003e#1645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/5983a650cc07d2dc6c6ba098e99d3545889157a9\"\u003e\u003ccode\u003e5983a65\u003c/code\u003e\u003c/a\u003e Skip empty SSE data to avoid parsing errors (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1670\"\u003e#1670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/02b78899296ce3631565345501e3d956b83ffe94\"\u003e\u003ccode\u003e02b7889\u003c/code\u003e\u003c/a\u003e Implement SEP-1036: URL mode elicitation for secure out-of-band interactions ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/27279bc157cbc03f7fe7758fd55a4b34c5652f42\"\u003e\u003ccode\u003e27279bc\u003c/code\u003e\u003c/a\u003e Update doc string on custom_route (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/f22501315eab5b8358c603ac7f730f77bb09e4c4\"\u003e\u003ccode\u003ef225013\u003c/code\u003e\u003c/a\u003e feat: implement SEP-991 URL-based client ID (CIMD) support (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1652\"\u003e#1652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.5.0...v1.23.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-aiplatform` from 1.43.0 to 1.133.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-aiplatform/releases\"\u003egoogle-cloud-aiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.133.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.132.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.131.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\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/googleapis/python-aiplatform/blob/main/CHANGELOG.md\"\u003egoogle-cloud-aiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix RagManagedVertexVectorSearch when using backend_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/df0976ed3195dc8313f4728bc5ecb29dda55d467\"\u003edf0976e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - patch for vulnerability in visualization (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8a00d43dbd24e95dbab6ea32c63ce0a5a1849480\"\u003e8a00d43\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/78f2bdd08bae0696923e61ab73080b5846c67ae0\"\u003e\u003ccode\u003e78f2bdd\u003c/code\u003e\u003c/a\u003e chore(main): release 1.133.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-aiplatform/issues/6211\"\u003e#6211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003e\u003ccode\u003ec8c0f0f\u003c/code\u003e\u003c/a\u003e fix: Add None check for agent_info in evals.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/9952b970b73cfe38e68c48b3699ee4e1df0264df\"\u003e\u003ccode\u003e9952b97\u003c/code\u003e\u003c/a\u003e chore: rollback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e\u003ccode\u003e83f4076\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/937d5af6b9bdbbe3b50181745c99550f124ad8b4\"\u003e\u003ccode\u003e937d5af\u003c/code\u003e\u003c/a\u003e Copybara import of the project:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/aaaf902be02747cd2281196aad6278df0fd11f7e\"\u003e\u003ccode\u003eaaaf902\u003c/code\u003e\u003c/a\u003e chore: bump google-auth lower bound to 2.47.0 in GenAI and Vertex SDKs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e\u003ccode\u003e8c876ef\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e\u003ccode\u003e5448f06\u003c/code\u003e\u003c/a\u003e fix: Require uri or staging bucket configuration for saving model to Vertex E...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e\u003ccode\u003e65717fa\u003c/code\u003e\u003c/a\u003e feat: GenAI SDK client(memory): Add enable_third_person_memories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003e\u003ccode\u003ebe2eaaa\u003c/code\u003e\u003c/a\u003e fix: GenAI client(evals) - Fix TypeError in _build_generate_content_config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.47.0...v1.133.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `litellm` from 1.61.15 to 1.83.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/BerriAI/litellm/releases\"\u003elitellm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elitellm-trace-dev-v1.81.16\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(vertex): add gemini-3.1-flash-image-preview to model DB by \u003ca href=\"https://github.com/emerzon\"\u003e\u003ccode\u003e@​emerzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22223\"\u003eBerriAI/litellm#22223\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(spendlogs): optimize old spendlog deletion cron job by \u003ca href=\"https://github.com/Harshit28j\"\u003e\u003ccode\u003e@​Harshit28j\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/21930\"\u003eBerriAI/litellm#21930\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix converse handling for parallel_tool_calls by \u003ca href=\"https://github.com/Sameerlite\"\u003e\u003ccode\u003e@​Sameerlite\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22267\"\u003eBerriAI/litellm#22267\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Fix]Preserve forwarding server side called tools by \u003ca href=\"https://github.com/Sameerlite\"\u003e\u003ccode\u003e@​Sameerlite\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22260\"\u003eBerriAI/litellm#22260\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix free models working from UI by \u003ca href=\"https://github.com/Sameerlite\"\u003e\u003ccode\u003e@​Sameerlite\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22258\"\u003eBerriAI/litellm#22258\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd v1 for anthropic responses transformation by \u003ca href=\"https://github.com/Sameerlite\"\u003e\u003ccode\u003e@​Sameerlite\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22087\"\u003eBerriAI/litellm#22087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Bug]Add ChatCompletionImageObject in OpenAIChatCompletionAssistantMessage by \u003ca href=\"https://github.com/Sameerlite\"\u003e\u003ccode\u003e@​Sameerlite\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22155\"\u003eBerriAI/litellm#22155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: poetry lock by \u003ca href=\"https://github.com/Sameerlite\"\u003e\u003ccode\u003e@​Sameerlite\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22293\"\u003eBerriAI/litellm#22293\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable local file support for OCR by \u003ca href=\"https://github.com/noahnistler\"\u003e\u003ccode\u003e@​noahnistler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22133\"\u003eBerriAI/litellm#22133\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(mcp): Strip stale mcp-session-id to prevent 400 errors across proxy workers by \u003ca href=\"https://github.com/gavksingh\"\u003e\u003ccode\u003e@​gavksingh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/21417\"\u003eBerriAI/litellm#21417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Feature] Access group CRUD: Bidirectional team/key sync by \u003ca href=\"https://github.com/yuneng-jiang\"\u003e\u003ccode\u003e@​yuneng-jiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22253\"\u003eBerriAI/litellm#22253\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd LLMClientCache regression tests for httpx client eviction safety by \u003ca href=\"https://github.com/ryan-crabbe\"\u003e\u003ccode\u003e@​ryan-crabbe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22306\"\u003eBerriAI/litellm#22306\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(models): add gpt-audio-1.5 to model cost map by \u003ca href=\"https://github.com/Chesars\"\u003e\u003ccode\u003e@​Chesars\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22303\"\u003eBerriAI/litellm#22303\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(models): add gpt-realtime-1.5 to model cost map by \u003ca href=\"https://github.com/Chesars\"\u003e\u003ccode\u003e@​Chesars\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22304\"\u003eBerriAI/litellm#22304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(models): function calling for PublicAI Apertus models by \u003ca href=\"https://github.com/Chesars\"\u003e\u003ccode\u003e@​Chesars\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/21582\"\u003eBerriAI/litellm#21582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTests: add llmclientcache regression tests by \u003ca href=\"https://github.com/ryan-crabbe\"\u003e\u003ccode\u003e@​ryan-crabbe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22313\"\u003eBerriAI/litellm#22313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd deprecation dates for xAI grok-2-vision-1212 and grok-3-mini models by \u003ca href=\"https://github.com/Chesars\"\u003e\u003ccode\u003e@​Chesars\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/20102\"\u003eBerriAI/litellm#20102\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(model_prices): add OpenRouter native models to model cost map by \u003ca href=\"https://github.com/Chesars\"\u003e\u003ccode\u003e@​Chesars\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/20520\"\u003eBerriAI/litellm#20520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add OpenRouter Opus 4.6 to model map and update Claude Opus 4.6 docs by \u003ca href=\"https://github.com/Chesars\"\u003e\u003ccode\u003e@​Chesars\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/20525\"\u003eBerriAI/litellm#20525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Fix] Include timestamps in /project/list response by \u003ca href=\"https://github.com/yuneng-jiang\"\u003e\u003ccode\u003e@​yuneng-jiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22323\"\u003eBerriAI/litellm#22323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Feature] UI - Projects: Add Projects page with list and create flows by \u003ca href=\"https://github.com/yuneng-jiang\"\u003e\u003ccode\u003e@​yuneng-jiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22315\"\u003eBerriAI/litellm#22315\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix/claude code plugin schema by \u003ca href=\"https://github.com/rahulrd25\"\u003e\u003ccode\u003e@​rahulrd25\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22271\"\u003eBerriAI/litellm#22271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Prometheus child_exit cleanup for gunicorn workers by \u003ca href=\"https://github.com/ryan-crabbe\"\u003e\u003ccode\u003e@​ryan-crabbe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22324\"\u003eBerriAI/litellm#22324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update AssemblyAI docs with Universal-3 Pro, Speech Understanding, and LLM Gateway by \u003ca href=\"https://github.com/dylan-duan-aai\"\u003e\u003ccode\u003e@​dylan-duan-aai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/21130\"\u003eBerriAI/litellm#21130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add in_flight_requests metric to /health/backlog + prometheus by \u003ca href=\"https://github.com/ishaan-jaff\"\u003e\u003ccode\u003e@​ishaan-jaff\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22319\"\u003eBerriAI/litellm#22319\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(test): update realtime guardrail test assertions for voice violation behavior by \u003ca href=\"https://github.com/jquinter\"\u003e\u003ccode\u003e@​jquinter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22332\"\u003eBerriAI/litellm#22332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(test): update Azure pass-through test after Responses API routing change by \u003ca href=\"https://github.com/jquinter\"\u003e\u003ccode\u003e@​jquinter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22334\"\u003eBerriAI/litellm#22334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(db): add missing migration for LiteLLM_ClaudeCodePluginTable by \u003ca href=\"https://github.com/jquinter\"\u003e\u003ccode\u003e@​jquinter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22335\"\u003eBerriAI/litellm#22335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(bedrock): restore parallel_tool_calls mapping in map_openai_params by \u003ca href=\"https://github.com/jquinter\"\u003e\u003ccode\u003e@​jquinter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22333\"\u003eBerriAI/litellm#22333\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Feat] Agent RBAC Permission Fix - Ensure Internal Users cannot create agents by \u003ca href=\"https://github.com/ishaan-jaff\"\u003e\u003ccode\u003e@​ishaan-jaff\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22329\"\u003eBerriAI/litellm#22329\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(mcp): update test mocks for renamed filter_server_ids_by_ip_with_info by \u003ca href=\"https://github.com/jquinter\"\u003e\u003ccode\u003e@​jquinter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22327\"\u003eBerriAI/litellm#22327\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Add PROXY_ADMIN role to system user for key rotation by \u003ca href=\"https://github.com/milan-berri\"\u003e\u003ccode\u003e@​milan-berri\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/21896\"\u003eBerriAI/litellm#21896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: populate user_id and user_info for admin users in /user/info by \u003ca href=\"https://github.com/milan-berri\"\u003e\u003ccode\u003e@​milan-berri\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22239\"\u003eBerriAI/litellm#22239\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(caching): store task references in LLMClientCache._remove_key by \u003ca href=\"https://github.com/shivaaang\"\u003e\u003ccode\u003e@​shivaaang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22143\"\u003eBerriAI/litellm#22143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(image_generation): propagate extra_headers to Upstream by \u003ca href=\"https://github.com/ZeroClover\"\u003e\u003ccode\u003e@​ZeroClover\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22026\"\u003eBerriAI/litellm#22026\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Fix] Pass MCP auth headers from request into tool fetch for /v1/responses and chat completions by \u003ca href=\"https://github.com/shivamrawat1\"\u003e\u003ccode\u003e@​shivamrawat1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22291\"\u003eBerriAI/litellm#22291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: shorten guardrail benchmark result filenames for Windows long path support by \u003ca href=\"https://github.com/demoray\"\u003e\u003ccode\u003e@​demoray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22039\"\u003eBerriAI/litellm#22039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove Apache 2 license from SKILL.md by \u003ca href=\"https://github.com/rasmi\"\u003e\u003ccode\u003e@​rasmi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22322\"\u003eBerriAI/litellm#22322\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(mcp): default available_on_public_internet to true by \u003ca href=\"https://github.com/ishaan-jaff\"\u003e\u003ccode\u003e@​ishaan-jaff\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pul...\n\n_Description has been truncated_","html_url":"https://github.com/thomcost/litellm/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomcost%2Flitellm/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"4201834116","node_id":"PR_kwDOBo4nzs7P2xBL","number":1687,"state":"closed","title":"build(deps-dev): bump the package-deps group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-04-03T19:50:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-03T19:04:31.000Z","updated_at":"2026-04-03T19:50:37.000Z","time_to_close":2758,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): bump","group_name":"package-deps","update_count":12,"packages":[{"name":"orjson","old_version":"3.11.6","new_version":"3.11.7","repository_url":"https://github.com/ijl/orjson"},{"name":"jsonschema","old_version":"4.25.0","new_version":"4.26.0","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"asv","old_version":"0.6.4","new_version":"0.6.5","repository_url":"https://github.com/airspeed-velocity/asv"},{"name":"codespell","old_version":"2.2.6","new_version":"2.4.2","repository_url":"https://github.com/codespell-project/codespell"},{"name":"coverage","old_version":"7.10.1","new_version":"7.13.5","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"mypy","old_version":"1.17.0","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"pytest-mock","old_version":"3.14.1","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"boto3","old_version":"1.39.15","new_version":"1.42.74","repository_url":"https://github.com/boto/boto3"},{"name":"jupyterlab","old_version":"4.5.1","new_version":"4.5.6","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"name":"nbsphinx","old_version":"0.9.7","new_version":"0.9.8","repository_url":"https://github.com/spatialaudio/nbsphinx"},{"name":"odc-stac","old_version":"0.4.0","new_version":"0.5.2","repository_url":"https://github.com/opendatacube/odc-stac"},{"name":"shapely","old_version":"2.1.1","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the package-deps group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [orjson](https://github.com/ijl/orjson) | `3.11.6` | `3.11.7` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.25.0` | `4.26.0` |\n| [asv](https://github.com/airspeed-velocity/asv) | `0.6.4` | `0.6.5` |\n| [codespell](https://github.com/codespell-project/codespell) | `2.2.6` | `2.4.2` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.1` | `7.13.5` |\n| [mypy](https://github.com/python/mypy) | `1.17.0` | `1.19.1` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.1` | `3.15.1` |\n| [boto3](https://github.com/boto/boto3) | `1.39.15` | `1.42.74` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.5.1` | `4.5.6` |\n| [nbsphinx](https://github.com/spatialaudio/nbsphinx) | `0.9.7` | `0.9.8` |\n| [odc-stac](https://github.com/opendatacube/odc-stac) | `0.4.0` | `0.5.2` |\n| [shapely](https://github.com/shapely/shapely) | `2.1.1` | `2.1.2` |\n\n\nUpdates `orjson` from 3.11.6 to 3.11.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.7\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a faster library to serialize \u003ccode\u003efloat\u003c/code\u003e. Users with byte-exact regression\ntests should note positive exponents are now written using a \u003ccode\u003e+\u003c/code\u003e, e.g.,\n\u003ccode\u003e1.2e+30\u003c/code\u003e instead of \u003ccode\u003e1.2e30\u003c/code\u003e. Both formats are spec-compliant.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5 free-threading.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.7 - 2026-02-02\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a faster library to serialize \u003ccode\u003efloat\u003c/code\u003e. Users with byte-exact regression\ntests should note positive exponents are now written using a \u003ccode\u003e+\u003c/code\u003e, e.g.,\n\u003ccode\u003e1.2e+30\u003c/code\u003e instead of \u003ccode\u003e1.2e30\u003c/code\u003e. Both formats are spec-compliant.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5 free-threading.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ec2b066cae79ae4a90ed126ac5723335dd99e408\"\u003e\u003ccode\u003eec2b066\u003c/code\u003e\u003c/a\u003e 3.11.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1ca01f78cf4198ec37407d83713afa6e5c53dbf9\"\u003e\u003ccode\u003e1ca01f7\u003c/code\u003e\u003c/a\u003e zmij\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1716a226bd1f38db01503f30cd37b0efec48d88e\"\u003e\u003ccode\u003e1716a22\u003c/code\u003e\u003c/a\u003e cargo update\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.6...3.11.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsonschema` from 4.25.0 to 4.26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.26.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1400\"\u003epython-jsonschema/jsonschema#1400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1405\"\u003epython-jsonschema/jsonschema#1405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.5.0 to 6.6.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1406\"\u003epython-jsonschema/jsonschema#1406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1407\"\u003epython-jsonschema/jsonschema#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1413\"\u003epython-jsonschema/jsonschema#1413\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.6.0 to 6.6.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1412\"\u003epython-jsonschema/jsonschema#1412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1410\"\u003epython-jsonschema/jsonschema#1410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.2 to 2.3.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1409\"\u003epython-jsonschema/jsonschema#1409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1411\"\u003epython-jsonschema/jsonschema#1411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003evalidators: avoid \u003ccode\u003eurllib.request\u003c/code\u003e at import-time by \u003ca href=\"https://github.com/gudnimg\"\u003e\u003ccode\u003e@​gudnimg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1416\"\u003epython-jsonschema/jsonschema#1416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.6.1 to 6.8.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1417\"\u003epython-jsonschema/jsonschema#1417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.3 to 2.3.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1418\"\u003epython-jsonschema/jsonschema#1418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1415\"\u003epython-jsonschema/jsonschema#1415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.4 to 2.4.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1419\"\u003epython-jsonschema/jsonschema#1419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1420\"\u003epython-jsonschema/jsonschema#1420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.8.0 to 7.1.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1421\"\u003epython-jsonschema/jsonschema#1421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1424\"\u003epython-jsonschema/jsonschema#1424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.0 to 7.1.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1423\"\u003epython-jsonschema/jsonschema#1423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1425\"\u003epython-jsonschema/jsonschema#1425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1429\"\u003epython-jsonschema/jsonschema#1429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1431\"\u003epython-jsonschema/jsonschema#1431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.4.1 to 2.4.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1432\"\u003epython-jsonschema/jsonschema#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.1 to 7.1.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1430\"\u003epython-jsonschema/jsonschema#1430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1434\"\u003epython-jsonschema/jsonschema#1434\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.2 to 7.1.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1435\"\u003epython-jsonschema/jsonschema#1435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1436\"\u003epython-jsonschema/jsonschema#1436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1437\"\u003epython-jsonschema/jsonschema#1437\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.4.2 to 2.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1438\"\u003epython-jsonschema/jsonschema#1438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1439\"\u003epython-jsonschema/jsonschema#1439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument \u003ccode\u003euuid\u003c/code\u003e format by \u003ca href=\"https://github.com/sim642\"\u003e\u003ccode\u003e@​sim642\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1440\"\u003epython-jsonschema/jsonschema#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1441\"\u003epython-jsonschema/jsonschema#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.4 to 7.1.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1442\"\u003epython-jsonschema/jsonschema#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1443\"\u003epython-jsonschema/jsonschema#1443\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/gudnimg\"\u003e\u003ccode\u003e@​gudnimg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1416\"\u003epython-jsonschema/jsonschema#1416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sim642\"\u003e\u003ccode\u003e@​sim642\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1440\"\u003epython-jsonschema/jsonschema#1440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.1...v4.26.0\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.25.1...v4.26.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1396\"\u003epython-jsonschema/jsonschema#1396\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.26.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDecrease import time by delaying importing of \u003ccode\u003eurllib.request\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1416\"\u003e#1416\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.25.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix an incorrect required argument in the \u003ccode\u003eValidator\u003c/code\u003e protocol's type annotations (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\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/python-jsonschema/jsonschema/commit/a7277432b0f7bcd0551f6e589d30457017125df4\"\u003e\u003ccode\u003ea727743\u003c/code\u003e\u003c/a\u003e Add a changelog entry for 4.26.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6d28c13efbbd6cf136143fdbb18f79d4476091f6\"\u003e\u003ccode\u003e6d28c13\u003c/code\u003e\u003c/a\u003e Update the lockfile.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/739499edc33c007ff62180c9fef61dbf5480bb7b\"\u003e\u003ccode\u003e739499e\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/cb2d77980713577f65cc7e7c7c115932206393fd\"\u003e\u003ccode\u003ecb2d779\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1443\"\u003e#1443\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/e6bbbb7c5bcdb32a654572d17bfce264aefd1f9d\"\u003e\u003ccode\u003ee6bbbb7\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/d56037a88faac4881214c6674a785b4abd428617\"\u003e\u003ccode\u003ed56037a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1442\"\u003e#1442\u003c/a\u003e from python-jsonschema/dependabot/github_actions/ast...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/e54ce13fb590a5c17fb702431598a382de6e68f9\"\u003e\u003ccode\u003ee54ce13\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 7.1.4 to 7.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1f7c9fbd01d9c2f8ddd98065324062f7e122dbe1\"\u003e\u003ccode\u003e1f7c9fb\u003c/code\u003e\u003c/a\u003e Partially update docs requirements.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/241aec982bc8c867f276779faf20d49d9774532f\"\u003e\u003ccode\u003e241aec9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1441\"\u003e#1441\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/2818efb4fa446ed4fa7815b4e09a7b4b7c633852\"\u003e\u003ccode\u003e2818efb\u003c/code\u003e\u003c/a\u003e Apache-2.0 -\u0026gt; nongpl\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `asv` from 0.6.4 to 0.6.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/airspeed-velocity/asv/releases\"\u003easv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.5\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003erattler\u003c/code\u003e support and UX/UI assistance.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBUG: fix JSONC support by \u003ca href=\"https://github.com/lucascolley\"\u003e\u003ccode\u003e@​lucascolley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1426\"\u003eairspeed-velocity/asv#1426\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBUG: fix extraction of conda version by \u003ca href=\"https://github.com/sfmig\"\u003e\u003ccode\u003e@​sfmig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1428\"\u003eairspeed-velocity/asv#1428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Clean and update documentation by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1429\"\u003eairspeed-velocity/asv#1429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update CI configurations and handle sanity checks by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1440\"\u003eairspeed-velocity/asv#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBUG: Fix multiple Python version usage by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1444\"\u003eairspeed-velocity/asv#1444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eENH: Add \u003ccode\u003epy-rattler\u003c/code\u003e by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1445\"\u003eairspeed-velocity/asv#1445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document pitfalls of changing \u003ccode\u003ebenchmark_name\u003c/code\u003e benchmark attribute by \u003ca href=\"https://github.com/JuroOravec\"\u003e\u003ccode\u003e@​JuroOravec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1470\"\u003eairspeed-velocity/asv#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document the \u003ccode\u003eversion\u003c/code\u003e field in \u003ccode\u003easv.conf.json.rst\u003c/code\u003e by \u003ca href=\"https://github.com/JuroOravec\"\u003e\u003ccode\u003e@​JuroOravec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1467\"\u003eairspeed-velocity/asv#1467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDOC: Minor assorted fixes by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1483\"\u003eairspeed-velocity/asv#1483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDOC: platform → sys_platform by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1477\"\u003eairspeed-velocity/asv#1477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: fix virtualenv setup for py3.9+ by \u003ca href=\"https://github.com/JuroOravec\"\u003e\u003ccode\u003e@​JuroOravec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1485\"\u003eairspeed-velocity/asv#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: Use a decently recent version of ruff by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1478\"\u003eairspeed-velocity/asv#1478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff isort rules (I) and get rid of isort by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1488\"\u003eairspeed-velocity/asv#1488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Do not list wheel as a build-dep by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1494\"\u003eairspeed-velocity/asv#1494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDOC: Add a space after Python command line option \u003ccode\u003e-m\u003c/code\u003e by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1487\"\u003eairspeed-velocity/asv#1487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply ruff/flake8-logging rules (LOG) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1481\"\u003eairspeed-velocity/asv#1481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply assorted ruff/pyupgrade rules (UP) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1480\"\u003eairspeed-velocity/asv#1480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply ruff/pycodestyle rules (W) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1490\"\u003eairspeed-velocity/asv#1490\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Add timeouts to asv.conf.json reference by \u003ca href=\"https://github.com/Jacob-Stevens-Haas\"\u003e\u003ccode\u003e@​Jacob-Stevens-Haas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1476\"\u003eairspeed-velocity/asv#1476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eENH: Add a gitignore template by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1274\"\u003eairspeed-velocity/asv#1274\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply ruff/Pylint rules (PLE) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1482\"\u003eairspeed-velocity/asv#1482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd TAGS as range parameter, fixes \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/488\"\u003e#488\u003c/a\u003e fixes \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1027\"\u003e#1027\u003c/a\u003e by \u003ca href=\"https://github.com/timkpaine\"\u003e\u003ccode\u003e@​timkpaine\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1418\"\u003eairspeed-velocity/asv#1418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply assorted ruff rules (RUF) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1491\"\u003eairspeed-velocity/asv#1491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply assorted ruff/flake8-comprehensions rules (C4) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1489\"\u003eairspeed-velocity/asv#1489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff/flake8-comprehensions rules (C4) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1498\"\u003eairspeed-velocity/asv#1498\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff/pygrep-hooks rules (PGH) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1499\"\u003eairspeed-velocity/asv#1499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReport the last error when failing to discover benchmarks by \u003ca href=\"https://github.com/TalAmuyal\"\u003e\u003ccode\u003e@​TalAmuyal\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1505\"\u003eairspeed-velocity/asv#1505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update pre-commit ruff legacy alias by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1510\"\u003eairspeed-velocity/asv#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update GitHub Actions by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1504\"\u003eairspeed-velocity/asv#1504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pass python version when creating mamba/conda env by \u003ca href=\"https://github.com/jder\"\u003e\u003ccode\u003e@​jder\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1495\"\u003eairspeed-velocity/asv#1495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff/pyupgrade rules (UP) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1501\"\u003eairspeed-velocity/asv#1501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update pre-commit configuration by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1503\"\u003eairspeed-velocity/asv#1503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff/flake8-bugbear rules (B) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1502\"\u003eairspeed-velocity/asv#1502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update \u003ccode\u003epyproject.toml\u003c/code\u003e by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1506\"\u003eairspeed-velocity/asv#1506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: bump pre-commit hooks by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1514\"\u003eairspeed-velocity/asv#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eresolve conflicts for \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1450\"\u003egh-1450\u003c/a\u003e by \u003ca href=\"https://github.com/lucascolley\"\u003e\u003ccode\u003e@​lucascolley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1516\"\u003eairspeed-velocity/asv#1516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTST: Fix testsuite rattler by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1450\"\u003eairspeed-velocity/asv#1450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBUG: Apply ASV_PYTHONPATH to discovery by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1462\"\u003eairspeed-velocity/asv#1462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update the license by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1291\"\u003eairspeed-velocity/asv#1291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse pypy3.11 in CI by \u003ca href=\"https://github.com/mattip\"\u003e\u003ccode\u003e@​mattip\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1512\"\u003eairspeed-velocity/asv#1512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Standardize style with ruff by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1513\"\u003eairspeed-velocity/asv#1513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ruff errors in CI by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1524\"\u003eairspeed-velocity/asv#1524\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[REL] \u003ccode\u003ev0.6.5\u003c/code\u003e final cleanup by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1521\"\u003eairspeed-velocity/asv#1521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply more flake8-bugbear rules by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1526\"\u003eairspeed-velocity/asv#1526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] Kill \u003ccode\u003elibmambapy\u003c/code\u003e by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1525\"\u003eairspeed-velocity/asv#1525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply Scientific Python Library Development Guide suggestions by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1527\"\u003eairspeed-velocity/asv#1527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply Scientific Python Library Development Guide Repo-Review suggestions by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1528\"\u003eairspeed-velocity/asv#1528\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/airspeed-velocity/asv/blob/main/CHANGES.rst\"\u003easv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003easv 0.6.5 (2025-09-12)\u003c/h2\u003e\n\u003cp\u003eNew Features\n^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eASV supports the \u003ccode\u003epy-rattler\u003c/code\u003e backend through the \u003ccode\u003erattler\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eASV_USE_CONDARC\u003c/code\u003e can be set to load the options in the \u003ccode\u003eCONDARC\u003c/code\u003e\nenvironment variable\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\n^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJSONC fixes (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMultiple python versions are now handled correctly (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnvironment types can be specified for pytest (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eASV_PYTHONPATH is now applied for the discovery phase. (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix virtualenv setup for virtualenv 20.31 (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1485\"\u003e#1485\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther Changes and Additions\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIndicate when benchmarks start passing with *\u003c/li\u003e\n\u003cli\u003eInternally consistent with ScientificPython guidelines (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1528\"\u003e#1528\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1527\"\u003e#1527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1526\"\u003e#1526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRuff used for styles (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1513\"\u003e#1513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew documentation design\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003emamba\u003c/code\u003e backend has been removed, with \u003ccode\u003erattler\u003c/code\u003e as the suggested replacement\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erattler\u003c/code\u003e is also expected to be the default in the next release\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/22320297cd81127bab49293ac240a25491839889\"\u003e\u003ccode\u003e2232029\u003c/code\u003e\u003c/a\u003e REL: Finalize v0.6.5 log [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/5ea038a55621d28d355a821af167ae5e9609898d\"\u003e\u003ccode\u003e5ea038a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1528\"\u003e#1528\u003c/a\u003e from DimitriPapadopoulos/repo-review\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/eea30a6dbf01caab0ce2d333c418eccf40473e3c\"\u003e\u003ccode\u003eeea30a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1527\"\u003e#1527\u003c/a\u003e from DimitriPapadopoulos/Scientific_Python_Library_D...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/edd4bec7646a48f8109567b82953faf1ec2c721a\"\u003e\u003ccode\u003eedd4bec\u003c/code\u003e\u003c/a\u003e Style and static checks: PyGrep hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/d67e24b97d0fed7616c47e3ef1c335f32ab38324\"\u003e\u003ccode\u003ed67e24b\u003c/code\u003e\u003c/a\u003e Enforce ruff rules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/9cfb7814871071fb3fe6a5afe414ec6b690ecc7a\"\u003e\u003ccode\u003e9cfb781\u003c/code\u003e\u003c/a\u003e Apply ruff rule RUF100\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/3325dec2ca94346599fb7f53194621fa8e05d8f0\"\u003e\u003ccode\u003e3325dec\u003c/code\u003e\u003c/a\u003e Apply ruff rule RUF015\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/1dcb273d0febb702ee9fe1a613a19784ad104154\"\u003e\u003ccode\u003e1dcb273\u003c/code\u003e\u003c/a\u003e Apply ruff rule RUF010\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/4b7308f90c711d5079660038b80bf4d55a7e7356\"\u003e\u003ccode\u003e4b7308f\u003c/code\u003e\u003c/a\u003e Enforce ruff/flake8-import-conventions rules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/10d214d69485d07a87c54eae968e5befa015f730\"\u003e\u003ccode\u003e10d214d\u003c/code\u003e\u003c/a\u003e Apply ruff/flake8-import-conventions rule ICN001\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/airspeed-velocity/asv/compare/v0.6.4...v0.6.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `codespell` from 2.2.6 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/codespell-project/codespell/releases\"\u003ecodespell's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed compatibility with chardet 7+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix and clarify cases in ignore patterns by \u003ca href=\"https://github.com/DanielYang59\"\u003e\u003ccode\u003e@​DanielYang59\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3583\"\u003ecodespell-project/codespell#3583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecodespell-private.yml: Do not codespell digital signature files by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3623\"\u003ecodespell-project/codespell#3623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3634\"\u003ecodespell-project/codespell#3634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003enumbes-\u0026gt;numbers and numbesr-\u0026gt;numbers by \u003ca href=\"https://github.com/skshetry\"\u003e\u003ccode\u003e@​skshetry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3635\"\u003ecodespell-project/codespell#3635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd spelling corrections for disclose and variables. by \u003ca href=\"https://github.com/cfi-gb\"\u003e\u003ccode\u003e@​cfi-gb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3622\"\u003ecodespell-project/codespell#3622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd spelling correction for Vulnererability and variants. by \u003ca href=\"https://github.com/cfi-gb\"\u003e\u003ccode\u003e@​cfi-gb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3625\"\u003ecodespell-project/codespell#3625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove lets-\u0026gt;let's by \u003ca href=\"https://github.com/Piedone\"\u003e\u003ccode\u003e@​Piedone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3633\"\u003ecodespell-project/codespell#3633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd corrections for \u0026quot;dictate\u0026quot; by \u003ca href=\"https://github.com/jdufresne\"\u003e\u003ccode\u003e@​jdufresne\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3636\"\u003ecodespell-project/codespell#3636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd specicification (and pl) typo by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3639\"\u003ecodespell-project/codespell#3639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u0026quot;blueish\u0026quot; correction by \u003ca href=\"https://github.com/hadess\"\u003e\u003ccode\u003e@​hadess\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3510\"\u003ecodespell-project/codespell#3510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u0026quot;lighting\u0026quot; as an option to fix \u0026quot;lighning\u0026quot; by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3648\"\u003ecodespell-project/codespell#3648\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert adding \u003ccode\u003elien\u003c/code\u003e to the rare dictionary  by \u003ca href=\"https://github.com/nikolaik\"\u003e\u003ccode\u003e@​nikolaik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3631\"\u003ecodespell-project/codespell#3631\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u0026quot;ane\u0026quot; could have been \u0026quot;one\u0026quot; by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3645\"\u003ecodespell-project/codespell#3645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd spelling correction for \u0026quot;priort\u0026quot; by \u003ca href=\"https://github.com/cfi-gb\"\u003e\u003ccode\u003e@​cfi-gb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3647\"\u003ecodespell-project/codespell#3647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u0026quot;fix\u0026quot; of \u0026quot;deques\u0026quot; - it is quite legit by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3649\"\u003ecodespell-project/codespell#3649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSeveral new suggestions by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3621\"\u003ecodespell-project/codespell#3621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd proposal constraints to containts by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3652\"\u003ecodespell-project/codespell#3652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditions dleay,infp,practive,utiliy by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3643\"\u003ecodespell-project/codespell#3643\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd calncelled and its variations by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3650\"\u003ecodespell-project/codespell#3650\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse raw strings for regex by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3654\"\u003ecodespell-project/codespell#3654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow multiple spaces before codespell:ignore by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3653\"\u003ecodespell-project/codespell#3653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded correction from \u003ccode\u003etimeour\u003c/code\u003e to \u003ccode\u003etimeout\u003c/code\u003e by \u003ca href=\"https://github.com/jamesbraza\"\u003e\u003ccode\u003e@​jamesbraza\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3656\"\u003ecodespell-project/codespell#3656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd typos found in various software projects by \u003ca href=\"https://github.com/luzpaz\"\u003e\u003ccode\u003e@​luzpaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3640\"\u003ecodespell-project/codespell#3640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3659\"\u003ecodespell-project/codespell#3659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd codespell suggestions for enabke and friends by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3657\"\u003ecodespell-project/codespell#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEND: add \u0026quot;queues\u0026quot; (plural from queue) as possible fix for ques by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3591\"\u003ecodespell-project/codespell#3591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eagreegate, lesda, realod, colouer by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3665\"\u003ecodespell-project/codespell#3665\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit version in documentation by \u003ca href=\"https://github.com/prchoward\"\u003e\u003ccode\u003e@​prchoward\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3666\"\u003ecodespell-project/codespell#3666\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Rename CI file and run name by \u003ca href=\"https://github.com/larsoner\"\u003e\u003ccode\u003e@​larsoner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3667\"\u003ecodespell-project/codespell#3667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epreoccuption-\u0026gt;preoccupation; occuption-\u0026gt;occupation by \u003ca href=\"https://github.com/TheGiraffe3\"\u003e\u003ccode\u003e@​TheGiraffe3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3668\"\u003ecodespell-project/codespell#3668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuggestions for: checkto, diminsion, waitfor by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3670\"\u003ecodespell-project/codespell#3670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypos found in sigstore-python by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3664\"\u003ecodespell-project/codespell#3664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eusgin-\u0026gt;using by \u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3672\"\u003ecodespell-project/codespell#3672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd typos found in various software projects by \u003ca href=\"https://github.com/luzpaz\"\u003e\u003ccode\u003e@​luzpaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3669\"\u003ecodespell-project/codespell#3669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd coered -\u0026gt; coerced by \u003ca href=\"https://github.com/effigies\"\u003e\u003ccode\u003e@​effigies\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3680\"\u003ecodespell-project/codespell#3680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebackwward(s)-\u0026gt;backward(s), onwward(s)-\u0026gt;onward(s) by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3682\"\u003ecodespell-project/codespell#3682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3685\"\u003ecodespell-project/codespell#3685\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etelemetery-\u0026gt;telemetry by \u003ca href=\"https://github.com/august-soderberg\"\u003e\u003ccode\u003e@​august-soderberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3686\"\u003ecodespell-project/codespell#3686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd hexedacimal and similar typos by \u003ca href=\"https://github.com/Akuli\"\u003e\u003ccode\u003e@​Akuli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3692\"\u003ecodespell-project/codespell#3692\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd rounted-\u0026gt;routed, rounded and friends by \u003ca href=\"https://github.com/peternewman\"\u003e\u003ccode\u003e@​peternewman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3693\"\u003ecodespell-project/codespell#3693\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd symmectric and similar typos by \u003ca href=\"https://github.com/Akuli\"\u003e\u003ccode\u003e@​Akuli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3694\"\u003ecodespell-project/codespell#3694\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI on Windows: pip upgrade pip by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3698\"\u003ecodespell-project/codespell#3698\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/codespell-project/codespell/commit/2ccb47ff45ad361a21071a7eedda4c37e6ae8c5a\"\u003e\u003ccode\u003e2ccb47f\u003c/code\u003e\u003c/a\u003e Compat with chardet 7 (\u003ca href=\"https://redirect.github.com/codespell-project/codespell/issues/3886\"\u003e#3886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/4ec53bf6a3e510c64900d5ee838abd99d49b2910\"\u003e\u003ccode\u003e4ec53bf\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/2a4acba3f282f1b5ccb7ad8b57bc991810663a44\"\u003e\u003ccode\u003e2a4acba\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/codespell-project/codespell/commit/be17cacc96a5ee3f014e048f5962cfdb7145e096\"\u003e\u003ccode\u003ebe17cac\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/04a071280d56148cab14249ccc8d4181c0066b3c\"\u003e\u003ccode\u003e04a0712\u003c/code\u003e\u003c/a\u003e Bump ruff (\u003ca href=\"https://redirect.github.com/codespell-project/codespell/issues/3879\"\u003e#3879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/583d8796d92eb58e15072db03e5b756be45f638a\"\u003e\u003ccode\u003e583d879\u003c/code\u003e\u003c/a\u003e avoide-\u0026gt;avoid, avoided, avoids,\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/1f59f34d7c6d1642fdb325d9dfa49cf9eb5f692a\"\u003e\u003ccode\u003e1f59f34\u003c/code\u003e\u003c/a\u003e Add correction for 'foudation' to 'foundation'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/e047fdafb8620b08a86349014487886bcd9c2205\"\u003e\u003ccode\u003ee047fda\u003c/code\u003e\u003c/a\u003e Add spelling correction for gather and variants.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/b5cd66de14b8f65b0f45fabbe1c89bd69ea60939\"\u003e\u003ccode\u003eb5cd66d\u003c/code\u003e\u003c/a\u003e respondant-\u0026gt;respondent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/92125a3814fa6e86cd2055385916ce5186d3e5df\"\u003e\u003ccode\u003e92125a3\u003c/code\u003e\u003c/a\u003e Add detection of ivoice and variants.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/codespell-project/codespell/compare/v2.2.6...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.10.1 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\u003ch2\u003eVersion 7.13.4 — 2026-02-09\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the third-party code fix in 7.13.3 required examining the parent\ndirectories where coverage was run. In the unusual situation that one of the\nparent directories is unreadable, a PermissionError would occur, as\ndescribed in \u003ccode\u003eissue 2129\u003c/code\u003e_. This is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: in test suites that change sys.path, coverage.py could fail with\n\u0026quot;RuntimeError: Set changed size during iteration\u0026quot; as described and fixed in\n\u003ccode\u003epull 2130\u003c/code\u003e_. Thanks, Noah Fatsi.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe now publish ppc64le wheels, thanks to \u003ccode\u003ePankhudi Jain \u0026lt;pull 2121_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _pull 2121: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2121\"\u003ecoveragepy/coveragepy#2121\u003c/a\u003e\n.. _issue 2129: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2129\"\u003ecoveragepy/coveragepy#2129\u003c/a\u003e\n.. _pull 2130: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2130\"\u003ecoveragepy/coveragepy#2130\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-3:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.3 — 2026-02-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: in some situations, third-party code was measured when it shouldn't have\nbeen, slowing down test execution. This happened with layered virtual\nenvironments such as uv sometimes makes. The problem is fixed, closing \u003ccode\u003eissue 2082\u003c/code\u003e_. Now any directory on sys.path that is inside a virtualenv is\nconsidered third-party code.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/2a53705f5fe588158b8a8d37ff3beee86388b9e4\"\u003e\u003ccode\u003e2a53705\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group across 1 directory with 4 updates (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/e7c878d201db819416b978150944d9a842d22b18\"\u003e\u003ccode\u003ee7c878d\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/ab4db406a9c35acf977cf3ddb94a78d696b77bc5\"\u003e\u003ccode\u003eab4db40\u003c/code\u003e\u003c/a\u003e build: use --generate-hashes when pinning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a438753eef870441044cef588e29ce4b9a28adf1\"\u003e\u003ccode\u003ea438753\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/7b33457d2c6367dfd5a563239998b3980444e090\"\u003e\u003ccode\u003e7b33457\u003c/code\u003e\u003c/a\u003e refactor: some leftover pyupgrade 3.10 bits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/2ff968db91a7cdafe6f6569ac7659a3a93a2da07\"\u003e\u003ccode\u003e2ff968d\u003c/code\u003e\u003c/a\u003e refactor: this type wasn't used anywhere\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.10.1...7.13.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.17.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.17.0...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-mock` from 3.14.1 to 3.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-mock/releases\"\u003epytest-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.15.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-16\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/529\"\u003e#529\u003c/a\u003e: Fixed \u003ccode\u003eitertools._tee object has no attribute error\u003c/code\u003e -- now \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e must be passed to \u003ccode\u003emocker.spy\u003c/code\u003e to duplicate iterators.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.15.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-04\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 (EOL) is no longer supported.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/524\"\u003e#524\u003c/a\u003e: Added \u003ccode\u003espy_return_iter\u003c/code\u003e to \u003ccode\u003emocker.spy\u003c/code\u003e, which contains a duplicate of the return value of the spied method if it is an \u003ccode\u003eIterator\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/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst\"\u003epytest-mock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.15.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-16\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#529](https://github.com/pytest-dev/pytest-mock/issues/529) \u0026lt;https://github.com/pytest-dev/pytest-mock/issues/529\u0026gt;\u003c/code\u003e_: Fixed \u003ccode\u003eitertools._tee object has no attribute error\u003c/code\u003e -- now \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e must be passed to \u003ccode\u003emocker.spy\u003c/code\u003e to duplicate iterators.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.15.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-04\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 (EOL) is no longer supported.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#524](https://github.com/pytest-dev/pytest-mock/issues/524) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/524\u0026gt;\u003c/code\u003e_: Added \u003ccode\u003espy_return_iter\u003c/code\u003e to \u003ccode\u003emocker.spy\u003c/code\u003e, which contains a duplicate of the return value of the spied method if it is an \u003ccode\u003eIterator\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/pytest-dev/pytest-mock/commit/e1b5c62a38c5a05cae614aef3847f240ba50d269\"\u003e\u003ccode\u003ee1b5c62\u003c/code\u003e\u003c/a\u003e Release 3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/184eb190d6be417f5f33727bcbc9704909479498\"\u003e\u003ccode\u003e184eb19\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003espy_return_iter\u003c/code\u003e only when explicitly requested (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/4fa0088a0aa85eefb1313bd97adf43889bf1f647\"\u003e\u003ccode\u003e4fa0088\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/536\"\u003e#536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/f5aff33ce71ed4620acc43dc41cb3b198bcf4cb0\"\u003e\u003ccode\u003ef5aff33\u003c/code\u003e\u003c/a\u003e Fix test failure with pytest 8+ and verbose mode (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/535\"\u003e#535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/adc41873c9d6aa69b87e3f108c93a29c847869aa\"\u003e\u003ccode\u003eadc4187\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/95ad5700609aae73c6f767b8cc2ccfb2483e0f5c\"\u003e\u003ccode\u003e95ad570\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/532\"\u003e#532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/e696bf02c199b1f7d0c48adb450f40e5a75b699a\"\u003e\u003ccode\u003ee696bf0\u003c/code\u003e\u003c/a\u003e Fix standalone mock support (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/531\"\u003e#531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/5b29b03ce9581cfcd867dd6c04a970fb2c861291\"\u003e\u003ccode\u003e5b29b03\u003c/code\u003e\u003c/a\u003e Fix gen-release-notes script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/7d22ef4e560351832e60687d8bd15ebe2785ff3b\"\u003e\u003ccode\u003e7d22ef4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/528\"\u003e#528\u003c/a\u003e from pytest-dev/release-3.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/90b29f89e2086c139a7b4fea89202faa192ee5a9\"\u003e\u003ccode\u003e90b29f8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 3.15.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-mock/compare/v3.14.1...v3.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.39.15 to 1.42.74\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/efb76df8dc38a5bf5211094547ab7671760bf34f\"\u003e\u003ccode\u003eefb76df\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.74'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/8d8ff13febb16f2539043581fb59568cee7463f8\"\u003e\u003ccode\u003e8d8ff13\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.74\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/56e766922154a5fd62349fe8c0211834728bdda8\"\u003e\u003ccode\u003e56e7669\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/3a06d635c79baf1597439dde9244d3f28f6b6eb2\"\u003e\u003ccode\u003e3a06d63\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.73'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/04dfc51bfc4d6288ad581aa7dc8677e67bd0f762\"\u003e\u003ccode\u003e04dfc51\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.73' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ca7b0438074715c38ede4b8c0ab4401700bddf70\"\u003e\u003ccode\u003eca7b043\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.73\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ef6697c5aad3cbbe962fb63c9335db0e0a705480\"\u003e\u003ccode\u003eef6697c\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/3c02c15e37930f95537d5b173c0ffc19b1201b16\"\u003e\u003ccode\u003e3c02c15\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.72'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b7e01e94ab81d564b365e55b0a60c3c5d1e889ab\"\u003e\u003ccode\u003eb7e01e9\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.72' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fcc3fe3ff503eecbbd713678771e02654eb27c9a\"\u003e\u003ccode\u003efcc3fe3\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.72\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.39.15...1.42.74\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jupyterlab` from 4.5.1 to 4.5.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyterlab/jupyterlab/releases\"\u003ejupyterlab's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.5.6\u003c/h2\u003e\n\u003ch2\u003e4.5.6\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyterlab/jupyterlab/compare/v4.5.5...a6dda8829b2d6b670de634081d26c1a39be145c4\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace scrollback implementation with scroll anchoring outside of \u003ccode\u003efull\u003c/code\u003e windowing mode \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18522\"\u003e#18522\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHarmonize translation wrappers in Python files to use \u003ccode\u003egettext\u003c/code\u003e methods \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18597\"\u003e#18597\u003c/a\u003e (\u003ca href=\"https://github.com/tmetzl\"\u003e\u003ccode\u003e@​tmetzl\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unimplemented \u003ccode\u003efilebrowser:search\u003c/code\u003e command \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18593\"\u003e#18593\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix status bar focus outlines \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18585\"\u003e#18585\u003c/a\u003e (\u003ca href=\"https://github.com/IsabelParedes\"\u003e\u003ccode\u003e@​IsabelParedes\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efilebrowser:create-new-file\u003c/code\u003e context menu selector \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18588\"\u003e#18588\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix single-character code blocks rendering as empty \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18572\"\u003e#18572\u003c/a\u003e (\u003ca href=\"https://github.com/soniya-malviy\"\u003e\u003ccode\u003e@​soniya-malviy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003ecode\u003c/code\u003e input in \u003ccode\u003eCodeConsole\u003c/code\u003e when configured \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18554\"\u003e#18554\u003c/a\u003e (\u003ca href=\"https://github.com/agriyakhetarpal\"\u003e\u003ccode\u003e@​agriyakhetarpal\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\u003eUpdate benchmark snapshots even if base snapshots require changes \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18549\"\u003e#18549\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/jupyterlab/jupyterlab/graphs/contributors?from=2026-02-23\u0026amp;to=2026-03-11\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/agriyakhetarpal\"\u003e\u003ccode\u003e@​agriyakhetarpal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aagriyakhetarpal+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/IsabelParedes\"\u003e\u003ccode\u003e@​IsabelParedes\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AIsabelParedes+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajtpio+updated%3A2026-02-23..2026-03-11\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%3Ajupyterlab%2Fjupyterlab+involves%3Akrassowski+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/soniya-malviy\"\u003e\u003ccode\u003e@​soniya-malviy\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Asoniya-malviy+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/tmetzl\"\u003e\u003ccode\u003e@​tmetzl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Atmetzl+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003ev4.5.5\u003c/h2\u003e\n\u003ch2\u003e4.5.5\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyterlab/jupyterlab/compare/v4.5.4...4a223c0dbe53f47f03cdff3573fd7e9ccbb2605b\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix theme settings broken in non-English locales \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18530\"\u003e#18530\u003c/a\u003e (\u003ca href=\"https://github.com/apoorvdarshan\"\u003e\u003ccode\u003e@​apoorvdarshan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix comms subshell resource management on disposal and when changing settings \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18531\"\u003e#18531\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003e@codemirror/view\u003c/code\u003e, fixing slow selection when line wrapping is enabled \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18479\"\u003e#18479\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly turn off overflow anchor when windowing is active \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18503\"\u003e#18503\u003c/a\u003e (\u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix table of contents navigation for Markdown files \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18411\"\u003e#18411\u003c/a\u003e (\u003ca href=\"https://github.com/itsmevichu\"\u003e\u003ccode\u003e@​itsmevichu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n...\n\n_Description has been truncated_","html_url":"https://github.com/stac-utils/pystac/pull/1687","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/stac-utils%2Fpystac/issues/1687","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1687/packages"},{"uuid":"4201783968","node_id":"PR_kwDOBo4nzs7P2nTS","number":1683,"state":"closed","title":"build(deps-dev): bump the package-deps group with 13 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-04-03T19:00:42.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-03T18:51:54.000Z","updated_at":"2026-04-03T19:00:44.000Z","time_to_close":528,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): bump","group_name":"package-deps","update_count":13,"packages":[{"name":"orjson","old_version":"3.11.6","new_version":"3.11.7","repository_url":"https://github.com/ijl/orjson"},{"name":"jsonschema","old_version":"4.25.0","new_version":"4.26.0","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"asv","old_version":"0.6.4","new_version":"0.6.5","repository_url":"https://github.com/airspeed-velocity/asv"},{"name":"codespell","old_version":"2.2.6","new_version":"2.4.2","repository_url":"https://github.com/codespell-project/codespell"},{"name":"coverage","old_version":"7.10.1","new_version":"7.13.5","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"mypy","old_version":"1.17.0","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"pytest-mock","old_version":"3.14.1","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"boto3","old_version":"1.39.15","new_version":"1.42.74","repository_url":"https://github.com/boto/boto3"},{"name":"jupyterlab","old_version":"4.5.1","new_version":"4.5.6","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"name":"nbsphinx","old_version":"0.9.7","new_version":"0.9.8","repository_url":"https://github.com/spatialaudio/nbsphinx"},{"name":"odc-stac","old_version":"0.4.0","new_version":"0.5.2","repository_url":"https://github.com/opendatacube/odc-stac"},{"name":"rasterio","old_version":"1.4.3","new_version":"1.4.4","repository_url":"https://github.com/rasterio/rasterio"},{"name":"shapely","old_version":"2.1.1","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"}],"path":null,"ecosystem":"pip"},"body":"Bumps the package-deps group with 13 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [orjson](https://github.com/ijl/orjson) | `3.11.6` | `3.11.7` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.25.0` | `4.26.0` |\n| [asv](https://github.com/airspeed-velocity/asv) | `0.6.4` | `0.6.5` |\n| [codespell](https://github.com/codespell-project/codespell) | `2.2.6` | `2.4.2` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.1` | `7.13.5` |\n| [mypy](https://github.com/python/mypy) | `1.17.0` | `1.19.1` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.1` | `3.15.1` |\n| [boto3](https://github.com/boto/boto3) | `1.39.15` | `1.42.74` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.5.1` | `4.5.6` |\n| [nbsphinx](https://github.com/spatialaudio/nbsphinx) | `0.9.7` | `0.9.8` |\n| [odc-stac](https://github.com/opendatacube/odc-stac) | `0.4.0` | `0.5.2` |\n| [rasterio](https://github.com/rasterio/rasterio) | `1.4.3` | `1.4.4` |\n| [shapely](https://github.com/shapely/shapely) | `2.1.1` | `2.1.2` |\n\nUpdates `orjson` from 3.11.6 to 3.11.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.7\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a faster library to serialize \u003ccode\u003efloat\u003c/code\u003e. Users with byte-exact regression\ntests should note positive exponents are now written using a \u003ccode\u003e+\u003c/code\u003e, e.g.,\n\u003ccode\u003e1.2e+30\u003c/code\u003e instead of \u003ccode\u003e1.2e30\u003c/code\u003e. Both formats are spec-compliant.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5 free-threading.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.7 - 2026-02-02\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a faster library to serialize \u003ccode\u003efloat\u003c/code\u003e. Users with byte-exact regression\ntests should note positive exponents are now written using a \u003ccode\u003e+\u003c/code\u003e, e.g.,\n\u003ccode\u003e1.2e+30\u003c/code\u003e instead of \u003ccode\u003e1.2e30\u003c/code\u003e. Both formats are spec-compliant.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5 free-threading.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ec2b066cae79ae4a90ed126ac5723335dd99e408\"\u003e\u003ccode\u003eec2b066\u003c/code\u003e\u003c/a\u003e 3.11.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1ca01f78cf4198ec37407d83713afa6e5c53dbf9\"\u003e\u003ccode\u003e1ca01f7\u003c/code\u003e\u003c/a\u003e zmij\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1716a226bd1f38db01503f30cd37b0efec48d88e\"\u003e\u003ccode\u003e1716a22\u003c/code\u003e\u003c/a\u003e cargo update\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.6...3.11.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsonschema` from 4.25.0 to 4.26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.26.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1400\"\u003epython-jsonschema/jsonschema#1400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1405\"\u003epython-jsonschema/jsonschema#1405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.5.0 to 6.6.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1406\"\u003epython-jsonschema/jsonschema#1406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1407\"\u003epython-jsonschema/jsonschema#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1413\"\u003epython-jsonschema/jsonschema#1413\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.6.0 to 6.6.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1412\"\u003epython-jsonschema/jsonschema#1412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1410\"\u003epython-jsonschema/jsonschema#1410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.2 to 2.3.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1409\"\u003epython-jsonschema/jsonschema#1409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1411\"\u003epython-jsonschema/jsonschema#1411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003evalidators: avoid \u003ccode\u003eurllib.request\u003c/code\u003e at import-time by \u003ca href=\"https://github.com/gudnimg\"\u003e\u003ccode\u003e@​gudnimg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1416\"\u003epython-jsonschema/jsonschema#1416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.6.1 to 6.8.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1417\"\u003epython-jsonschema/jsonschema#1417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.3 to 2.3.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1418\"\u003epython-jsonschema/jsonschema#1418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1415\"\u003epython-jsonschema/jsonschema#1415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.4 to 2.4.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1419\"\u003epython-jsonschema/jsonschema#1419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1420\"\u003epython-jsonschema/jsonschema#1420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.8.0 to 7.1.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1421\"\u003epython-jsonschema/jsonschema#1421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1424\"\u003epython-jsonschema/jsonschema#1424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.0 to 7.1.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1423\"\u003epython-jsonschema/jsonschema#1423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1425\"\u003epython-jsonschema/jsonschema#1425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1429\"\u003epython-jsonschema/jsonschema#1429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1431\"\u003epython-jsonschema/jsonschema#1431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.4.1 to 2.4.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1432\"\u003epython-jsonschema/jsonschema#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.1 to 7.1.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1430\"\u003epython-jsonschema/jsonschema#1430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1434\"\u003epython-jsonschema/jsonschema#1434\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.2 to 7.1.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1435\"\u003epython-jsonschema/jsonschema#1435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1436\"\u003epython-jsonschema/jsonschema#1436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1437\"\u003epython-jsonschema/jsonschema#1437\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.4.2 to 2.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1438\"\u003epython-jsonschema/jsonschema#1438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1439\"\u003epython-jsonschema/jsonschema#1439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument \u003ccode\u003euuid\u003c/code\u003e format by \u003ca href=\"https://github.com/sim642\"\u003e\u003ccode\u003e@​sim642\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1440\"\u003epython-jsonschema/jsonschema#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1441\"\u003epython-jsonschema/jsonschema#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.4 to 7.1.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1442\"\u003epython-jsonschema/jsonschema#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1443\"\u003epython-jsonschema/jsonschema#1443\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/gudnimg\"\u003e\u003ccode\u003e@​gudnimg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1416\"\u003epython-jsonschema/jsonschema#1416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sim642\"\u003e\u003ccode\u003e@​sim642\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1440\"\u003epython-jsonschema/jsonschema#1440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.1...v4.26.0\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.25.1...v4.26.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1396\"\u003epython-jsonschema/jsonschema#1396\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.26.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDecrease import time by delaying importing of \u003ccode\u003eurllib.request\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1416\"\u003e#1416\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.25.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix an incorrect required argument in the \u003ccode\u003eValidator\u003c/code\u003e protocol's type annotations (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\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/python-jsonschema/jsonschema/commit/a7277432b0f7bcd0551f6e589d30457017125df4\"\u003e\u003ccode\u003ea727743\u003c/code\u003e\u003c/a\u003e Add a changelog entry for 4.26.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6d28c13efbbd6cf136143fdbb18f79d4476091f6\"\u003e\u003ccode\u003e6d28c13\u003c/code\u003e\u003c/a\u003e Update the lockfile.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/739499edc33c007ff62180c9fef61dbf5480bb7b\"\u003e\u003ccode\u003e739499e\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/cb2d77980713577f65cc7e7c7c115932206393fd\"\u003e\u003ccode\u003ecb2d779\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1443\"\u003e#1443\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/e6bbbb7c5bcdb32a654572d17bfce264aefd1f9d\"\u003e\u003ccode\u003ee6bbbb7\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/d56037a88faac4881214c6674a785b4abd428617\"\u003e\u003ccode\u003ed56037a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1442\"\u003e#1442\u003c/a\u003e from python-jsonschema/dependabot/github_actions/ast...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/e54ce13fb590a5c17fb702431598a382de6e68f9\"\u003e\u003ccode\u003ee54ce13\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 7.1.4 to 7.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1f7c9fbd01d9c2f8ddd98065324062f7e122dbe1\"\u003e\u003ccode\u003e1f7c9fb\u003c/code\u003e\u003c/a\u003e Partially update docs requirements.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/241aec982bc8c867f276779faf20d49d9774532f\"\u003e\u003ccode\u003e241aec9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1441\"\u003e#1441\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/2818efb4fa446ed4fa7815b4e09a7b4b7c633852\"\u003e\u003ccode\u003e2818efb\u003c/code\u003e\u003c/a\u003e Apache-2.0 -\u0026gt; nongpl\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `asv` from 0.6.4 to 0.6.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/airspeed-velocity/asv/releases\"\u003easv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.5\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003erattler\u003c/code\u003e support and UX/UI assistance.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBUG: fix JSONC support by \u003ca href=\"https://github.com/lucascolley\"\u003e\u003ccode\u003e@​lucascolley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1426\"\u003eairspeed-velocity/asv#1426\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBUG: fix extraction of conda version by \u003ca href=\"https://github.com/sfmig\"\u003e\u003ccode\u003e@​sfmig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1428\"\u003eairspeed-velocity/asv#1428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Clean and update documentation by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1429\"\u003eairspeed-velocity/asv#1429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update CI configurations and handle sanity checks by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1440\"\u003eairspeed-velocity/asv#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBUG: Fix multiple Python version usage by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1444\"\u003eairspeed-velocity/asv#1444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eENH: Add \u003ccode\u003epy-rattler\u003c/code\u003e by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1445\"\u003eairspeed-velocity/asv#1445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document pitfalls of changing \u003ccode\u003ebenchmark_name\u003c/code\u003e benchmark attribute by \u003ca href=\"https://github.com/JuroOravec\"\u003e\u003ccode\u003e@​JuroOravec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1470\"\u003eairspeed-velocity/asv#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document the \u003ccode\u003eversion\u003c/code\u003e field in \u003ccode\u003easv.conf.json.rst\u003c/code\u003e by \u003ca href=\"https://github.com/JuroOravec\"\u003e\u003ccode\u003e@​JuroOravec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1467\"\u003eairspeed-velocity/asv#1467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDOC: Minor assorted fixes by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1483\"\u003eairspeed-velocity/asv#1483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDOC: platform → sys_platform by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1477\"\u003eairspeed-velocity/asv#1477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: fix virtualenv setup for py3.9+ by \u003ca href=\"https://github.com/JuroOravec\"\u003e\u003ccode\u003e@​JuroOravec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1485\"\u003eairspeed-velocity/asv#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: Use a decently recent version of ruff by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1478\"\u003eairspeed-velocity/asv#1478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff isort rules (I) and get rid of isort by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1488\"\u003eairspeed-velocity/asv#1488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Do not list wheel as a build-dep by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1494\"\u003eairspeed-velocity/asv#1494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDOC: Add a space after Python command line option \u003ccode\u003e-m\u003c/code\u003e by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1487\"\u003eairspeed-velocity/asv#1487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply ruff/flake8-logging rules (LOG) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1481\"\u003eairspeed-velocity/asv#1481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply assorted ruff/pyupgrade rules (UP) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1480\"\u003eairspeed-velocity/asv#1480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply ruff/pycodestyle rules (W) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1490\"\u003eairspeed-velocity/asv#1490\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Add timeouts to asv.conf.json reference by \u003ca href=\"https://github.com/Jacob-Stevens-Haas\"\u003e\u003ccode\u003e@​Jacob-Stevens-Haas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1476\"\u003eairspeed-velocity/asv#1476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eENH: Add a gitignore template by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1274\"\u003eairspeed-velocity/asv#1274\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply ruff/Pylint rules (PLE) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1482\"\u003eairspeed-velocity/asv#1482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd TAGS as range parameter, fixes \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/488\"\u003e#488\u003c/a\u003e fixes \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1027\"\u003e#1027\u003c/a\u003e by \u003ca href=\"https://github.com/timkpaine\"\u003e\u003ccode\u003e@​timkpaine\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1418\"\u003eairspeed-velocity/asv#1418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply assorted ruff rules (RUF) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1491\"\u003eairspeed-velocity/asv#1491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply assorted ruff/flake8-comprehensions rules (C4) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1489\"\u003eairspeed-velocity/asv#1489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff/flake8-comprehensions rules (C4) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1498\"\u003eairspeed-velocity/asv#1498\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff/pygrep-hooks rules (PGH) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1499\"\u003eairspeed-velocity/asv#1499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReport the last error when failing to discover benchmarks by \u003ca href=\"https://github.com/TalAmuyal\"\u003e\u003ccode\u003e@​TalAmuyal\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1505\"\u003eairspeed-velocity/asv#1505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update pre-commit ruff legacy alias by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1510\"\u003eairspeed-velocity/asv#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update GitHub Actions by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1504\"\u003eairspeed-velocity/asv#1504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pass python version when creating mamba/conda env by \u003ca href=\"https://github.com/jder\"\u003e\u003ccode\u003e@​jder\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1495\"\u003eairspeed-velocity/asv#1495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff/pyupgrade rules (UP) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1501\"\u003eairspeed-velocity/asv#1501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update pre-commit configuration by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1503\"\u003eairspeed-velocity/asv#1503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff/flake8-bugbear rules (B) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1502\"\u003eairspeed-velocity/asv#1502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update \u003ccode\u003epyproject.toml\u003c/code\u003e by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1506\"\u003eairspeed-velocity/asv#1506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: bump pre-commit hooks by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1514\"\u003eairspeed-velocity/asv#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eresolve conflicts for \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1450\"\u003egh-1450\u003c/a\u003e by \u003ca href=\"https://github.com/lucascolley\"\u003e\u003ccode\u003e@​lucascolley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1516\"\u003eairspeed-velocity/asv#1516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTST: Fix testsuite rattler by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1450\"\u003eairspeed-velocity/asv#1450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBUG: Apply ASV_PYTHONPATH to discovery by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1462\"\u003eairspeed-velocity/asv#1462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update the license by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1291\"\u003eairspeed-velocity/asv#1291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse pypy3.11 in CI by \u003ca href=\"https://github.com/mattip\"\u003e\u003ccode\u003e@​mattip\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1512\"\u003eairspeed-velocity/asv#1512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Standardize style with ruff by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1513\"\u003eairspeed-velocity/asv#1513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ruff errors in CI by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1524\"\u003eairspeed-velocity/asv#1524\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[REL] \u003ccode\u003ev0.6.5\u003c/code\u003e final cleanup by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1521\"\u003eairspeed-velocity/asv#1521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply more flake8-bugbear rules by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1526\"\u003eairspeed-velocity/asv#1526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] Kill \u003ccode\u003elibmambapy\u003c/code\u003e by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1525\"\u003eairspeed-velocity/asv#1525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply Scientific Python Library Development Guide suggestions by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1527\"\u003eairspeed-velocity/asv#1527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply Scientific Python Library Development Guide Repo-Review suggestions by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1528\"\u003eairspeed-velocity/asv#1528\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/airspeed-velocity/asv/blob/main/CHANGES.rst\"\u003easv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003easv 0.6.5 (2025-09-12)\u003c/h2\u003e\n\u003cp\u003eNew Features\n^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eASV supports the \u003ccode\u003epy-rattler\u003c/code\u003e backend through the \u003ccode\u003erattler\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eASV_USE_CONDARC\u003c/code\u003e can be set to load the options in the \u003ccode\u003eCONDARC\u003c/code\u003e\nenvironment variable\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\n^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJSONC fixes (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMultiple python versions are now handled correctly (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnvironment types can be specified for pytest (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eASV_PYTHONPATH is now applied for the discovery phase. (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix virtualenv setup for virtualenv 20.31 (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1485\"\u003e#1485\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther Changes and Additions\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIndicate when benchmarks start passing with *\u003c/li\u003e\n\u003cli\u003eInternally consistent with ScientificPython guidelines (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1528\"\u003e#1528\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1527\"\u003e#1527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1526\"\u003e#1526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRuff used for styles (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1513\"\u003e#1513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew documentation design\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003emamba\u003c/code\u003e backend has been removed, with \u003ccode\u003erattler\u003c/code\u003e as the suggested replacement\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erattler\u003c/code\u003e is also expected to be the default in the next release\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/22320297cd81127bab49293ac240a25491839889\"\u003e\u003ccode\u003e2232029\u003c/code\u003e\u003c/a\u003e REL: Finalize v0.6.5 log [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/5ea038a55621d28d355a821af167ae5e9609898d\"\u003e\u003ccode\u003e5ea038a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1528\"\u003e#1528\u003c/a\u003e from DimitriPapadopoulos/repo-review\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/eea30a6dbf01caab0ce2d333c418eccf40473e3c\"\u003e\u003ccode\u003eeea30a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1527\"\u003e#1527\u003c/a\u003e from DimitriPapadopoulos/Scientific_Python_Library_D...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/edd4bec7646a48f8109567b82953faf1ec2c721a\"\u003e\u003ccode\u003eedd4bec\u003c/code\u003e\u003c/a\u003e Style and static checks: PyGrep hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/d67e24b97d0fed7616c47e3ef1c335f32ab38324\"\u003e\u003ccode\u003ed67e24b\u003c/code\u003e\u003c/a\u003e Enforce ruff rules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/9cfb7814871071fb3fe6a5afe414ec6b690ecc7a\"\u003e\u003ccode\u003e9cfb781\u003c/code\u003e\u003c/a\u003e Apply ruff rule RUF100\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/3325dec2ca94346599fb7f53194621fa8e05d8f0\"\u003e\u003ccode\u003e3325dec\u003c/code\u003e\u003c/a\u003e Apply ruff rule RUF015\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/1dcb273d0febb702ee9fe1a613a19784ad104154\"\u003e\u003ccode\u003e1dcb273\u003c/code\u003e\u003c/a\u003e Apply ruff rule RUF010\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/4b7308f90c711d5079660038b80bf4d55a7e7356\"\u003e\u003ccode\u003e4b7308f\u003c/code\u003e\u003c/a\u003e Enforce ruff/flake8-import-conventions rules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/10d214d69485d07a87c54eae968e5befa015f730\"\u003e\u003ccode\u003e10d214d\u003c/code\u003e\u003c/a\u003e Apply ruff/flake8-import-conventions rule ICN001\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/airspeed-velocity/asv/compare/v0.6.4...v0.6.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `codespell` from 2.2.6 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/codespell-project/codespell/releases\"\u003ecodespell's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed compatibility with chardet 7+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix and clarify cases in ignore patterns by \u003ca href=\"https://github.com/DanielYang59\"\u003e\u003ccode\u003e@​DanielYang59\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3583\"\u003ecodespell-project/codespell#3583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecodespell-private.yml: Do not codespell digital signature files by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3623\"\u003ecodespell-project/codespell#3623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3634\"\u003ecodespell-project/codespell#3634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003enumbes-\u0026gt;numbers and numbesr-\u0026gt;numbers by \u003ca href=\"https://github.com/skshetry\"\u003e\u003ccode\u003e@​skshetry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3635\"\u003ecodespell-project/codespell#3635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd spelling corrections for disclose and variables. by \u003ca href=\"https://github.com/cfi-gb\"\u003e\u003ccode\u003e@​cfi-gb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3622\"\u003ecodespell-project/codespell#3622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd spelling correction for Vulnererability and variants. by \u003ca href=\"https://github.com/cfi-gb\"\u003e\u003ccode\u003e@​cfi-gb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3625\"\u003ecodespell-project/codespell#3625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove lets-\u0026gt;let's by \u003ca href=\"https://github.com/Piedone\"\u003e\u003ccode\u003e@​Piedone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3633\"\u003ecodespell-project/codespell#3633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd corrections for \u0026quot;dictate\u0026quot; by \u003ca href=\"https://github.com/jdufresne\"\u003e\u003ccode\u003e@​jdufresne\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3636\"\u003ecodespell-project/codespell#3636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd specicification (and pl) typo by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3639\"\u003ecodespell-project/codespell#3639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u0026quot;blueish\u0026quot; correction by \u003ca href=\"https://github.com/hadess\"\u003e\u003ccode\u003e@​hadess\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3510\"\u003ecodespell-project/codespell#3510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u0026quot;lighting\u0026quot; as an option to fix \u0026quot;lighning\u0026quot; by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3648\"\u003ecodespell-project/codespell#3648\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert adding \u003ccode\u003elien\u003c/code\u003e to the rare dictionary  by \u003ca href=\"https://github.com/nikolaik\"\u003e\u003ccode\u003e@​nikolaik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3631\"\u003ecodespell-project/codespell#3631\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u0026quot;ane\u0026quot; could have been \u0026quot;one\u0026quot; by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3645\"\u003ecodespell-project/codespell#3645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd spelling correction for \u0026quot;priort\u0026quot; by \u003ca href=\"https://github.com/cfi-gb\"\u003e\u003ccode\u003e@​cfi-gb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3647\"\u003ecodespell-project/codespell#3647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u0026quot;fix\u0026quot; of \u0026quot;deques\u0026quot; - it is quite legit by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3649\"\u003ecodespell-project/codespell#3649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSeveral new suggestions by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3621\"\u003ecodespell-project/codespell#3621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd proposal constraints to containts by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3652\"\u003ecodespell-project/codespell#3652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditions dleay,infp,practive,utiliy by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3643\"\u003ecodespell-project/codespell#3643\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd calncelled and its variations by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3650\"\u003ecodespell-project/codespell#3650\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse raw strings for regex by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3654\"\u003ecodespell-project/codespell#3654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow multiple spaces before codespell:ignore by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3653\"\u003ecodespell-project/codespell#3653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded correction from \u003ccode\u003etimeour\u003c/code\u003e to \u003ccode\u003etimeout\u003c/code\u003e by \u003ca href=\"https://github.com/jamesbraza\"\u003e\u003ccode\u003e@​jamesbraza\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3656\"\u003ecodespell-project/codespell#3656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd typos found in various software projects by \u003ca href=\"https://github.com/luzpaz\"\u003e\u003ccode\u003e@​luzpaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3640\"\u003ecodespell-project/codespell#3640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3659\"\u003ecodespell-project/codespell#3659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd codespell suggestions for enabke and friends by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3657\"\u003ecodespell-project/codespell#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEND: add \u0026quot;queues\u0026quot; (plural from queue) as possible fix for ques by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3591\"\u003ecodespell-project/codespell#3591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eagreegate, lesda, realod, colouer by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3665\"\u003ecodespell-project/codespell#3665\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit version in documentation by \u003ca href=\"https://github.com/prchoward\"\u003e\u003ccode\u003e@​prchoward\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3666\"\u003ecodespell-project/codespell#3666\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Rename CI file and run name by \u003ca href=\"https://github.com/larsoner\"\u003e\u003ccode\u003e@​larsoner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3667\"\u003ecodespell-project/codespell#3667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epreoccuption-\u0026gt;preoccupation; occuption-\u0026gt;occupation by \u003ca href=\"https://github.com/TheGiraffe3\"\u003e\u003ccode\u003e@​TheGiraffe3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3668\"\u003ecodespell-project/codespell#3668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuggestions for: checkto, diminsion, waitfor by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3670\"\u003ecodespell-project/codespell#3670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypos found in sigstore-python by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3664\"\u003ecodespell-project/codespell#3664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eusgin-\u0026gt;using by \u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3672\"\u003ecodespell-project/codespell#3672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd typos found in various software projects by \u003ca href=\"https://github.com/luzpaz\"\u003e\u003ccode\u003e@​luzpaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3669\"\u003ecodespell-project/codespell#3669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd coered -\u0026gt; coerced by \u003ca href=\"https://github.com/effigies\"\u003e\u003ccode\u003e@​effigies\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3680\"\u003ecodespell-project/codespell#3680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebackwward(s)-\u0026gt;backward(s), onwward(s)-\u0026gt;onward(s) by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3682\"\u003ecodespell-project/codespell#3682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3685\"\u003ecodespell-project/codespell#3685\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etelemetery-\u0026gt;telemetry by \u003ca href=\"https://github.com/august-soderberg\"\u003e\u003ccode\u003e@​august-soderberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3686\"\u003ecodespell-project/codespell#3686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd hexedacimal and similar typos by \u003ca href=\"https://github.com/Akuli\"\u003e\u003ccode\u003e@​Akuli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3692\"\u003ecodespell-project/codespell#3692\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd rounted-\u0026gt;routed, rounded and friends by \u003ca href=\"https://github.com/peternewman\"\u003e\u003ccode\u003e@​peternewman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3693\"\u003ecodespell-project/codespell#3693\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd symmectric and similar typos by \u003ca href=\"https://github.com/Akuli\"\u003e\u003ccode\u003e@​Akuli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3694\"\u003ecodespell-project/codespell#3694\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI on Windows: pip upgrade pip by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3698\"\u003ecodespell-project/codespell#3698\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/codespell-project/codespell/commit/2ccb47ff45ad361a21071a7eedda4c37e6ae8c5a\"\u003e\u003ccode\u003e2ccb47f\u003c/code\u003e\u003c/a\u003e Compat with chardet 7 (\u003ca href=\"https://redirect.github.com/codespell-project/codespell/issues/3886\"\u003e#3886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/4ec53bf6a3e510c64900d5ee838abd99d49b2910\"\u003e\u003ccode\u003e4ec53bf\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/2a4acba3f282f1b5ccb7ad8b57bc991810663a44\"\u003e\u003ccode\u003e2a4acba\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/codespell-project/codespell/commit/be17cacc96a5ee3f014e048f5962cfdb7145e096\"\u003e\u003ccode\u003ebe17cac\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/04a071280d56148cab14249ccc8d4181c0066b3c\"\u003e\u003ccode\u003e04a0712\u003c/code\u003e\u003c/a\u003e Bump ruff (\u003ca href=\"https://redirect.github.com/codespell-project/codespell/issues/3879\"\u003e#3879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/583d8796d92eb58e15072db03e5b756be45f638a\"\u003e\u003ccode\u003e583d879\u003c/code\u003e\u003c/a\u003e avoide-\u0026gt;avoid, avoided, avoids,\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/1f59f34d7c6d1642fdb325d9dfa49cf9eb5f692a\"\u003e\u003ccode\u003e1f59f34\u003c/code\u003e\u003c/a\u003e Add correction for 'foudation' to 'foundation'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/e047fdafb8620b08a86349014487886bcd9c2205\"\u003e\u003ccode\u003ee047fda\u003c/code\u003e\u003c/a\u003e Add spelling correction for gather and variants.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/b5cd66de14b8f65b0f45fabbe1c89bd69ea60939\"\u003e\u003ccode\u003eb5cd66d\u003c/code\u003e\u003c/a\u003e respondant-\u0026gt;respondent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/92125a3814fa6e86cd2055385916ce5186d3e5df\"\u003e\u003ccode\u003e92125a3\u003c/code\u003e\u003c/a\u003e Add detection of ivoice and variants.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/codespell-project/codespell/compare/v2.2.6...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.10.1 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\u003ch2\u003eVersion 7.13.4 — 2026-02-09\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the third-party code fix in 7.13.3 required examining the parent\ndirectories where coverage was run. In the unusual situation that one of the\nparent directories is unreadable, a PermissionError would occur, as\ndescribed in \u003ccode\u003eissue 2129\u003c/code\u003e_. This is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: in test suites that change sys.path, coverage.py could fail with\n\u0026quot;RuntimeError: Set changed size during iteration\u0026quot; as described and fixed in\n\u003ccode\u003epull 2130\u003c/code\u003e_. Thanks, Noah Fatsi.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe now publish ppc64le wheels, thanks to \u003ccode\u003ePankhudi Jain \u0026lt;pull 2121_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _pull 2121: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2121\"\u003ecoveragepy/coveragepy#2121\u003c/a\u003e\n.. _issue 2129: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2129\"\u003ecoveragepy/coveragepy#2129\u003c/a\u003e\n.. _pull 2130: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2130\"\u003ecoveragepy/coveragepy#2130\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-3:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.3 — 2026-02-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: in some situations, third-party code was measured when it shouldn't have\nbeen, slowing down test execution. This happened with layered virtual\nenvironments such as uv sometimes makes. The problem is fixed, closing \u003ccode\u003eissue 2082\u003c/code\u003e_. Now any directory on sys.path that is inside a virtualenv is\nconsidered third-party code.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/2a53705f5fe588158b8a8d37ff3beee86388b9e4\"\u003e\u003ccode\u003e2a53705\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group across 1 directory with 4 updates (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/e7c878d201db819416b978150944d9a842d22b18\"\u003e\u003ccode\u003ee7c878d\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/ab4db406a9c35acf977cf3ddb94a78d696b77bc5\"\u003e\u003ccode\u003eab4db40\u003c/code\u003e\u003c/a\u003e build: use --generate-hashes when pinning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a438753eef870441044cef588e29ce4b9a28adf1\"\u003e\u003ccode\u003ea438753\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/7b33457d2c6367dfd5a563239998b3980444e090\"\u003e\u003ccode\u003e7b33457\u003c/code\u003e\u003c/a\u003e refactor: some leftover pyupgrade 3.10 bits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/2ff968db91a7cdafe6f6569ac7659a3a93a2da07\"\u003e\u003ccode\u003e2ff968d\u003c/code\u003e\u003c/a\u003e refactor: this type wasn't used anywhere\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.10.1...7.13.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.17.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.17.0...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-mock` from 3.14.1 to 3.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-mock/releases\"\u003epytest-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.15.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-16\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/529\"\u003e#529\u003c/a\u003e: Fixed \u003ccode\u003eitertools._tee object has no attribute error\u003c/code\u003e -- now \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e must be passed to \u003ccode\u003emocker.spy\u003c/code\u003e to duplicate iterators.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.15.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-04\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 (EOL) is no longer supported.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/524\"\u003e#524\u003c/a\u003e: Added \u003ccode\u003espy_return_iter\u003c/code\u003e to \u003ccode\u003emocker.spy\u003c/code\u003e, which contains a duplicate of the return value of the spied method if it is an \u003ccode\u003eIterator\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/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst\"\u003epytest-mock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.15.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-16\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#529](https://github.com/pytest-dev/pytest-mock/issues/529) \u0026lt;https://github.com/pytest-dev/pytest-mock/issues/529\u0026gt;\u003c/code\u003e_: Fixed \u003ccode\u003eitertools._tee object has no attribute error\u003c/code\u003e -- now \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e must be passed to \u003ccode\u003emocker.spy\u003c/code\u003e to duplicate iterators.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.15.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-04\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 (EOL) is no longer supported.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#524](https://github.com/pytest-dev/pytest-mock/issues/524) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/524\u0026gt;\u003c/code\u003e_: Added \u003ccode\u003espy_return_iter\u003c/code\u003e to \u003ccode\u003emocker.spy\u003c/code\u003e, which contains a duplicate of the return value of the spied method if it is an \u003ccode\u003eIterator\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/pytest-dev/pytest-mock/commit/e1b5c62a38c5a05cae614aef3847f240ba50d269\"\u003e\u003ccode\u003ee1b5c62\u003c/code\u003e\u003c/a\u003e Release 3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/184eb190d6be417f5f33727bcbc9704909479498\"\u003e\u003ccode\u003e184eb19\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003espy_return_iter\u003c/code\u003e only when explicitly requested (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/4fa0088a0aa85eefb1313bd97adf43889bf1f647\"\u003e\u003ccode\u003e4fa0088\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/536\"\u003e#536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/f5aff33ce71ed4620acc43dc41cb3b198bcf4cb0\"\u003e\u003ccode\u003ef5aff33\u003c/code\u003e\u003c/a\u003e Fix test failure with pytest 8+ and verbose mode (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/535\"\u003e#535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/adc41873c9d6aa69b87e3f108c93a29c847869aa\"\u003e\u003ccode\u003eadc4187\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/95ad5700609aae73c6f767b8cc2ccfb2483e0f5c\"\u003e\u003ccode\u003e95ad570\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/532\"\u003e#532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/e696bf02c199b1f7d0c48adb450f40e5a75b699a\"\u003e\u003ccode\u003ee696bf0\u003c/code\u003e\u003c/a\u003e Fix standalone mock support (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/531\"\u003e#531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/5b29b03ce9581cfcd867dd6c04a970fb2c861291\"\u003e\u003ccode\u003e5b29b03\u003c/code\u003e\u003c/a\u003e Fix gen-release-notes script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/7d22ef4e560351832e60687d8bd15ebe2785ff3b\"\u003e\u003ccode\u003e7d22ef4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/528\"\u003e#528\u003c/a\u003e from pytest-dev/release-3.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/90b29f89e2086c139a7b4fea89202faa192ee5a9\"\u003e\u003ccode\u003e90b29f8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 3.15.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-mock/compare/v3.14.1...v3.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.39.15 to 1.42.74\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/efb76df8dc38a5bf5211094547ab7671760bf34f\"\u003e\u003ccode\u003eefb76df\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.74'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/8d8ff13febb16f2539043581fb59568cee7463f8\"\u003e\u003ccode\u003e8d8ff13\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.74\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/56e766922154a5fd62349fe8c0211834728bdda8\"\u003e\u003ccode\u003e56e7669\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/3a06d635c79baf1597439dde9244d3f28f6b6eb2\"\u003e\u003ccode\u003e3a06d63\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.73'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/04dfc51bfc4d6288ad581aa7dc8677e67bd0f762\"\u003e\u003ccode\u003e04dfc51\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.73' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ca7b0438074715c38ede4b8c0ab4401700bddf70\"\u003e\u003ccode\u003eca7b043\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.73\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ef6697c5aad3cbbe962fb63c9335db0e0a705480\"\u003e\u003ccode\u003eef6697c\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/3c02c15e37930f95537d5b173c0ffc19b1201b16\"\u003e\u003ccode\u003e3c02c15\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.72'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b7e01e94ab81d564b365e55b0a60c3c5d1e889ab\"\u003e\u003ccode\u003eb7e01e9\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.72' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fcc3fe3ff503eecbbd713678771e02654eb27c9a\"\u003e\u003ccode\u003efcc3fe3\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.72\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.39.15...1.42.74\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jupyterlab` from 4.5.1 to 4.5.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyterlab/jupyterlab/releases\"\u003ejupyterlab's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.5.6\u003c/h2\u003e\n\u003ch2\u003e4.5.6\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyterlab/jupyterlab/compare/v4.5.5...a6dda8829b2d6b670de634081d26c1a39be145c4\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace scrollback implementation with scroll anchoring outside of \u003ccode\u003efull\u003c/code\u003e windowing mode \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18522\"\u003e#18522\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHarmonize translation wrappers in Python files to use \u003ccode\u003egettext\u003c/code\u003e methods \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18597\"\u003e#18597\u003c/a\u003e (\u003ca href=\"https://github.com/tmetzl\"\u003e\u003ccode\u003e@​tmetzl\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unimplemented \u003ccode\u003efilebrowser:search\u003c/code\u003e command \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18593\"\u003e#18593\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix status bar focus outlines \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18585\"\u003e#18585\u003c/a\u003e (\u003ca href=\"https://github.com/IsabelParedes\"\u003e\u003ccode\u003e@​IsabelParedes\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efilebrowser:create-new-file\u003c/code\u003e context menu selector \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18588\"\u003e#18588\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix single-character code blocks rendering as empty \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18572\"\u003e#18572\u003c/a\u003e (\u003ca href=\"https://github.com/soniya-malviy\"\u003e\u003ccode\u003e@​soniya-malviy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003ecode\u003c/code\u003e input in \u003ccode\u003eCodeConsole\u003c/code\u003e when configured \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18554\"\u003e#18554\u003c/a\u003e (\u003ca href=\"https://github.com/agriyakhetarpal\"\u003e\u003ccode\u003e@​agriyakhetarpal\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\u003eUpdate benchmark snapshots even if base snapshots require changes \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18549\"\u003e#18549\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/jupyterlab/jupyterlab/graphs/contributors?from=2026-02-23\u0026amp;to=2026-03-11\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/agriyakhetarpal\"\u003e\u003ccode\u003e@​agriyakhetarpal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aagriyakhetarpal+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/IsabelParedes\"\u003e\u003ccode\u003e@​IsabelParedes\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AIsabelParedes+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajtpio+updated%3A2026-02-23..2026-03-11\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%3Ajupyterlab%2Fjupyterlab+involves%3Akrassowski+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/soniya-malviy\"\u003e\u003ccode\u003e@​soniya-malviy\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Asoniya-malviy+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/tmetzl\"\u003e\u003ccode\u003e@​tmetzl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Atmetzl+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003ev4.5.5\u003c/h2\u003e\n\u003ch2\u003e4.5.5\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyterlab/jupyterlab/compare/v4.5.4...4a223c0dbe53f47f03cdff3573fd7e9ccbb2605b\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix theme settings broken in non-English locales \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18530\"\u003e#18530\u003c/a\u003e (\u003ca href=\"https://github.com/apoorvdarshan\"\u003e\u003ccode\u003e@​apoorvdarshan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix comms subshell resource management on disposal and when changing settings \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18531\"\u003e#18531\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003e@codemirror/view\u003c/code\u003e, fixing slow selection when line wrapping is enabled \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18479\"\u003e#18479\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly turn off overflow anchor when windowing is active \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18503\"\u003e#18503\u003c/a\u003e (\u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix table of contents navigation for Markdown files \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18411\"\u003e#18411\u003c/a\u003e (\u003ca href=\"https://github...\n\n_Description has been truncated_","html_url":"https://github.com/stac-utils/pystac/pull/1683","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/stac-utils%2Fpystac/issues/1683","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1683/packages"},{"uuid":"4195855069","node_id":"PR_kwDOJqAGgc7PnkLX","number":1350,"state":"open","title":"build(deps): bump orjson from 3.10.16 to 3.11.6 in /python/sklearnserver","user":"dependabot[bot]","labels":["needs-ok-to-test","dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-02T17:05:31.000Z","updated_at":"2026-04-02T17:05:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"orjson","old_version":"3.10.16","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"}],"path":"/python/sklearnserver","ecosystem":"pip"},"body":"Bumps [orjson](https://github.com/ijl/orjson) from 3.10.16 to 3.11.6.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6 - 2026-01-29\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2 - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ec02024c3837255064f248c0d2d331319b75e9ad\"\u003e\u003ccode\u003eec02024\u003c/code\u003e\u003c/a\u003e 3.11.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d58168733189f82b3fd0c058dff73e05d09202e6\"\u003e\u003ccode\u003ed581687\u003c/code\u003e\u003c/a\u003e build, clippy misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4105b29b2275f200f6fae01349bef02ccf1bc2e2\"\u003e\u003ccode\u003e4105b29\u003c/code\u003e\u003c/a\u003e writer::num\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/62bb185b70785ded49c79c26f8c9781f1e6fe370\"\u003e\u003ccode\u003e62bb185\u003c/code\u003e\u003c/a\u003e Fix sporadic crash on serializing object close\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d860078a973f44401265c5c4ad12a7dbe4f839ad\"\u003e\u003ccode\u003ed860078\u003c/code\u003e\u003c/a\u003e PyRef idiom refactors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/343ae2f148197918aba9f8562db42c364620e4b8\"\u003e\u003ccode\u003e343ae2f\u003c/code\u003e\u003c/a\u003e Deserializer, Utf8Buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/7835f58d1c56947d1cf7a18acdfc07a2bca9b0f2\"\u003e\u003ccode\u003e7835f58\u003c/code\u003e\u003c/a\u003e PyBytesRef and other input refactor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/71e0516424ce1e11613eb1780f18e8cde83989fd\"\u003e\u003ccode\u003e71e0516\u003c/code\u003e\u003c/a\u003e PyStrRef\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1096df42dc585fde837ed0c930a346f5ef7dbb94\"\u003e\u003ccode\u003e1096df4\u003c/code\u003e\u003c/a\u003e MSRV 1.89\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/b718e75b8ba18a707c2b44b6de14d52547573771\"\u003e\u003ccode\u003eb718e75\u003c/code\u003e\u003c/a\u003e Drop support for python3.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.16...3.11.6\"\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=orjson\u0026package-manager=uv\u0026previous-version=3.10.16\u0026new-version=3.11.6)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/opendatahub-io/kserve/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/opendatahub-io/kserve/pull/1350","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/opendatahub-io%2Fkserve/issues/1350","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1350/packages"},{"uuid":"4190312214","node_id":"PR_kwDORrihus7PZf9N","number":43,"state":"open","title":"chore(deps): bump orjson from 3.10.13 to 3.11.8 in /apps/api","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-01T22:38:25.000Z","updated_at":"2026-04-01T22:38:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"orjson","old_version":"3.10.13","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"}],"path":"/apps/api","ecosystem":"pip"},"body":"Bumps [orjson](https://github.com/ijl/orjson) from 3.10.13 to 3.11.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.7\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a faster library to serialize \u003ccode\u003efloat\u003c/code\u003e. Users with byte-exact regression\ntests should note positive exponents are now written using a \u003ccode\u003e+\u003c/code\u003e, e.g.,\n\u003ccode\u003e1.2e+30\u003c/code\u003e instead of \u003ccode\u003e1.2e30\u003c/code\u003e. Both formats are spec-compliant.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5 free-threading.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.6\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8 - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.7 - 2026-02-02\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a faster library to serialize \u003ccode\u003efloat\u003c/code\u003e. Users with byte-exact regression\ntests should note positive exponents are now written using a \u003ccode\u003e+\u003c/code\u003e, e.g.,\n\u003ccode\u003e1.2e+30\u003c/code\u003e instead of \u003ccode\u003e1.2e30\u003c/code\u003e. Both formats are spec-compliant.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5 free-threading.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.6 - 2026-01-29\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\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/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78\"\u003e\u003ccode\u003e5cbb3d0\u003c/code\u003e\u003c/a\u003e 3.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e\"\u003e\u003ccode\u003e4195d7f\u003c/code\u003e\u003c/a\u003e writer::half\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b\"\u003e\u003ccode\u003ed00641b\u003c/code\u003e\u003c/a\u003e writer::uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84\"\u003e\u003ccode\u003ec84d9b4\u003c/code\u003e\u003c/a\u003e build and compatibility misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43\"\u003e\u003ccode\u003e4547234\u003c/code\u003e\u003c/a\u003e ffi::numpy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb\"\u003e\u003ccode\u003e0d4a5ad\u003c/code\u003e\u003c/a\u003e datetime PyRef idiom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85\"\u003e\u003ccode\u003ee93a13d\u003c/code\u003e\u003c/a\u003e Cross-compile avoids maturin v1.12 build-details.json error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ec2b066cae79ae4a90ed126ac5723335dd99e408\"\u003e\u003ccode\u003eec2b066\u003c/code\u003e\u003c/a\u003e 3.11.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1ca01f78cf4198ec37407d83713afa6e5c53dbf9\"\u003e\u003ccode\u003e1ca01f7\u003c/code\u003e\u003c/a\u003e zmij\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1716a226bd1f38db01503f30cd37b0efec48d88e\"\u003e\u003ccode\u003e1716a22\u003c/code\u003e\u003c/a\u003e cargo update\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.13...3.11.8\"\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=orjson\u0026package-manager=pip\u0026previous-version=3.10.13\u0026new-version=3.11.8)](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/0nde/petrole3/pull/43","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/0nde%2Fpetrole3/issues/43","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/43/packages"},{"uuid":"4190170633","node_id":"PR_kwDOQJdjYc7PZJPw","number":278,"state":"open","title":"chore(deps): bump orjson from 3.11.7 to 3.11.8","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-01T22:07:40.000Z","updated_at":"2026-04-01T22:07:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"orjson","old_version":"3.11.7","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"}],"path":null,"ecosystem":"pip"},"body":"Bumps [orjson](https://github.com/ijl/orjson) from 3.11.7 to 3.11.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8 - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78\"\u003e\u003ccode\u003e5cbb3d0\u003c/code\u003e\u003c/a\u003e 3.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e\"\u003e\u003ccode\u003e4195d7f\u003c/code\u003e\u003c/a\u003e writer::half\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b\"\u003e\u003ccode\u003ed00641b\u003c/code\u003e\u003c/a\u003e writer::uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84\"\u003e\u003ccode\u003ec84d9b4\u003c/code\u003e\u003c/a\u003e build and compatibility misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43\"\u003e\u003ccode\u003e4547234\u003c/code\u003e\u003c/a\u003e ffi::numpy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb\"\u003e\u003ccode\u003e0d4a5ad\u003c/code\u003e\u003c/a\u003e datetime PyRef idiom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85\"\u003e\u003ccode\u003ee93a13d\u003c/code\u003e\u003c/a\u003e Cross-compile avoids maturin v1.12 build-details.json error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.7...3.11.8\"\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=orjson\u0026package-manager=pip\u0026previous-version=3.11.7\u0026new-version=3.11.8)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/fil04331/FilAgent/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/fil04331/FilAgent/pull/278","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/fil04331%2FFilAgent/issues/278","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/278/packages"},{"uuid":"4184502995","node_id":"PR_kwDOKFU0lc7PKGmD","number":7377,"state":"open","title":"chore(deps): bump the minor-and-patch group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies","python:uv","internal"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-01T06:34:49.000Z","updated_at":"2026-04-04T03:30:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"minor-and-patch","update_count":4,"packages":[{"name":"orjson","old_version":"3.11.7","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"},{"name":"ruff","old_version":"0.15.6","new_version":"0.15.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"1.19.1","new_version":"1.20.0","repository_url":"https://github.com/python/mypy"},{"name":"ty","old_version":"0.0.23","new_version":"0.0.27","repository_url":"https://github.com/astral-sh/ty"}],"path":null,"ecosystem":"pip"},"body":"Bumps the minor-and-patch group with 4 updates in the /libs/sdk-py directory: [orjson](https://github.com/ijl/orjson), [ruff](https://github.com/astral-sh/ruff), [mypy](https://github.com/python/mypy) and [ty](https://github.com/astral-sh/ty).\n\nUpdates `orjson` from 3.11.7 to 3.11.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8 - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78\"\u003e\u003ccode\u003e5cbb3d0\u003c/code\u003e\u003c/a\u003e 3.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e\"\u003e\u003ccode\u003e4195d7f\u003c/code\u003e\u003c/a\u003e writer::half\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b\"\u003e\u003ccode\u003ed00641b\u003c/code\u003e\u003c/a\u003e writer::uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84\"\u003e\u003ccode\u003ec84d9b4\u003c/code\u003e\u003c/a\u003e build and compatibility misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43\"\u003e\u003ccode\u003e4547234\u003c/code\u003e\u003c/a\u003e ffi::numpy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb\"\u003e\u003ccode\u003e0d4a5ad\u003c/code\u003e\u003c/a\u003e datetime PyRef idiom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85\"\u003e\u003ccode\u003ee93a13d\u003c/code\u003e\u003c/a\u003e Cross-compile avoids maturin v1.12 build-details.json error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.7...3.11.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.6 to 0.15.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c2a8815842f9dc5d24ec19385eae0f1a7188b0d9\"\u003e\u003ccode\u003ec2a8815\u003c/code\u003e\u003c/a\u003e Release 0.15.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24217\"\u003e#24217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d444d52e2b9cc8bc9a078c2bd4ff6ff993290209\"\u003e\u003ccode\u003ed444d52\u003c/code\u003e\u003c/a\u003e [ty] Infer lambda expressions with \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22633\"\u003e#22633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9622285ed0081fc688149f6efca87f127d9b18dd\"\u003e\u003ccode\u003e9622285\u003c/code\u003e\u003c/a\u003e [ty] Autocomplete arguments if in arguments node (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24167\"\u003e#24167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d81266252aaf0820346d55edbed79c4f25ba13d2\"\u003e\u003ccode\u003ed812662\u003c/code\u003e\u003c/a\u003e Use the \u003ccode\u003erelease\u003c/code\u003e environment in \u003ccode\u003epublish-docs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24214\"\u003e#24214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/eda2355832f7a9c58aef6febd3e061dc9c87509a\"\u003e\u003ccode\u003eeda2355\u003c/code\u003e\u003c/a\u003e [ty] Show \u003ccode\u003eFinal\u003c/code\u003e source in final assignment diagnostic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24194\"\u003e#24194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/929eb5238c82bfadad4549ff526f02efc0163dd0\"\u003e\u003ccode\u003e929eb52\u003c/code\u003e\u003c/a\u003e [ty] Enforce Final attribute assignment rules for annotated and augmented wri...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/34998be22ec3a77d398bbd55234ef8740f768329\"\u003e\u003ccode\u003e34998be\u003c/code\u003e\u003c/a\u003e [ty] Fix typo in comment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24211\"\u003e#24211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/560aca0b2828ee2ff1b4bcc5c5ef1ef4ced229d2\"\u003e\u003ccode\u003e560aca0\u003c/code\u003e\u003c/a\u003e [ty] Minor simplifications to some benchmark code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24209\"\u003e#24209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/683bae512d03d3727a7bcdbc5a0170dafa049583\"\u003e\u003ccode\u003e683bae5\u003c/code\u003e\u003c/a\u003e [ty] Track non-terminal-call constraints in global scope (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23245\"\u003e#23245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4704c2a4ff3dde2fd29324346720e9516b4fe387\"\u003e\u003ccode\u003e4704c2a\u003c/code\u003e\u003c/a\u003e [ty] Remove unnecessary intermediate collection in `StaticClassLiteral::field...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.6...0.15.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.19.1 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch2\u003eMypy 1.20\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.20.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePlanned Changes to Defaults and Flags in Mypy 2.0\u003c/h3\u003e\n\u003cp\u003eAs a reminder, we are planning to enable \u003ccode\u003e--local-partial-types\u003c/code\u003e by default in mypy 2.0, which\nwill likely be the next feature release. This will often require at least minor code changes. This\noption is implicitly enabled by mypy daemon, so this makes the behavior of daemon and non-daemon\nmodes consistent.\u003c/p\u003e\n\u003cp\u003eNote that this release improves the compatibility of \u003ccode\u003e--local-partial-types\u003c/code\u003e significantly to\nmake the switch easier (see below for more).\u003c/p\u003e\n\u003cp\u003eThis can also be configured in a mypy configuration file (use \u003ccode\u003eFalse\u003c/code\u003e to disable):\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003elocal_partial_types = True\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eFor more information, refer to the\n\u003ca href=\"https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-local-partial-types\"\u003edocumentation\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe will also enable \u003ccode\u003e--strict-bytes\u003c/code\u003e by default in mypy 2.0. This usually requires at most\nminor code changes to adopt. For more information, refer to the\n\u003ca href=\"https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-strict-bytes\"\u003edocumentation\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eFinally, \u003ccode\u003e--allow-redefinition-new\u003c/code\u003e will be renamed to \u003ccode\u003e--allow-redefinition\u003c/code\u003e. If you want\nto continue using the older \u003ccode\u003e--allow-redefinition\u003c/code\u003e semantics which are less flexible (e.g.\nlimited support for conditional redefinitions), you can switch to \u003ccode\u003e--allow-redefinition-old\u003c/code\u003e,\nwhich is currently supported as an alias to the legacy \u003ccode\u003e--allow-redefinition\u003c/code\u003e behavior.\nTo use \u003ccode\u003e--allow-redefinition\u003c/code\u003e in the upcoming mypy 2.0, you can't use \u003ccode\u003e--no-local-partial-types\u003c/code\u003e.\nFor more information, refer to the\n\u003ca href=\"https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-allow-redefinition-new\"\u003edocumentation\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eBetter Type Narrowing\u003c/h3\u003e\n\u003cp\u003eMypy's implementation of narrowing has been substantially reworked. Mypy will now narrow more\naggressively, more consistently, and more correctly. In particular, you are likely to notice new\nnarrowing behavior in equality expressions (\u003ccode\u003e==\u003c/code\u003e), containment expressions (\u003ccode\u003ein\u003c/code\u003e),\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/770d3ca4997032dc3a1c4f0b468e9f58e8f38505\"\u003e\u003ccode\u003e770d3ca\u003c/code\u003e\u003c/a\u003e Remove +dev from version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/4738ffafc56a0d175cba06e893ffa62e756fc7e0\"\u003e\u003ccode\u003e4738ffa\u003c/code\u003e\u003c/a\u003e Changelog updates for 1.20 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21109\"\u003e#21109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b4f07a717c3a239a9c77808c5550fff5f2638c96\"\u003e\u003ccode\u003eb4f07a7\u003c/code\u003e\u003c/a\u003e Use 'native-parser' instead of 'native-parse' for optional dependency (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21115\"\u003e#21115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/7bec7b7f791790b1c925cdcc573ced564fbbf065\"\u003e\u003ccode\u003e7bec7b7\u003c/code\u003e\u003c/a\u003e [mypyc] Document librt and librt.base64 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21114\"\u003e#21114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c4825969450385cf3eb91a4fc02f273b369bc301\"\u003e\u003ccode\u003ec482596\u003c/code\u003e\u003c/a\u003e --allow-redefinition-new is no longer experimental (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21110\"\u003e#21110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c916ca3fa79d9324dcbe130b18e24e2b5e2d1eb5\"\u003e\u003ccode\u003ec916ca3\u003c/code\u003e\u003c/a\u003e sdist: include \u003ccode\u003emisc/{diff-cache,apply-cache-diff}.py\u003c/code\u003e for `mypy/test/test_di...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b137e4ed41d6178f6dbd0e609db56b8c1ad5384a\"\u003e\u003ccode\u003eb137e4e\u003c/code\u003e\u003c/a\u003e [mypyc] Speed up native-to-native imports within the same group (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21101\"\u003e#21101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/978b711c21adadf5dae4db80127ddf270d79af5f\"\u003e\u003ccode\u003e978b711\u003c/code\u003e\u003c/a\u003e [mypyc] Fix range loop variable off-by-one after loop exit (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21098\"\u003e#21098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/67ada30918d1a32e1935e9ac468113e0aa002b79\"\u003e\u003ccode\u003e67ada30\u003c/code\u003e\u003c/a\u003e [stubtest] Check runtime availability of private types not marked `@type_chec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/bdef6ef8734af07cab1bf0acadc1d8ab9add93c3\"\u003e\u003ccode\u003ebdef6ef\u003c/code\u003e\u003c/a\u003e librt cache tests: build respecting MYPY_TEST_PREFIX (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21097\"\u003e#21097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.19.1...v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.23 to 0.0.27\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.27\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-31.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix panic on debug builds when attempting to provide autocomplete suggestions for \u003ccode\u003elist[int]\u0026lt;CURSOR\u0026gt;()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24167\"\u003e#24167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix instance-attribute lookup in methods of protocol classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24213\"\u003e#24213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix nested global and nonlocal lookups through forwarding scopes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24279\"\u003e#24279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic on \u003ccode\u003elist[Annotated[()]]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24303\"\u003e#24303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow on \u003ccode\u003etype A = TypeIs[Callable[[], A]]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24245\"\u003e#24245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003e_cls\u003c/code\u003e as the name of the first argument for synthesized \u003ccode\u003ecollections.namedtuple\u003c/code\u003e constructor methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24333\"\u003e#24333\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix semantic token classification for properties accessed on instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24065\"\u003e#24065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGrey out unused bindings in the editor (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23305\"\u003e#23305\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd bidirectional type context for TypedDict \u003ccode\u003eget()\u003c/code\u003e defaults (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24231\"\u003e#24231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd bidirectional type context for TypedDict \u003ccode\u003epop()\u003c/code\u003e defaults (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24229\"\u003e#24229\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for functional TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24174\"\u003e#24174\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24331\"\u003e#24331\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24295\"\u003e#24295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBan type qualifiers in PEP-695 type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24242\"\u003e#24242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnforce \u003ccode\u003eFinal\u003c/code\u003e attribute assignment rules for annotated and augmented writes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23880\"\u003e#23880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove support for \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23888\"\u003e#23888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer lambda expressions with \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22633\"\u003e#22633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't incorrectly infer the type of a method as being a singleton type when it's accessed off an instance (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24039\"\u003e#24039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePropagate type context through \u003ccode\u003eawait\u003c/code\u003e expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24256\"\u003e#24256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve union-likes in emitting union attribute errors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24263\"\u003e#24263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShow the user where the variable was declared as \u003ccode\u003eFinal\u003c/code\u003e when emitting a diagnostic about a \u003ccode\u003eFinal\u003c/code\u003e variable being reassigned (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24194\"\u003e#24194\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/carljm\"\u003e\u003ccode\u003e@​carljm\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\u003cli\u003e\u003ca href=\"https://github.com/oconnor663\"\u003e\u003ccode\u003e@​oconnor663\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zanieb\"\u003e\u003ccode\u003e@​zanieb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Glyphack\"\u003e\u003ccode\u003e@​Glyphack\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.27\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.27\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-31.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix panic on debug builds when attempting to provide autocomplete suggestions for \u003ccode\u003elist[int]\u0026lt;CURSOR\u0026gt;()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24167\"\u003e#24167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix instance-attribute lookup in methods of protocol classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24213\"\u003e#24213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix nested global and nonlocal lookups through forwarding scopes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24279\"\u003e#24279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic on \u003ccode\u003elist[Annotated[()]]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24303\"\u003e#24303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow on \u003ccode\u003etype A = TypeIs[Callable[[], A]]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24245\"\u003e#24245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003e_cls\u003c/code\u003e as the name of the first argument for synthesized \u003ccode\u003ecollections.namedtuple\u003c/code\u003e constructor methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24333\"\u003e#24333\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix semantic token classification for properties accessed on instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24065\"\u003e#24065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGrey out unused bindings in the editor (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23305\"\u003e#23305\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd bidirectional type context for TypedDict \u003ccode\u003eget()\u003c/code\u003e defaults (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24231\"\u003e#24231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd bidirectional type context for TypedDict \u003ccode\u003epop()\u003c/code\u003e defaults (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24229\"\u003e#24229\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for functional TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24174\"\u003e#24174\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24331\"\u003e#24331\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24295\"\u003e#24295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBan type qualifiers in PEP-695 type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24242\"\u003e#24242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnforce \u003ccode\u003eFinal\u003c/code\u003e attribute assignment rules for annotated and augmented writes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23880\"\u003e#23880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove support for \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23888\"\u003e#23888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer lambda expressions with \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22633\"\u003e#22633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't incorrectly infer the type of a method as being a singleton type when it's accessed off an instance (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24039\"\u003e#24039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePropagate type context through \u003ccode\u003eawait\u003c/code\u003e expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24256\"\u003e#24256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve union-likes in emitting union attribute errors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24263\"\u003e#24263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShow the user where the variable was declared as \u003ccode\u003eFinal\u003c/code\u003e when emitting a diagnostic about a \u003ccode\u003eFinal\u003c/code\u003e variable being reassigned (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24194\"\u003e#24194\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/carljm\"\u003e\u003ccode\u003e@​carljm\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\u003cli\u003e\u003ca href=\"https://github.com/oconnor663\"\u003e\u003ccode\u003e@​oconnor663\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zanieb\"\u003e\u003ccode\u003e@​zanieb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Glyphack\"\u003e\u003ccode\u003e@​Glyphack\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.26\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5c9e342c2ea67a0ac8749d32296dd3071974927a\"\u003e\u003ccode\u003e5c9e342\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.27 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3185\"\u003e#3185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/e6a57315251f37ab3516cb614f891ece91595393\"\u003e\u003ccode\u003ee6a5731\u003c/code\u003e\u003c/a\u003e Update actions/cache action to v5.0.4 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3172\"\u003e#3172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/c47b982b86bb599d016af1d235174391f618ff16\"\u003e\u003ccode\u003ec47b982\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3173\"\u003e#3173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/657abcfc82221440481f9c9b76c6b6a3b89d5d00\"\u003e\u003ccode\u003e657abcf\u003c/code\u003e\u003c/a\u003e Update astral-sh/setup-uv action to v8 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3174\"\u003e#3174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/9e582cb48e9c2306073091d554c04853091d612b\"\u003e\u003ccode\u003e9e582cb\u003c/code\u003e\u003c/a\u003e Fetch the cargo-dist binary directly instead of using the installer (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/d5c51ea65be68cffcfa1afe204e5f6003fc06b02\"\u003e\u003ccode\u003ed5c51ea\u003c/code\u003e\u003c/a\u003e docs: use content tabs (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3146\"\u003e#3146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/9893776cbd744bec84a43463728ab3813b00968f\"\u003e\u003ccode\u003e9893776\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/ty/issues/3147\"\u003e#3147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/94030512727f4320e8184f120c4330ed8f42ec6f\"\u003e\u003ccode\u003e9403051\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.26 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/d60899a14f6fe368e477c17f4205483aebdf84a8\"\u003e\u003ccode\u003ed60899a\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.25 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3125\"\u003e#3125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/db65b3e118a705be2694032fd2df613ea11565f1\"\u003e\u003ccode\u003edb65b3e\u003c/code\u003e\u003c/a\u003e Update documentation to reflect \u003ccode\u003etype:ignore\u003c/code\u003e changes (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3121\"\u003e#3121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.23...0.0.27\"\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/langchain-ai/langgraph/pull/7377","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/langchain-ai%2Flanggraph/issues/7377","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7377/packages"},{"uuid":"4183262804","node_id":"PR_kwDOQp2jac7PG05r","number":8,"state":"closed","title":"Bump the uv group across 10 directories with 16 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-01T00:52:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-01T00:50:08.000Z","updated_at":"2026-04-01T00:52:14.000Z","time_to_close":125,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"uv","update_count":16,"packages":[{"name":"requests","old_version":"2.32.5","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"mlflow","old_version":"2.22.0","new_version":"3.9.0rc0","repository_url":"https://github.com/mlflow/mlflow"},{"name":"flask","old_version":"2.1.3","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"pyasn1","old_version":"0.5.1","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"tornado","old_version":"6.5.2","new_version":"6.5.5","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"werkzeug","old_version":"2.3.8","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"black","old_version":"22.10.0","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"44.0.3","new_version":"46.0.6","repository_url":"https://github.com/pyca/cryptography"},{"name":"ecdsa","old_version":"0.18.0","new_version":"0.19.2","repository_url":"https://github.com/tlsfuzzer/python-ecdsa"},{"name":"memray","old_version":"1.19.1","new_version":"1.19.2","repository_url":"https://github.com/bloomberg/memray"},{"name":"onnx","old_version":"1.15.0","new_version":"1.21.0rc1","repository_url":"https://github.com/onnx/onnx"},{"name":"orjson","old_version":"3.9.15","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"},{"name":"pyopenssl","old_version":"25.0.0","new_version":"26.0.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"ujson","old_version":"5.10.0","new_version":"5.12.0","repository_url":"https://github.com/ultrajson/ultrajson"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv group with 1 update in the /ci/raydepsets/tests/test_data directory: [requests](https://github.com/psf/requests).\nBumps the uv group with 1 update in the /doc directory: [requests](https://github.com/psf/requests).\nBumps the uv group with 1 update in the /doc/source/ray-overview/examples/e2e-xgboost directory: [mlflow](https://github.com/mlflow/mlflow).\nBumps the uv group with 2 updates in the /doc/source/ray-overview/examples/multi_agent_a2a/content directory: [langgraph](https://github.com/langchain-ai/langgraph) and [mcp](https://github.com/modelcontextprotocol/python-sdk).\nBumps the uv group with 14 updates in the /python directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.32.5` | `2.33.0` |\n| [mlflow](https://github.com/mlflow/mlflow) | `2.22.0` | `3.9.0rc0` |\n| [flask](https://github.com/pallets/flask) | `2.1.3` | `3.1.3` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.5.1` | `0.6.3` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.2` | `6.5.5` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.3.8` | `3.1.6` |\n| [black](https://github.com/psf/black) | `22.10.0` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.3` | `46.0.6` |\n| [ecdsa](https://github.com/tlsfuzzer/python-ecdsa) | `0.18.0` | `0.19.2` |\n| [memray](https://github.com/bloomberg/memray) | `1.19.1` | `1.19.2` |\n| [onnx](https://github.com/onnx/onnx) | `1.15.0` | `1.21.0rc1` |\n| [orjson](https://github.com/ijl/orjson) | `3.9.15` | `3.11.6` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `25.0.0` | `26.0.0` |\n| [ujson](https://github.com/ultrajson/ultrajson) | `5.10.0` | `5.12.0` |\n\nBumps the uv group with 1 update in the /python/ray/tune directory: [black](https://github.com/psf/black).\nBumps the uv group with 4 updates in the /python/requirements directory: [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug), [black](https://github.com/psf/black) and [onnx](https://github.com/onnx/onnx).\nBumps the uv group with 1 update in the /python/requirements/ml directory: [onnx](https://github.com/onnx/onnx).\nBumps the uv group with 2 updates in the /release directory: [pyasn1](https://github.com/pyasn1/pyasn1) and [cryptography](https://github.com/pyca/cryptography).\nBumps the uv group with 5 updates in the /release/ray_release/byod directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [mlflow](https://github.com/mlflow/mlflow) | `3.1.4` | `3.9.0rc0` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.4` | `6.5.5` |\n| [black](https://github.com/psf/black) | `22.10.0` | `26.3.1` |\n| [onnx](https://github.com/onnx/onnx) | `1.15.0` | `1.21.0rc1` |\n| [ujson](https://github.com/ultrajson/ultrajson) | `5.10.0` | `5.12.0` |\n\n\nUpdates `requests` from 2.32.3 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.5 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow` from 2.19.0 to 3.1.4\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.1.4\u003c/h2\u003e\n\u003cp\u003eMLflow 3.1.4 includes several major features and improvements\u003c/p\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16835\"\u003e#16835\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16820\"\u003e#16820\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1.3\u003c/h2\u003e\n\u003cp\u003eMLflow 3.1.3 includes several features and improvements\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Artifacts / Tracking] Do not copy file permissions when logging artifacts to local artifact repo (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16642\"\u003e#16642\u003c/a\u003e, \u003ca href=\"https://github.com/connortann\"\u003e\u003ccode\u003e@​connortann\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add support for OpenAI ChatCompletions parse method (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16493\"\u003e#16493\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\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[Deployments] Propagate \u003ccode\u003eMLFLOW_DEPLOYMENT_PREDICT_TIMEOUT\u003c/code\u003e to databricks-sdk (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16783\"\u003e#16783\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix issue with search_registered_models with Databricks UC backend not supporting filter_string (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16766\"\u003e#16766\u003c/a\u003e, \u003ca href=\"https://github.com/BenWilson2\"\u003e\u003ccode\u003e@​BenWilson2\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Bug fix: Databricks GenAI evaluation dataset source returns string, instead of DatasetSource instance (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16712\"\u003e#16712\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 the position of added tracking_uri param to artifact store implementations (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16653\"\u003e#16653\u003c/a\u003e, \u003ca href=\"https://github.com/BenWilson2\"\u003e\u003ccode\u003e@​BenWilson2\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/16786\"\u003e#16786\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16692\"\u003e#16692\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/16594\"\u003e#16594\u003c/a\u003e, \u003ca href=\"https://github.com/ngoduykhanh\"\u003e\u003ccode\u003e@​ngoduykhanh\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16475\"\u003e#16475\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nThis version has been yanked. MLflow 3.1.3 will be released shortly.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eMLflow 3.1.2 is a patch release that includes several bug fixes.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Tracking] Fix \u003ccode\u003edownload_artifacts\u003c/code\u003e ignoring \u003ccode\u003etracking_uri\u003c/code\u003e parameter (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16461\"\u003e#16461\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[Models] Fix event type for ResponsesAgent error (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16427\"\u003e#16427\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Models] Remove falsey chat conversion for LangGraph models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16601\"\u003e#16601\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[Tracing] Use empty Resource when instantiating OTel provider to fix LiteLLM tracing issue (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16590\"\u003e#16590\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\u003c/ul\u003e\n\u003cp\u003eSmall fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16568\"\u003e#16568\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16454\"\u003e#16454\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16617\"\u003e#16617\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16605\"\u003e#16605\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16569\"\u003e#16569\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16553\"\u003e#16553\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16625\"\u003e#16625\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/16571\"\u003e#16571\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16552\"\u003e#16552\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16452\"\u003e#16452\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16395\"\u003e#16395\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16446\"\u003e#16446\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16420\"\u003e#16420\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16447\"\u003e#16447\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16554\"\u003e#16554\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16515\"\u003e#16515\u003c/a\u003e, \u003ca href=\"https://github.com/frontsideair\"\u003e\u003ccode\u003e@​frontsideair\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16558\"\u003e#16558\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16443\"\u003e#16443\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16457\"\u003e#16457\u003c/a\u003e, \u003ca href=\"https://github.com/16442\"\u003e\u003ccode\u003e@​16442\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16449\"\u003e#16449\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16509\"\u003e#16509\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16512\"\u003e#16512\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16524\"\u003e#16524\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16514\"\u003e#16514\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16607\"\u003e#16607\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/16541\"\u003e#16541\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/16427\"\u003e#16427\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/16573\"\u003e#16573\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/16470\"\u003e#16470\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16281\"\u003e#16281\u003c/a\u003e, \u003ca href=\"https://github.com/BenWilson2\"\u003e\u003ccode\u003e@​BenWilson2\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.1.1 includes several major features and improvements\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Model Registry / Sqlalchemy] Increase prompt text limit from 5K to 100K (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16377\"\u003e#16377\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[Tracking] Support pagination in get-history of FileStore and SqlAlchemyStore (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16325\"\u003e#16325\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\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/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.4 (2025-07-23)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.1.4 includes several major features and improvements\u003c/p\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16835\"\u003e#16835\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16820\"\u003e#16820\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.1.3 (2025-07-22)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.1.3 includes several major features and improvements\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Artifacts / Tracking] Do not copy file permissions when logging artifacts to local artifact repo (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16642\"\u003e#16642\u003c/a\u003e, \u003ca href=\"https://github.com/connortann\"\u003e\u003ccode\u003e@​connortann\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add support for OpenAI ChatCompletions parse method (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16493\"\u003e#16493\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\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[Deployments] Propagate \u003ccode\u003eMLFLOW_DEPLOYMENT_PREDICT_TIMEOUT\u003c/code\u003e to databricks-sdk (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16783\"\u003e#16783\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix issue with search_registered_models with Databricks UC backend not supporting filter_string (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16766\"\u003e#16766\u003c/a\u003e, \u003ca href=\"https://github.com/BenWilson2\"\u003e\u003ccode\u003e@​BenWilson2\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Bug fix: Databricks GenAI evaluation dataset source returns string, instead of DatasetSource instance (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16712\"\u003e#16712\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 the position of added tracking_uri param to artifact store implementations (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16653\"\u003e#16653\u003c/a\u003e, \u003ca href=\"https://github.com/BenWilson2\"\u003e\u003ccode\u003e@​BenWilson2\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/16786\"\u003e#16786\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16692\"\u003e#16692\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/16594\"\u003e#16594\u003c/a\u003e, \u003ca href=\"https://github.com/ngoduykhanh\"\u003e\u003ccode\u003e@​ngoduykhanh\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16475\"\u003e#16475\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.1.2 (2025-07-08)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.1.2 is a patch release that includes several bug fixes.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Tracking] Fix \u003ccode\u003edownload_artifacts\u003c/code\u003e ignoring \u003ccode\u003etracking_uri\u003c/code\u003e parameter (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16461\"\u003e#16461\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[Models] Fix event type for ResponsesAgent error (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16427\"\u003e#16427\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Models] Remove falsey chat conversion for LangGraph models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16601\"\u003e#16601\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[Tracing] Use empty Resource when instantiating OTel provider to fix LiteLLM tracing issue (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16590\"\u003e#16590\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\u003c/ul\u003e\n\u003cp\u003eSmall fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16568\"\u003e#16568\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16454\"\u003e#16454\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16617\"\u003e#16617\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16605\"\u003e#16605\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16569\"\u003e#16569\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16553\"\u003e#16553\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16625\"\u003e#16625\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/16571\"\u003e#16571\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16552\"\u003e#16552\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16452\"\u003e#16452\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16395\"\u003e#16395\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16446\"\u003e#16446\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16420\"\u003e#16420\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16447\"\u003e#16447\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16554\"\u003e#16554\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16515\"\u003e#16515\u003c/a\u003e, \u003ca href=\"https://github.com/frontsideair\"\u003e\u003ccode\u003e@​frontsideair\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16558\"\u003e#16558\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16443\"\u003e#16443\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16457\"\u003e#16457\u003c/a\u003e, \u003ca href=\"https://github.com/16442\"\u003e\u003ccode\u003e@​16442\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16449\"\u003e#16449\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16509\"\u003e#16509\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16512\"\u003e#16512\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16524\"\u003e#16524\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16514\"\u003e#16514\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16607\"\u003e#16607\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/16541\"\u003e#16541\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/16427\"\u003e#16427\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/16573\"\u003e#16573\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/16470\"\u003e#16470\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16281\"\u003e#16281\u003c/a\u003e, \u003ca href=\"https://github.com/BenWilson2\"\u003e\u003ccode\u003e@​BenWilson2\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.1.1 (2025-06-25)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.1.1 includes several major features and improvements\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Model Registry / Sqlalchemy] Increase prompt text limit from 5K to 100K (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16377\"\u003e#16377\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\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/mlflow/mlflow/commit/d393a0c2bd1a2dcd1ffab4784af3579266a78dc0\"\u003e\u003ccode\u003ed393a0c\u003c/code\u003e\u003c/a\u003e Run python3 dev/update_mlflow_versions.py pre-release ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/bbe2e934823661254a68202397fb77ba46b0b404\"\u003e\u003ccode\u003ebbe2e93\u003c/code\u003e\u003c/a\u003e Fix Java POM for central release (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16835\"\u003e#16835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/91712a50b5f61553f7d01176dc5f02bd7cae0897\"\u003e\u003ccode\u003e91712a5\u003c/code\u003e\u003c/a\u003e lint change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/6d1469df7094b666b3df723a8c1c93e4d2d05955\"\u003e\u003ccode\u003e6d1469d\u003c/code\u003e\u003c/a\u003e fix merge for model serialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3fa96eb8f099281bbc3021eee351e200e98e542a\"\u003e\u003ccode\u003e3fa96eb\u003c/code\u003e\u003c/a\u003e Fix releasing to central (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16820\"\u003e#16820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/377a0f2faeb0d4435df1982ea19d9dc900a819e5\"\u003e\u003ccode\u003e377a0f2\u003c/code\u003e\u003c/a\u003e update mlflow-tracing version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/5cc8e8d880543f578bf87227949195ec50d26ff0\"\u003e\u003ccode\u003e5cc8e8d\u003c/code\u003e\u003c/a\u003e Update build scripts to handle mlflow-tracing (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/15860\"\u003e#15860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3acca543505a4a1ceff8c226de44003d3814cdaf\"\u003e\u003ccode\u003e3acca54\u003c/code\u003e\u003c/a\u003e Propagate \u003ccode\u003eMLFLOW_DEPLOYMENT_PREDICT_TIMEOUT\u003c/code\u003e to databricks-sdk (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16783\"\u003e#16783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/16748ac5acb42647ef277e96797dfbcb626c36b7\"\u003e\u003ccode\u003e16748ac\u003c/code\u003e\u003c/a\u003e Update pom with further fixes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16786\"\u003e#16786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/311a33195f3d58f3390fd23298df4d2cf4360a5b\"\u003e\u003ccode\u003e311a331\u003c/code\u003e\u003c/a\u003e Fix issue with search_registered_models with Databricks UC backend not suppor...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v2.19.0...v3.1.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langgraph` from 1.0.3 to 1.0.10rc1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langgraph/releases\"\u003elanggraph's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elanggraph==1.0.10rc1\u003c/h2\u003e\n\u003cp\u003eChanges since 1.0.9\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease: Candidate (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6947\"\u003e#6947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMerge commit from fork\u003c/li\u003e\n\u003cli\u003echore: add tests to confirm expected subgraph persistence behavior (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6943\"\u003e#6943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(langgraph): correct ParentCommand bubbling when checkpoint_ns includes numeric task segments  (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6864\"\u003e#6864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: add \u003ccode\u003emake type\u003c/code\u003e target for type checking (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6748\"\u003e#6748\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph==1.0.9\u003c/h2\u003e\n\u003cp\u003eChanges since 1.0.8\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease: langgraph + prebuilt (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6875\"\u003e#6875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: sequential interrupt handling w/ functional API (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6863\"\u003e#6863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: state_updated_at sort by (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6857\"\u003e#6857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump orjson (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6852\"\u003e#6852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: conformance testing (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6842\"\u003e#6842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all-dependencies group in /libs/langgraph with 6 updates (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6815\"\u003e#6815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump protobuf from 6.33.4 to 6.33.5 in /libs/langgraph (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6833\"\u003e#6833\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump cryptography from 46.0.3 to 46.0.5 in /libs/langgraph (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6837\"\u003e#6837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump nbconvert from 7.16.6 to 7.17.0 in /libs/langgraph (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6832\"\u003e#6832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: server runtime type (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6774\"\u003e#6774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace bare except with BaseException in AsyncQueue (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6765\"\u003e#6765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph==1.0.8\u003c/h2\u003e\n\u003cp\u003eChanges since 1.0.7\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(langgraph): 1.0.8 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6757\"\u003e#6757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: shallow copy futures (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6755\"\u003e#6755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: pydantic messages double streaming (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6753\"\u003e#6753\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump ruff from 0.14.7 to 0.14.11 in /libs/sdk-py (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6673\"\u003e#6673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Omit lock when using connection pool (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6734\"\u003e#6734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: enhance \u003ccode\u003eRuntime\u003c/code\u003e and \u003ccode\u003eToolRuntime\u003c/code\u003e class descriptions for clarity (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add clarity to use of \u003ccode\u003ethread_id\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6515\"\u003e#6515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add docstrings to \u003ccode\u003eadd_node\u003c/code\u003e overloads (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6514\"\u003e#6514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: update notebook links and add archival notices for examples (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6720\"\u003e#6720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(cli): 0.4.12 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6716\"\u003e#6716\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph-prebuilt==1.0.8\u003c/h2\u003e\n\u003cp\u003eChanges since prebuilt==1.0.7\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease: langgraph + prebuilt (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6875\"\u003e#6875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: inject ToolRuntime for dynamically registered tools (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6874\"\u003e#6874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump orjson (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6852\"\u003e#6852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump langchain-core from 1.2.12 to 1.2.13 in /libs/prebuilt in the all-dependencies group (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6849\"\u003e#6849\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: conformance testing (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6842\"\u003e#6842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all-dependencies group in /libs/prebuilt with 3 updates (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6810\"\u003e#6810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: server runtime type (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6774\"\u003e#6774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs(prebuilt): update warning for \u003ccode\u003ecreate_react_agent\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6760\"\u003e#6760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(langgraph): 1.0.8 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6757\"\u003e#6757\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/langchain-ai/langgraph/commit/a04ec5d6f00fa6583b2d98dfe789da741204b767\"\u003e\u003ccode\u003ea04ec5d\u003c/code\u003e\u003c/a\u003e release: Candidate (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6947\"\u003e#6947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/50df7d423abebcb5a192f0a59c2952c68cb0df8c\"\u003e\u003ccode\u003e50df7d4\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/c4a4a4647343d802d0ab909439806076bae15bd6\"\u003e\u003ccode\u003ec4a4a46\u003c/code\u003e\u003c/a\u003e chore: add tests to confirm expected subgraph persistence behavior (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6943\"\u003e#6943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/f178eb821e52906e1705c9cc02533bb88854b409\"\u003e\u003ccode\u003ef178eb8\u003c/code\u003e\u003c/a\u003e fix(langgraph): correct ParentCommand bubbling when checkpoint_ns includes nu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/48167d7fec9c25228426c92ba83d8650b77de0f3\"\u003e\u003ccode\u003e48167d7\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all-dependencies group in /libs/cli with 2 updates (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6920\"\u003e#6920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/806878a421458e99f9882e666ff35a41ad1bb561\"\u003e\u003ccode\u003e806878a\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all-dependencies group in /libs/checkpoint-postgres wit...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/8087e6a42c62c2049a5fb3f99372a8c601d07e08\"\u003e\u003ccode\u003e8087e6a\u003c/code\u003e\u003c/a\u003e docs(sdk-py): update auth docstrings to default-deny pattern (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6933\"\u003e#6933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/8fbdb144876ec9ca75943c7addb452a2bb634304\"\u003e\u003ccode\u003e8fbdb14\u003c/code\u003e\u003c/a\u003e release(sdk-py): 0.3.9 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6932\"\u003e#6932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/5093802f319119be674c02269f9874df04558419\"\u003e\u003ccode\u003e5093802\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all-dependencies group in /libs/checkpoint with 2 updat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/b89ef60b91e019c3cb4422af1e3cc216804ccb20\"\u003e\u003ccode\u003eb89ef60\u003c/code\u003e\u003c/a\u003e feat(sdk-py): add extract parameter to threads.search() (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6880\"\u003e#6880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langgraph/compare/1.0.3...1.0.10rc1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp` from 1.22.0 to 1.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.0\u003c/h2\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release brings us up to speed with the latest MCP spec \u003ccode\u003e2025-11-25\u003c/code\u003e. Take a look at the \u003ca href=\"https://modelcontextprotocol.io/specification/2025-11-25\"\u003elatest spec\u003c/a\u003e as well as the release \u003ca href=\"https://blog.modelcontextprotocol.io/posts/2025-11-25-first-mcp-anniversary/\"\u003eblog post.\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd tests for JSON Schema 2020-12 field preservation (SEP-1613) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1649\"\u003emodelcontextprotocol/python-sdk#1649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd client_secret_basic authentication support by \u003ca href=\"https://github.com/jonshea\"\u003e\u003ccode\u003e@​jonshea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1334\"\u003emodelcontextprotocol/python-sdk#1334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1577 - Sampling With Tools by \u003ca href=\"https://github.com/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1330: Elicitation Enum Schema Improvements and Standards Compliance by \u003ca href=\"https://github.com/chughtapan\"\u003e\u003ccode\u003e@​chughtapan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1246\"\u003emodelcontextprotocol/python-sdk#1246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[auth][conformance] add conformance auth client by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1640\"\u003emodelcontextprotocol/python-sdk#1640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-986: Tool name validation by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1655\"\u003emodelcontextprotocol/python-sdk#1655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: url for spec by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1659\"\u003emodelcontextprotocol/python-sdk#1659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: implement SEP-991 URL-based client ID (CIMD) support by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1652\"\u003emodelcontextprotocol/python-sdk#1652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate doc string on custom_route by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1660\"\u003emodelcontextprotocol/python-sdk#1660\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1036: URL mode elicitation for secure out-of-band interactions by \u003ca href=\"https://github.com/cbcoutinho\"\u003e\u003ccode\u003e@​cbcoutinho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1580\"\u003emodelcontextprotocol/python-sdk#1580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip empty SSE data to avoid parsing errors by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1670\"\u003emodelcontextprotocol/python-sdk#1670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1686: Tasks by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1645\"\u003emodelcontextprotocol/python-sdk#1645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd on_session_created callback option by \u003ca href=\"https://github.com/crondinini-ant\"\u003e\u003ccode\u003e@​crondinini-ant\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1710\"\u003emodelcontextprotocol/python-sdk#1710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd SSE polling support (SEP-1699) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1654\"\u003emodelcontextprotocol/python-sdk#1654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport client_credentials flow with JWT and Basic auth by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1663\"\u003emodelcontextprotocol/python-sdk#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: backwards-compatible create_message overloads for SEP-1577 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1713\"\u003emodelcontextprotocol/python-sdk#1713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-enable DNS rebinding protection for localhost servers by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e  (d3a184119e4479ea6a63590bc41f01dc06e3fa99)\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/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.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/modelcontextprotocol/python-sdk/commit/d3a184119e4479ea6a63590bc41f01dc06e3fa99\"\u003e\u003ccode\u003ed3a1841\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/fa851d93a2036a37cce73e098f7dbc80a6c48765\"\u003e\u003ccode\u003efa851d9\u003c/code\u003e\u003c/a\u003e feat: backwards-compatible create_message overloads for SEP-1577 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1713\"\u003e#1713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/f82b0c937178815c1e96460455778578050c6d1a\"\u003e\u003ccode\u003ef82b0c9\u003c/code\u003e\u003c/a\u003e Support client_credentials flow with JWT and Basic auth (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1663\"\u003e#1663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/281fd4765e0fc2efaf2039d248c3bc0698416a8a\"\u003e\u003ccode\u003e281fd47\u003c/code\u003e\u003c/a\u003e Add SSE polling support (SEP-1699) (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1654\"\u003e#1654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/2cd178a962ab454e3add228ecd721784b7b36e99\"\u003e\u003ccode\u003e2cd178a\u003c/code\u003e\u003c/a\u003e Add on_session_created callback option (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1710\"\u003e#1710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c92bb2f7ffaa61813d7cc350887f4ece38307769\"\u003e\u003ccode\u003ec92bb2f\u003c/code\u003e\u003c/a\u003e SEP-1686: Tasks (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1645\"\u003e#1645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/5983a650cc07d2dc6c6ba098e99d3545889157a9\"\u003e\u003ccode\u003e5983a65\u003c/code\u003e\u003c/a\u003e Skip empty SSE data to avoid parsing errors (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1670\"\u003e#1670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/02b78899296ce3631565345501e3d956b83ffe94\"\u003e\u003ccode\u003e02b7889\u003c/code\u003e\u003c/a\u003e Implement SEP-1036: URL mode elicitation for secure out-of-band interactions ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/27279bc157cbc03f7fe7758fd55a4b34c5652f42\"\u003e\u003ccode\u003e27279bc\u003c/code\u003e\u003c/a\u003e Update doc string on custom_route (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/f22501315eab5b8358c603ac7f730f77bb09e4c4\"\u003e\u003ccode\u003ef225013\u003c/code\u003e\u003c/a\u003e feat: implement SEP-991 URL-based client ID (CIMD) support (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1652\"\u003e#1652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.5 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow` from 2.22.0 to 3.9.0rc0\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.1.4\u003c/h2\u003e\n\u003cp\u003eMLflow 3.1.4 includes several major features and improvements\u003c/p\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16835\"\u003e#16835\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16820\"\u003e#16820\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1.3\u003c/h2\u003e\n\u003cp\u003eMLflow 3.1.3 includes several features and improvements\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Artifacts / Tracking] Do not copy file permissions when logging artifacts to local artifact repo (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16642\"\u003e#16642\u003c/a\u003e, \u003ca href=\"https://github.com/connortann\"\u003e\u003ccode\u003e@​connortann\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add support for OpenAI ChatCompletions parse method (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16493\"\u003e#16493\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\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[Deployments] Propagate \u003ccode\u003eMLFLOW_DEPLOYMENT_PREDICT_TIMEOUT\u003c/code\u003e to databricks-sdk (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16783\"\u003e#16783\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix issue with search_registered_models with Databricks UC backend not supporting filter_string (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16766\"\u003e#16766\u003c/a\u003e, \u003ca href=\"https://github.com/BenWilson2\"\u003e\u003ccode\u003e@​BenWilson2\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Bug fix: Databricks GenAI evaluation dataset source returns string, instead of DatasetSource instance (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16712\"\u003e#16712\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 the position of added tracking_uri param to artifact store implementations (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16653\"\u003e#16653\u003c/a\u003e, \u003ca href=\"https://github.com/BenWilson2\"\u003e\u003ccode\u003e@​BenWilson2\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/16786\"\u003e#16786\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16692\"\u003e#16692\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/16594\"\u003e#16594\u003c/a\u003e, \u003ca href=\"https://github.com/ngoduykhanh\"\u003e\u003ccode\u003e@​ngoduykhanh\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16475\"\u003e#16475\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nThis version has been yanked. MLflow 3.1.3 will be released shortly.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eMLflow 3.1.2 is a patch release that includes several bug fixes.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Tracking] Fix \u003ccode\u003edownload_artifacts\u003c/code\u003e ignoring \u003ccode\u003etracking_uri\u003c/code\u003e parameter (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16461\"\u003e#16461\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[Models] Fix event type for ResponsesAgent error (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16427\"\u003e#16427\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Models] Remove falsey chat conversion for LangGraph models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16601\"\u003e#16601\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[Tracing] Use empty Resource when instantiating OTel provider to fix LiteLLM tracing issue (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16590\"\u003e#16590\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\u003c/ul\u003e\n\u003cp\u003eSmall fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16568\"\u003e#16568\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16454\"\u003e#16454\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16617\"\u003e#16617\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16605\"\u003e#16605\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16569\"\u003e#16569\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16553\"\u003e#16553\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16625\"\u003e#16625\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/16571\"\u003e#16571\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16552\"\u003e#16552\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16452\"\u003e#1645...\n\n_Description has been truncated_","html_url":"https://github.com/preechapon250/ray/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/preechapon250%2Fray/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"},{"uuid":"4182901796","node_id":"PR_kwDORD8kXM7PFxnj","number":25,"state":"closed","title":"chore(deps): bump the uv group across 3 directories with 15 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-31T23:08:38.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-31T23:08:00.000Z","updated_at":"2026-03-31T23:08:40.000Z","time_to_close":38,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"uv","update_count":15,"packages":[{"name":"tornado","old_version":"6.5.4","new_version":"6.5.5","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"protobuf","old_version":"5.29.5","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"pypdf","old_version":"6.6.0","new_version":"6.9.2","repository_url":"https://github.com/py-pdf/pypdf"},{"name":"requests","old_version":"2.32.5","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"authlib","old_version":"1.6.6","new_version":"1.6.9","repository_url":"https://github.com/authlib/authlib"},{"name":"cryptography","old_version":"46.0.3","new_version":"46.0.6","repository_url":"https://github.com/pyca/cryptography"},{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"nbconvert","old_version":"7.16.6","new_version":"7.17.0","repository_url":"https://github.com/jupyter/nbconvert"},{"name":"nltk","old_version":"3.9.2","new_version":"3.9.4","repository_url":"https://github.com/nltk/nltk"},{"name":"orjson","old_version":"3.11.5","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"},{"name":"pyasn1","old_version":"0.6.1","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"werkzeug","old_version":"3.1.5","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.4` | `6.5.5` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `5.29.5` | `5.29.6` |\n| [pypdf](https://github.com/py-pdf/pypdf) | `6.6.0` | `6.9.2` |\n| [requests](https://github.com/psf/requests) | `2.32.5` | `2.33.0` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.6` | `1.6.9` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.3` | `46.0.6` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [nbconvert](https://github.com/jupyter/nbconvert) | `7.16.6` | `7.17.0` |\n| [nltk](https://github.com/nltk/nltk) | `3.9.2` | `3.9.4` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.5` | `3.11.6` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.6.1` | `0.6.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.5` | `3.1.6` |\n\nBumps the uv group with 3 updates in the /evaluation/benchmarks/versicode directory: [protobuf](https://github.com/protocolbuffers/protobuf), [pillow](https://github.com/python-pillow/Pillow) and [requests](https://github.com/psf/requests).\nBumps the uv group with 10 updates in the /openhands-cli directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.0` | `6.33.5` |\n| [fastmcp](https://github.com/PrefectHQ/fastmcp) | `2.12.5` | `3.2.0` |\n| [pypdf](https://github.com/py-pdf/pypdf) | `6.1.2` | `6.9.2` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.0.0` | `12.1.1` |\n| [requests](https://github.com/psf/requests) | `2.32.5` | `2.33.0` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.5` | `1.6.9` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.3` | `46.0.6` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.4` | `3.11.6` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.6.1` | `0.6.3` |\n| [black](https://github.com/psf/black) | `25.9.0` | `26.3.1` |\n\n\nUpdates `tornado` from 6.5.4 to 6.5.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst\"\u003etornado's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease notes\u003c/h1\u003e\n\u003cp\u003e.. toctree::\n:maxdepth: 2\u003c/p\u003e\n\u003cp\u003ereleases/v6.5.5\nreleases/v6.5.4\nreleases/v6.5.3\nreleases/v6.5.2\nreleases/v6.5.1\nreleases/v6.5.0\nreleases/v6.4.2\nreleases/v6.4.1\nreleases/v6.4.0\nreleases/v6.3.3\nreleases/v6.3.2\nreleases/v6.3.1\nreleases/v6.3.0\nreleases/v6.2.0\nreleases/v6.1.0\nreleases/v6.0.4\nreleases/v6.0.3\nreleases/v6.0.2\nreleases/v6.0.1\nreleases/v6.0.0\nreleases/v5.1.1\nreleases/v5.1.0\nreleases/v5.0.2\nreleases/v5.0.1\nreleases/v5.0.0\nreleases/v4.5.3\nreleases/v4.5.2\nreleases/v4.5.1\nreleases/v4.5.0\nreleases/v4.4.3\nreleases/v4.4.2\nreleases/v4.4.1\nreleases/v4.4.0\nreleases/v4.3.0\nreleases/v4.2.1\nreleases/v4.2.0\nreleases/v4.1.0\nreleases/v4.0.2\nreleases/v4.0.1\nreleases/v4.0.0\nreleases/v3.2.2\nreleases/v3.2.1\nreleases/v3.2.0\nreleases/v3.1.1\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/tornadoweb/tornado/commit/7d6465056ceb7a054b3f64cf1c18271753b10482\"\u003e\u003ccode\u003e7d64650\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3586\"\u003e#3586\u003c/a\u003e from bdarnell/update-cibw\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/d05d59b8080a0d5d6a260994c7aad7049209d345\"\u003e\u003ccode\u003ed05d59b\u003c/code\u003e\u003c/a\u003e build: Bump cibuildwheel to 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/c2f46732b0ad14bf0db4219c96a945f4b60205f5\"\u003e\u003ccode\u003ec2f4673\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3585\"\u003e#3585\u003c/a\u003e from bdarnell/release-655\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/e5f1aa4b6fa2c16b29024830227838fcb0c79b6f\"\u003e\u003ccode\u003ee5f1aa4\u003c/code\u003e\u003c/a\u003e Release notes and version bump for v6.5.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/78a046f99f89977dfc8ff5a1fe16d298afbeeaca\"\u003e\u003ccode\u003e78a046f\u003c/code\u003e\u003c/a\u003e httputil: Add CRLF to _FORBIDDEN_HEADER_CHARS_RE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/24a2d96ea115f663b223887deb0060f13974c104\"\u003e\u003ccode\u003e24a2d96\u003c/code\u003e\u003c/a\u003e web: Validate characters in all cookie attributes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/119a195e290c43ad2d63a2cf012c29d43d6ed839\"\u003e\u003ccode\u003e119a195\u003c/code\u003e\u003c/a\u003e httputil: Add limits on multipart form data parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tornadoweb/tornado/compare/v6.5.4...v6.5.5\"\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.5 to 5.29.6\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\nUpdates `pypdf` from 6.6.0 to 6.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/py-pdf/pypdf/releases\"\u003epypdf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 6.9.2, 2026-03-23\u003c/h2\u003e\n\u003ch2\u003eWhat's new\u003c/h2\u003e\n\u003ch3\u003eSecurity (SEC)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid infinite loop in read_from_stream for broken files (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3693\"\u003e#3693\u003c/a\u003e) by \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRobustness (ROB)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve UnboundLocalError for xobjs in _get_image (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3684\"\u003e#3684\u003c/a\u003e) by \u003ca href=\"https://github.com/Yuki9814\"\u003e\u003ccode\u003e@​Yuki9814\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/compare/6.9.1...6.9.2\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 6.9.1, 2026-03-17\u003c/h2\u003e\n\u003ch2\u003eWhat's new\u003c/h2\u003e\n\u003ch3\u003eSecurity (SEC)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove performance and limit length of array-based content streams (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3686\"\u003e#3686\u003c/a\u003e) by \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/compare/6.9.0...6.9.1\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 6.9.0, 2026-03-15\u003c/h2\u003e\n\u003ch2\u003eWhat's new\u003c/h2\u003e\n\u003ch3\u003eNew Features (ENH)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpose /Perms verification result on Encryption object (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3672\"\u003e#3672\u003c/a\u003e) by \u003ca href=\"https://github.com/costajohnt\"\u003e\u003ccode\u003e@​costajohnt\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements (PI)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix O(n²) performance in NameObject read/write (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3679\"\u003e#3679\u003c/a\u003e) by \u003ca href=\"https://github.com/dmitry-kostin\"\u003e\u003ccode\u003e@​dmitry-kostin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBatch-parse all objects in ObjStm on first access (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3677\"\u003e#3677\u003c/a\u003e) by \u003ca href=\"https://github.com/dmitry-kostin\"\u003e\u003ccode\u003e@​dmitry-kostin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes (BUG)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid sharing array-based content streams between pages (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3681\"\u003e#3681\u003c/a\u003e) by \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid accessing invalid page when inserting blank page under some conditions (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3529\"\u003e#3529\u003c/a\u003e) by \u003ca href=\"https://github.com/j-t-1\"\u003e\u003ccode\u003e@​j-t-1\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/compare/6.8.0...6.9.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 6.8.0, 2026-03-09\u003c/h2\u003e\n\u003ch2\u003eWhat's new\u003c/h2\u003e\n\u003ch3\u003eSecurity (SEC)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLimit allowed \u003ccode\u003e/Length\u003c/code\u003e value of stream  (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3675\"\u003e#3675\u003c/a\u003e) by \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Features (ENH)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd /IRT (in-reply-to) support for markup annotations (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3631\"\u003e#3631\u003c/a\u003e) by \u003ca href=\"https://github.com/costajohnt\"\u003e\u003ccode\u003e@​costajohnt\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation (DOC)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using \u003ccode\u003ePageObject.replace_contents\u003c/code\u003e on PdfReader (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3669\"\u003e#3669\u003c/a\u003e) by \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument how to disable jbig2dec calls by \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/compare/6.7.5...6.8.0\"\u003eFull Changelog\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/py-pdf/pypdf/blob/main/CHANGELOG.md\"\u003epypdf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 6.9.2, 2026-03-23\u003c/h2\u003e\n\u003ch3\u003eSecurity (SEC)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid infinite loop in read_from_stream for broken files (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3693\"\u003e#3693\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRobustness (ROB)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve UnboundLocalError for xobjs in _get_image (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3684\"\u003e#3684\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/compare/6.9.1...6.9.2\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 6.9.1, 2026-03-17\u003c/h2\u003e\n\u003ch3\u003eSecurity (SEC)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove performance and limit length of array-based content streams (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3686\"\u003e#3686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/compare/6.9.0...6.9.1\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 6.9.0, 2026-03-15\u003c/h2\u003e\n\u003ch3\u003eNew Features (ENH)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpose /Perms verification result on Encryption object (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements (PI)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix O(n²) performance in NameObject read/write (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3679\"\u003e#3679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBatch-parse all objects in ObjStm on first access (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes (BUG)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid sharing array-based content streams between pages (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3681\"\u003e#3681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid accessing invalid page when inserting blank page under some conditions (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3529\"\u003e#3529\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/compare/6.8.0...6.9.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 6.8.0, 2026-03-09\u003c/h2\u003e\n\u003ch3\u003eSecurity (SEC)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLimit allowed \u003ccode\u003e/Length\u003c/code\u003e value of stream  (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Features (ENH)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd /IRT (in-reply-to) support for markup annotations (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3631\"\u003e#3631\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation (DOC)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using \u003ccode\u003ePageObject.replace_contents\u003c/code\u003e on PdfReader (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocument how to disable jbig2dec calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/compare/6.7.5...6.8.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 6.7.5, 2026-03-02\u003c/h2\u003e\n\u003ch3\u003eSecurity (SEC)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the performance of the ASCIIHexDecode filter (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3666\"\u003e#3666\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/py-pdf/pypdf/commit/da867f4961e4ac5ac9d751cba3131c5a1a8777f3\"\u003e\u003ccode\u003eda867f4\u003c/code\u003e\u003c/a\u003e REL: 6.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/commit/02b1345f77fdbc006faccc301507df4fb1855413\"\u003e\u003ccode\u003e02b1345\u003c/code\u003e\u003c/a\u003e SEC: Avoid infinite loop in read_from_stream for broken files (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3693\"\u003e#3693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/commit/3bef3393757d9ab711032cb07019ae3b8132ba42\"\u003e\u003ccode\u003e3bef339\u003c/code\u003e\u003c/a\u003e MAINT: Prefer bytearray over bytes in image_inline (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3692\"\u003e#3692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/commit/04b0a38f56ade7ba8ab9ed2f2b83e86794a036d5\"\u003e\u003ccode\u003e04b0a38\u003c/code\u003e\u003c/a\u003e ROB: Resolve UnboundLocalError for xobjs in _get_image (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3684\"\u003e#3684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/commit/0e5157c2d9440c3594de43ffe27745eb474a2fb9\"\u003e\u003ccode\u003e0e5157c\u003c/code\u003e\u003c/a\u003e REL: 6.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/commit/0b5d05de59a055c132b435ee2375bc32ff04d48e\"\u003e\u003ccode\u003e0b5d05d\u003c/code\u003e\u003c/a\u003e SEC: Improve performance and limit length of array-based content streams (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3686\"\u003e#3686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/commit/87aa1d436b91c055f6ed1a4ed4146567e5db67b3\"\u003e\u003ccode\u003e87aa1d4\u003c/code\u003e\u003c/a\u003e DEV: Remove unused reverse encoding dicts (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3685\"\u003e#3685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/commit/84f526622657d3da2068d5c05c0cba8746aec7b0\"\u003e\u003ccode\u003e84f5266\u003c/code\u003e\u003c/a\u003e MAINT: Use placeholder-based approach for logger_error (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/commit/8f1f4aa8607a1e3b4730d67ca24e6b8f86bf526f\"\u003e\u003ccode\u003e8f1f4aa\u003c/code\u003e\u003c/a\u003e REL: 6.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/commit/5a9a0da71714c4361b38ebdcaf304291569d7a2f\"\u003e\u003ccode\u003e5a9a0da\u003c/code\u003e\u003c/a\u003e BUG: Avoid sharing array-based content streams between pages (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3681\"\u003e#3681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/py-pdf/pypdf/compare/6.6.0...6.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.5 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.5...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `authlib` from 1.6.6 to 1.6.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/authlib/authlib/releases\"\u003eauthlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.9\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.8...v1.6.9\"\u003ehttps://github.com/authlib/authlib/compare/v1.6.8...v1.6.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eChanges in \u003ccode\u003ejose\u003c/code\u003e module\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNot using header's \u003ccode\u003ejwk\u003c/code\u003e automatically\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eES256K\u003c/code\u003e into default jwt algorithms\u003c/li\u003e\n\u003cli\u003eRemove deprecated algorithm from default registry\u003c/li\u003e\n\u003cli\u003eGenerate random \u003ccode\u003ecek\u003c/code\u003e when \u003ccode\u003ecek\u003c/code\u003e length doesn't match\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.8\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.7...v1.6.8\"\u003ehttps://github.com/authlib/authlib/compare/v1.6.7...v1.6.8\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eEdDSA\u003c/code\u003e to default \u003ccode\u003ejwt\u003c/code\u003e instance.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.7\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.6...v1.6.7\"\u003ehttps://github.com/authlib/authlib/compare/v1.6.6...v1.6.7\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eSet supported algorithms for the default \u003ccode\u003ejwt\u003c/code\u003e instance.\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/authlib/authlib/commit/9266eaa2227ad7e21dc731b2a4a01909aabd934b\"\u003e\u003ccode\u003e9266eaa\u003c/code\u003e\u003c/a\u003e chore: release 1.6.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/b9bb2b25bf8b7e01512d847a95c1749646eaa72b\"\u003e\u003ccode\u003eb9bb2b2\u003c/code\u003e\u003c/a\u003e fix(oidc): fail close at validating c_hash and at_hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/1b0a1d988842bff7347c4ec0a70e45c3ba55504e\"\u003e\u003ccode\u003e1b0a1d9\u003c/code\u003e\u003c/a\u003e fix(jose): generate random cek when cek length doesn't match\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/5be3c518794b7322375bae2bf1871713d9b5c2fb\"\u003e\u003ccode\u003e5be3c51\u003c/code\u003e\u003c/a\u003e fix(jose): add ES256K into default jwt algorithms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/48b345f29f6c459f11c6a40162b6c0b742ef2e22\"\u003e\u003ccode\u003e48b345f\u003c/code\u003e\u003c/a\u003e fix(jose): remove deprecated algorithm from default registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/a5d4b2d4c9e46bfa11c82f85fdc2bcc0b50ae681\"\u003e\u003ccode\u003ea5d4b2d\u003c/code\u003e\u003c/a\u003e fix(jose): do not use header's jwk automatically\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/a769f343ae8d43236448e3e74445980861812e82\"\u003e\u003ccode\u003ea769f34\u003c/code\u003e\u003c/a\u003e chore: release 1.6.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/84f3fa2965a189c16528329e8cfe41d094008588\"\u003e\u003ccode\u003e84f3fa2\u003c/code\u003e\u003c/a\u003e fix: add EdDSA to default jwt algorithms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/38e872a3f5b97d2658507acc8762a4e18adaa50e\"\u003e\u003ccode\u003e38e872a\u003c/code\u003e\u003c/a\u003e chore: release 1.6.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/b87c32ed07b8ae7f805873e1c9cafd1016761df7\"\u003e\u003ccode\u003eb87c32e\u003c/code\u003e\u003c/a\u003e fix: remove \u0026quot;none\u0026quot; algorithm from default jwt instance\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.6...v1.6.9\"\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.3 to 46.0.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.6 - 2026-03-25\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **SECURITY ISSUE**: Fixed a bug where name constraints were not applied\n  to peer names during verification when the leaf certificate contains a\n  wildcard DNS SAN. Ordinary X.509 topologies are not affected by this bug,\n  including those used by the Web PKI. Credit to **Oleh Konko (1seal)** for\n  reporting the issue. **CVE-2026-34073**\n\u003cp\u003e.. _v46-0-5:\u003c/p\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAn attacker could create a malicious public key that reveals portions of your\nprivate key when using certain uncommon elliptic curves (binary curves).\nThis version now includes additional security checks to prevent this attack.\nThis issue only affects binary elliptic curves, which are rarely used in\nreal-world applications. Credit to \u003cstrong\u003eXlabAI Team of Tencent Xuanwu Lab and\nAtuin Automated Vulnerability Discovery Engine\u003c/strong\u003e for reporting the issue.\n\u003cstrong\u003eCVE-2026-26007\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003eSECT*\u003c/code\u003e binary elliptic curves is deprecated and will be\nremoved in the next release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* `Dropped support for win_arm64 wheels`_.\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\n\u003cp\u003e.. _v46-0-3:\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\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyca/cryptography/compare/46.0.3...46.0.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.1.2 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\u003c/blockquote\u003e\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\u003c/blockquote\u003e\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.1.2...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\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 `nltk` from 3.9.2 to 3.9.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nltk/nltk/blob/develop/ChangeLog\"\u003enltk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion 3.9.4 2026-03-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14\u003c/li\u003e\n\u003cli\u003eFix bug in Levenshtein distance when substitution_cost \u0026gt; 2\u003c/li\u003e\n\u003cli\u003eFix bug in Treebank detokeniser re quote ordering\u003c/li\u003e\n\u003cli\u003eFix bug in Jaro similarity for empty strings\u003c/li\u003e\n\u003cli\u003eSeveral security enhancements\u003c/li\u003e\n\u003cli\u003eFix GHSA-rf74-v2fm-23pw: unbounded recursion in JSONTaggedDecoder\u003c/li\u003e\n\u003cli\u003eImplement TextTiling vocabulary introduction method (Hearst 1997)\u003c/li\u003e\n\u003cli\u003eFix ALINE feature matrix errors and add comprehensive tests\u003c/li\u003e\n\u003cli\u003eSupport multiple VerbNet versions, fix longid/shortid regex for VerbNet ids\u003c/li\u003e\n\u003cli\u003eLet downloader fallback to md5 when sha256 is unavailable\u003c/li\u003e\n\u003cli\u003eSeveral other minor bugfixes and code cleanups\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to the following contributors to 3.9.4:\nMin-Yen Kan, Eric Kafe, Emily Voss, bowiechen, Hrudhai01,\njancallewaert, Mr-Neutr0n, pollak.peter89, ylwango613,\u003c/p\u003e\n\u003cp\u003eVersion 3.9.3 2026-02-21\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix CVE-2025-14009: secure ZIP extraction in nltk.downloader (\u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3468\"\u003e#3468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBlock path traversal/arbitrary reads in nltk.data for protocol-less refs (\u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3467\"\u003e#3467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBlock path traversal/abs paths in corpus readers and FS pointers (\u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3479\"\u003e#3479\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3480\"\u003e#3480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate external StanfordSegmenter JARs using SHA256 (\u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3477\"\u003e#3477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd optional sandbox enforcement for filestring() (\u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3485\"\u003e#3485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMaintenance: downloader/zipped models, CI/tooling updates\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to the following contributors to 3.9.3:\nChris Clauss, Eric Kafe, HyperPS, purificant, Shivansh-Game, Christopher Smith\u003c/p\u003e\n\u003cp\u003eVersion 3.9.2 2025-10-01\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate download checksums to use SHA256 in built index\u003c/li\u003e\n\u003cli\u003eFix percentage escape in new-style string formatting\u003c/li\u003e\n\u003cli\u003ereplace shortened URLs using goo.gl\u003c/li\u003e\n\u003cli\u003eMake Wordnet interoperable with various taggers and tagged corpora\u003c/li\u003e\n\u003cli\u003eFix saving PerceptronTagger\u003c/li\u003e\n\u003cli\u003eDocument how to reproduce old Wordnet studies\u003c/li\u003e\n\u003cli\u003eproperly initialize Portuguese corpus reader\u003c/li\u003e\n\u003cli\u003esupport for mixed rules conversion into Chomsky Normal Form\u003c/li\u003e\n\u003cli\u003eonly import tkinter if a GUI is needed\u003c/li\u003e\n\u003cli\u003eissue \u003ca href=\"https://redirect.github.com/nltk/nltk/issues/2112\"\u003e#2112\u003c/a\u003e with Corenlp\u003c/li\u003e\n\u003cli\u003enew environment variable NLTK_DOWNLOADER_FORCE_INTERACTIVE_SHELL\u003c/li\u003e\n\u003cli\u003eLesk defaults to most frequent sense in case of ties\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to the following contributors to 3.9.2:\nJose Cols, Peter de Blanc, GeneralPoxter, Eric Kafe, William LaCroix, Jason Liu,\nSamer Masterson, Mike014, purificant, Andrew Ernest Ritz, samertm, Ikram Ul Haq,\nChristopher Smith, Ryan Mannion\u003c/p\u003e\n\u003cp\u003eVersion 3.9.1 2024-08-19\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/nltk/nltk/commit/ad9c96ba00a16923ffe917eacf63f1707bfa2d08\"\u003e\u003ccode\u003ead9c96b\u003c/code\u003e\u003c/a\u003e Update copyright year\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nltk/nltk/commit/7edcddfda566627b897397397cc4d10ae91cb86d\"\u003e\u003ccode\u003e7edcddf\u003c/code\u003e\u003c/a\u003e Updates for 3.9.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nltk/nltk/commit/67a2736f89b286b028db08bd247134f17a11fc6b\"\u003e\u003ccode\u003e67a2736\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3180\"\u003e#3180\u003c/a\u003e from yzhaoinuw/bug-on-edit_distance_align\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nltk/nltk/commit/2b17ac5358a1c8d4b97455766efde0b786e6cdb2\"\u003e\u003ccode\u003e2b17ac5\u003c/code\u003e\u003c/a\u003e Fix edit_distance_align backtrace for high substitution costs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nltk/nltk/commit/4b72976a6ff3d180ed4012f11843e611a8f89516\"\u003e\u003ccode\u003e4b72976\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3018\"\u003e#3018\u003c/a\u003e from JuanIMartinezB/bug/shortid-longid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nltk/nltk/commit/8a5619f53a281149e5342b1a00fe05fe2fc6517f\"\u003e\u003ccode\u003e8a5619f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3222\"\u003e#3222\u003c/a\u003e from Syzygy2048/feature/texttiling-vocabulary-introd...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nltk/nltk/commit/c6574d755e02b6163d9cd1d0b407076940e08864\"\u003e\u003ccode\u003ec6574d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3289\"\u003e#3289\u003c/a\u003e from ihitamandal/codeflash/optimize-windowdiff-2024-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nltk/nltk/commit/98ff5d9eaa1a81511873b9aef857944519c28dc4\"\u003e\u003ccode\u003e98ff5d9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3435\"\u003e#3435\u003c/a\u003e from Hrudhai01/fix-3260-detokenize-quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nltk/nltk/commit/aec4fce1b84ad725b8975f7365b23a4f626572a9\"\u003e\u003ccode\u003eaec4fce\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3522\"\u003e#3522\u003c/a\u003e from ekaf/pathsec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nltk/nltk/commit/eec4ee3591cb9cb8b8c2989f08012608c841d532\"\u003e\u003ccode\u003eeec4ee3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3526\"\u003e#3526\u003c/a\u003e from nltk/update-contributing\u003c/li\u003e\n\u003cli\u003eAdditional commits ...\n\n_Description has been truncated_","html_url":"https://github.com/leoneconsultingch/OpenHands/pull/25","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/leoneconsultingch%2FOpenHands/issues/25","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/25/packages"},{"uuid":"4182552737","node_id":"PR_kwDOQnuBaM7PEyDi","number":87,"state":"closed","title":"chore(deps): bump the python-dependencies group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-02T21:50:37.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-31T21:42:36.000Z","updated_at":"2026-04-02T21:50:38.000Z","time_to_close":173281,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-dependencies","update_count":24,"packages":[{"name":"anthropic","old_version":"0.83.0","new_version":"0.87.0","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"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":"build","old_version":"1.4.0","new_version":"1.4.2","repository_url":"https://github.com/pypa/build"},{"name":"certifi","old_version":"2026.1.4","new_version":"2026.2.25","repository_url":"https://github.com/certifi/python-certifi"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.6","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"coverage","old_version":"7.13.4","new_version":"7.13.5","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"jsonpointer","old_version":"3.0.0","new_version":"3.1.1","repository_url":"https://github.com/stefankoegl/python-json-pointer"},{"name":"langchain-anthropic","old_version":"1.3.3","new_version":"1.4.0","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-core","old_version":"1.2.22","new_version":"1.2.23","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-openai","old_version":"1.1.10","new_version":"1.1.12","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langsmith","old_version":"0.7.6","new_version":"0.7.23","repository_url":"https://github.com/langchain-ai/langsmith-sdk"},{"name":"mypy","old_version":"1.19.1","new_version":"1.20.0","repository_url":"https://github.com/python/mypy"},{"name":"openai","old_version":"2.21.0","new_version":"2.30.0","repository_url":"https://github.com/openai/openai-python"},{"name":"orjson","old_version":"3.11.7","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.45.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pyjwt","old_version":"2.12.0","new_version":"2.12.1","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pytest-cov","old_version":"7.0.0","new_version":"7.1.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"python-dotenv","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"regex","old_version":"2026.2.19","new_version":"2026.3.32","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"requests","old_version":"2.33.0","new_version":"2.33.1","repository_url":"https://github.com/psf/requests"},{"name":"sse-starlette","old_version":"3.2.0","new_version":"3.3.4","repository_url":"https://github.com/sysid/sse-starlette"},{"name":"starlette","old_version":"0.52.1","new_version":"1.0.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"uvicorn","old_version":"0.41.0","new_version":"0.42.0","repository_url":"https://github.com/Kludex/uvicorn"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 24 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.83.0` | `0.87.0` |\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| [build](https://github.com/pypa/build) | `1.4.0` | `1.4.2` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.2.25` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.6` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.4` | `7.13.5` |\n| [jsonpointer](https://github.com/stefankoegl/python-json-pointer) | `3.0.0` | `3.1.1` |\n| [langchain-anthropic](https://github.com/langchain-ai/langchain) | `1.3.3` | `1.4.0` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `1.2.22` | `1.2.23` |\n| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.1.10` | `1.1.12` |\n| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.7.6` | `0.7.23` |\n| [mypy](https://github.com/python/mypy) | `1.19.1` | `1.20.0` |\n| [openai](https://github.com/openai/openai-python) | `2.21.0` | `2.30.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.7` | `3.11.8` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.45.0` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.12.0` | `2.12.1` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `7.0.0` | `7.1.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2026.2.19` | `2026.3.32` |\n| [requests](https://github.com/psf/requests) | `2.33.0` | `2.33.1` |\n| [sse-starlette](https://github.com/sysid/sse-starlette) | `3.2.0` | `3.3.4` |\n| [starlette](https://github.com/Kludex/starlette) | `0.52.1` | `1.0.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.41.0` | `0.42.0` |\n\n\nUpdates `anthropic` from 0.83.0 to 0.87.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.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\u003ch2\u003ev0.86.0\u003c/h2\u003e\n\u003ch2\u003e0.86.0 (2026-03-18)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.85.0...v0.86.0\"\u003ev0.85.0...v0.86.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd support for filesystem memory tools (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1247\"\u003e#1247\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/235d218211ac4b8f1aa37e29bedc998bfb6ce77d\"\u003e235d218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/86dbe4aa58386bfb8d1497debf342e929e9bb5e5\"\u003e86dbe4a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/45d9cc0914200a43743ab11aa311392e9d8c1b4f\"\u003e45d9cc0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAsyncAnthropic._make_status_error missing 529 and 413 cases (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1244\"\u003e#1244\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/05220bc1c1079fe01f5c4babc007ec7a990859d9\"\u003e05220bc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e bump minimum typing-extensions version (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/09ab112289815ba6f19d8fb3da1e715748182799\"\u003e09ab112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epydantic:\u003c/strong\u003e do not pass \u003ccode\u003eby_alias\u003c/code\u003e unless set (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/b17480e9d06613aa597dd40d5a47f4f1250ac762\"\u003eb17480e\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/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.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\u003ch2\u003e0.86.0 (2026-03-18)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.85.0...v0.86.0\"\u003ev0.85.0...v0.86.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd support for filesystem memory tools (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1247\"\u003e#1247\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/235d218211ac4b8f1aa37e29bedc998bfb6ce77d\"\u003e235d218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/86dbe4aa58386bfb8d1497debf342e929e9bb5e5\"\u003e86dbe4a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/45d9cc0914200a43743ab11aa311392e9d8c1b4f\"\u003e45d9cc0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAsyncAnthropic._make_status_error missing 529 and 413 cases (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1244\"\u003e#1244\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/05220bc1c1079fe01f5c4babc007ec7a990859d9\"\u003e05220bc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e bump minimum typing-extensions version (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/09ab112289815ba6f19d8fb3da1e715748182799\"\u003e09ab112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epydantic:\u003c/strong\u003e do not pass \u003ccode\u003eby_alias\u003c/code\u003e unless set (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/b17480e9d06613aa597dd40d5a47f4f1250ac762\"\u003eb17480e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/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\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/3b77b826ce402881bcb2a43092e758368fccc99a\"\u003e\u003ccode\u003e3b77b82\u003c/code\u003e\u003c/a\u003e chore(ci): run builds on CI even if only spec metadata changed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/764ddbab9bcd6c4e076bf2618d4930e5b39cfb7c\"\u003e\u003ccode\u003e764ddba\u003c/code\u003e\u003c/a\u003e feat(internal): implement indices array format for query and form serialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/8a06a905bb89bf8126e552d951270fe90869bc1d\"\u003e\u003ccode\u003e8a06a90\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7f8cf3c4c0c7a601847538364f6eccf00e72a2c4\"\u003e\u003ccode\u003e7f8cf3c\u003c/code\u003e\u003c/a\u003e chore(tests): bump steady to v0.19.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/0eba0dd8f9590254b91eaadb79e44b792d56d85b\"\u003e\u003ccode\u003e0eba0dd\u003c/code\u003e\u003c/a\u003e chore(ci): skip lint on metadata-only changes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.83.0...v0.87.0\"\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://redirect.github.com/agronholm/anyio/issues/1097\"\u003e#1097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/602f6606dcf3f37702686a4f3e161328c537b07f\"\u003e\u003ccode\u003e602f660\u003c/code\u003e\u003c/a\u003e Widened type annotations to accept IO[bytes] in file streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/b5dcd45170701a756ba634197398f05d4710cab3\"\u003e\u003ccode\u003eb5dcd45\u003c/code\u003e\u003c/a\u003e Added note about erasing the template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/d68670b3b4e0917d4caff2de082e03220f3e05a1\"\u003e\u003ccode\u003ed68670b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1090\"\u003e#1090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/fc17a22dd948e6a3d90d99908813f0010dfc3d2c\"\u003e\u003ccode\u003efc17a22\u003c/code\u003e\u003c/a\u003e tweak to_thread docs about abandon_on_cancel (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1088\"\u003e#1088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.12.1...4.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `attrs` from 25.4.0 to 26.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-attrs/attrs/releases\"\u003eattrs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.1.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cp\u003eThe main outward change here only affects people using field transformers, but it should be a nice quality of life improvement!\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFull changelog below!\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eSpecial Thanks\u003c/h2\u003e\n\u003cp\u003eThis release would not be possible without my generous sponsors! Thank you to all of you making sustainable maintenance possible! If \u003cem\u003eyou\u003c/em\u003e would like to join them, go to \u003ca href=\"https://github.com/sponsors/hynek\"\u003ehttps://github.com/sponsors/hynek\u003c/a\u003e and check out the sweet perks!\u003c/p\u003e\n\u003ch3\u003eAbove and Beyond\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://www.variomedia.de/\"\u003eVariomedia AG\u003c/a\u003e (@\u003ca href=\"https://github.com/variomedia\"\u003evariomedia\u003c/a\u003e), \u003ca href=\"https://www.tidelift.com/\"\u003eTidelift\u003c/a\u003e (@\u003ca href=\"https://github.com/tidelift\"\u003etidelift\u003c/a\u003e), \u003ca href=\"https://kraken.tech\"\u003eKraken Tech\u003c/a\u003e (@\u003ca href=\"https://github.com/kraken-tech\"\u003ekraken-tech\u003c/a\u003e), \u003ca href=\"https://privacy-solutions.org\"\u003ePrivacy Solutions GmbH\u003c/a\u003e (@\u003ca href=\"https://github.com/privacy-solutions\"\u003eprivacy-solutions\u003c/a\u003e), \u003ca href=\"http://filepreviews.io/\"\u003eFilePreviews\u003c/a\u003e (@\u003ca href=\"https://github.com/filepreviews\"\u003efilepreviews\u003c/a\u003e), \u003ca href=\"https://ecosyste.ms\"\u003eEcosystems\u003c/a\u003e (@\u003ca href=\"https://github.com/ecosyste-ms\"\u003eecosyste-ms\u003c/a\u003e), \u003ca href=\"https://www.lambdatest.com\"\u003eTestMu AI Open Source Office (Formerly LambdaTest)\u003c/a\u003e (@\u003ca href=\"https://github.com/LambdaTest-Inc\"\u003eLambdaTest-Inc\u003c/a\u003e), \u003ca href=\"https://doist.com/\"\u003eDoist\u003c/a\u003e (@\u003ca href=\"https://github.com/Doist\"\u003eDoist\u003c/a\u003e), Daniel Fortunov (@\u003ca href=\"https://github.com/asqui\"\u003easqui\u003c/a\u003e), and Kevin P. Fleming (@\u003ca href=\"https://github.com/kpfleming\"\u003ekpfleming\u003c/a\u003e).\u003c/p\u003e\n\u003ch3\u003eMaintenance Sustainers\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://buttondown.com\"\u003eButtondown\u003c/a\u003e (@\u003ca href=\"https://github.com/buttondown\"\u003ebuttondown\u003c/a\u003e), \u003ca href=\"https://christopher.xyz\"\u003eChristopher Dignam\u003c/a\u003e (@\u003ca href=\"https://github.com/chdsbd\"\u003echdsbd\u003c/a\u003e), Magnus Watn (@\u003ca href=\"https://github.com/magnuswatn\"\u003emagnuswatn\u003c/a\u003e), \u003ca href=\"https://cra.mr\"\u003eDavid Cramer\u003c/a\u003e (@\u003ca href=\"https://github.com/dcramer\"\u003edcramer\u003c/a\u003e), \u003ca href=\"https://rivolaks.com\"\u003eRivo Laks\u003c/a\u003e (@\u003ca href=\"https://github.com/rivol\"\u003erivol\u003c/a\u003e), \u003ca href=\"https://polar.sh\"\u003ePolar\u003c/a\u003e (@\u003ca href=\"https://github.com/polarsource\"\u003epolarsource\u003c/a\u003e), \u003ca href=\"https://miketheman.dev\"\u003eMike Fiedler\u003c/a\u003e (@\u003ca href=\"https://github.com/miketheman\"\u003emiketheman\u003c/a\u003e), Duncan Hill (@\u003ca href=\"https://github.com/cricalix\"\u003ecricalix\u003c/a\u003e), Colin Marquardt (@\u003ca href=\"https://github.com/cmarqu\"\u003ecmarqu\u003c/a\u003e), \u003ca href=\"https://blog.journeythatcounts.nl\"\u003ePieter Swinkels\u003c/a\u003e (@\u003ca href=\"https://github.com/swinkels\"\u003eswinkels\u003c/a\u003e), Nick Libertini (@\u003ca href=\"https://github.com/libertininick\"\u003elibertininick\u003c/a\u003e), \u003ca href=\"https://bmdphd.info/\"\u003eBrian M. Dennis\u003c/a\u003e (@\u003ca href=\"https://github.com/crossjam\"\u003ecrossjam\u003c/a\u003e), Celebrity News AG (@\u003ca href=\"https://github.com/celebritynewsag\"\u003ecelebritynewsag\u003c/a\u003e), \u003ca href=\"https://westervelt.com\"\u003eThe Westervelt Company\u003c/a\u003e (@\u003ca href=\"https://github.com/westerveltco\"\u003ewesterveltco\u003c/a\u003e), \u003ca href=\"https://slafs.net\"\u003eSławomir Ehlert\u003c/a\u003e (@\u003ca href=\"https://github.com/slafs\"\u003eslafs\u003c/a\u003e), Mostafa Khalil (@\u003ca href=\"https://github.com/khadrawy\"\u003ekhadrawy\u003c/a\u003e), \u003ca href=\"https://fmularczyk.pl\"\u003eFilip Mularczyk\u003c/a\u003e (@\u003ca href=\"https://github.com/mukiblejlok\"\u003emukiblejlok\u003c/a\u003e), Thomas Klinger (@\u003ca href=\"https://github.com/thmsklngr\"\u003ethmsklngr\u003c/a\u003e), \u003ca href=\"https://poehlmann.io\"\u003eAndreas Poehlmann\u003c/a\u003e (@\u003ca href=\"https://github.com/ap--\"\u003eap--\u003c/a\u003e), \u003ca href=\"https://atbigelow.com\"\u003eAugust Trapper Bigelow\u003c/a\u003e (@\u003ca href=\"https://github.com/atbigelow\"\u003eatbigelow\u003c/a\u003e), \u003ca href=\"https://noumenal.es/\"\u003eCarlton Gibson\u003c/a\u003e (@\u003ca href=\"https://github.com/carltongibson\"\u003ecarltongibson\u003c/a\u003e), and \u003ca href=\"https://roboflow.com\"\u003eRoboflow\u003c/a\u003e (@\u003ca href=\"https://github.com/roboflow\"\u003eroboflow\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eFull Changelog\u003c/h2\u003e\n\u003ch3\u003eBackwards-incompatible Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eField aliases are now resolved \u003cem\u003ebefore\u003c/em\u003e calling \u003ccode\u003efield_transformer\u003c/code\u003e, so transformers receive fully populated \u003ccode\u003eAttribute\u003c/code\u003e objects with usable \u003ccode\u003ealias\u003c/code\u003e values instead of \u003ccode\u003eNone\u003c/code\u003e. The new \u003ccode\u003eAttribute.alias_is_default\u003c/code\u003e flag indicates whether the alias was auto-generated (\u003ccode\u003eTrue\u003c/code\u003e) or explicitly set by the user (\u003ccode\u003eFalse\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1509\"\u003e#1509\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix type annotations for \u003ccode\u003eattrs.validators.optional()\u003c/code\u003e, so it no longer rejects tuples with more than one validator. \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eattrs.validators.disabled()\u003c/code\u003e contextmanager can now be nested. \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1513\"\u003e#1513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFrozen classes can set \u003ccode\u003eon_setattr=attrs.setters.NO_OP\u003c/code\u003e in addition to \u003ccode\u003eNone\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIt's now possible to pass \u003cem\u003eattrs\u003c/em\u003e \u003cstrong\u003einstances\u003c/strong\u003e in addition to \u003cem\u003eattrs\u003c/em\u003e \u003cstrong\u003eclasses\u003c/strong\u003e to \u003ccode\u003eattrs.fields()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1529\"\u003e#1529\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release contains contributions from \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/DavidCEllis\"\u003e\u003ccode\u003e@​DavidCEllis\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/finite-state-machine\"\u003e\u003ccode\u003e@​finite-state-machine\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/hynek\"\u003e\u003ccode\u003e@​hynek\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/vstinner\"\u003e\u003ccode\u003e@​vstinner\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eArtifact Attestations\u003c/h2\u003e\n\u003cp\u003eYou can verify this release's \u003ca href=\"https://docs.github.com/en/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds\"\u003eartifact attestions\u003c/a\u003e using \u003ca href=\"https://cli.github.com\"\u003eGitHub's CLI tool\u003c/a\u003e by downloading the sdist and wheel from \u003ca href=\"https://pypi.org/project/attrs\"\u003ePyPI\u003c/a\u003e and running:\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003e$ gh attestation verify --owner python-attrs attrs-26.1.0.tar.gz\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-attrs/attrs/blob/main/CHANGELOG.md\"\u003eattrs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/python-attrs/attrs/tree/26.1.0\"\u003e26.1.0\u003c/a\u003e - 2026-03-19\u003c/h2\u003e\n\u003ch3\u003eBackwards-incompatible Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eField aliases are now resolved \u003cem\u003ebefore\u003c/em\u003e calling \u003ccode\u003efield_transformer\u003c/code\u003e, so transformers receive fully populated \u003ccode\u003eAttribute\u003c/code\u003e objects with usable \u003ccode\u003ealias\u003c/code\u003e values instead of \u003ccode\u003eNone\u003c/code\u003e.\nThe new \u003ccode\u003eAttribute.alias_is_default\u003c/code\u003e flag indicates whether the alias was auto-generated (\u003ccode\u003eTrue\u003c/code\u003e) or explicitly set by the user (\u003ccode\u003eFalse\u003c/code\u003e).\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1509\"\u003e#1509\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix type annotations for \u003ccode\u003eattrs.validators.optional()\u003c/code\u003e, so it no longer rejects tuples with more than one validator.\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eattrs.validators.disabled()\u003c/code\u003e contextmanager can now be nested.\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1513\"\u003e#1513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFrozen classes can set \u003ccode\u003eon_setattr=attrs.setters.NO_OP\u003c/code\u003e in addition to \u003ccode\u003eNone\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIt's now possible to pass \u003cem\u003eattrs\u003c/em\u003e \u003cstrong\u003einstances\u003c/strong\u003e in addition to \u003cem\u003eattrs\u003c/em\u003e \u003cstrong\u003eclasses\u003c/strong\u003e to \u003ccode\u003eattrs.fields()\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1529\"\u003e#1529\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/python-attrs/attrs/commit/7bfc49e9b22d5ba25b6e429524c3d49fee27cb36\"\u003e\u003ccode\u003e7bfc49e\u003c/code\u003e\u003c/a\u003e Prepare 26.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/31e02869da10824b492c378c1dc87ccc720ee5ad\"\u003e\u003ccode\u003e31e0286\u003c/code\u003e\u003c/a\u003e Update test_validators.py for Python 3.15a7 (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1530\"\u003e#1530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/48b8611c27779811d161200e17de8da24aae7feb\"\u003e\u003ccode\u003e48b8611\u003c/code\u003e\u003c/a\u003e Add instance support to attrs.fields() (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1529\"\u003e#1529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/3a68d4913221abc6f8ad3be50937f7ae49300a98\"\u003e\u003ccode\u003e3a68d49\u003c/code\u003e\u003c/a\u003e dev: document missing git tags failure mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/a572c3a4c558a8b9b48cf989fcd956ab1a279439\"\u003e\u003ccode\u003ea572c3a\u003c/code\u003e\u003c/a\u003e Allow field(on_setattr=NO_OP) on frozen classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/af9c510912ce604a94896cc35c27368d5baf6ae6\"\u003e\u003ccode\u003eaf9c510\u003c/code\u003e\u003c/a\u003e Fix validators.disabled() to save/restore state on nesting (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1513\"\u003e#1513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/ab7f8b2f4c0f747d5b1575247ce35e5adaad182e\"\u003e\u003ccode\u003eab7f8b2\u003c/code\u003e\u003c/a\u003e update dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/ce89f5d11feb0805da9ed10bb165238cc959f1bb\"\u003e\u003ccode\u003ece89f5d\u003c/code\u003e\u003c/a\u003e Fix message passing in frozen errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/eccd966d80aff5196efc959316961cfa780439f9\"\u003e\u003ccode\u003eeccd966\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eoptional\u003c/code\u003e validator to accept tuples of len \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/e92fe52dfe1eb07167e6473724c5a8ada978add0\"\u003e\u003ccode\u003ee92fe52\u003c/code\u003e\u003c/a\u003e policies: tighten screws (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1528\"\u003e#1528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-attrs/attrs/compare/25.4.0...26.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `build` from 1.4.0 to 1.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/releases\"\u003ebuild's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(uv): always pass the python to use by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/996\"\u003epypa/build#996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(release): detect pre-commit environment inconsistencies by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1001\"\u003epypa/build#1001\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🔧 fix(towncrier): match docstrfmt RST formatting expectations by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1002\"\u003epypa/build#1002\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix _has_valid_outer_pip when pip is missing by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1003\"\u003epypa/build#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: release changelog issue by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1006\"\u003epypa/build#1006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1003\"\u003epypa/build#1003\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/build/compare/1.4.1...1.4.2\"\u003ehttps://github.com/pypa/build/compare/1.4.1...1.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.4.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix documentation grammar and typos by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/979\"\u003epypa/build#979\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow setting build constraints by \u003ca href=\"https://github.com/layday\"\u003e\u003ccode\u003e@​layday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/963\"\u003epypa/build#963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: pip hack workaround by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/980\"\u003epypa/build#980\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 docs: reorganize using Diataxis framework by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/988\"\u003epypa/build#988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(ci): automate releases and harden workflows by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/991\"\u003epypa/build#991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: avoid template injection zizmor issue by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/994\"\u003epypa/build#994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix PR template by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/995\"\u003epypa/build#995\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix fix job by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/997\"\u003epypa/build#997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(ci): resolve pre-release auth failure and change detection by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/999\"\u003epypa/build#999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(deps): add pre-commit to release dependency group by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1000\"\u003epypa/build#1000\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/build/compare/1.4.0...1.4.1\"\u003ehttps://github.com/pypa/build/compare/1.4.0...1.4.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/blob/main/CHANGELOG.rst\"\u003ebuild's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e####################\n1.4.2 (2026-03-25)\n####################\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure the \u003ccode\u003euv\u003c/code\u003e installer uses the current version of Python, avoiding an issue if \u003ccode\u003eUV_PYTHON\u003c/code\u003e is set, for\nexample. (:issue:\u003ccode\u003e977\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e_has_valid_outer_pip\u003c/code\u003e returning \u003ccode\u003eTrue\u003c/code\u003e when pip is missing, causing build to try using a non-existent pip\ninstead of falling back to virtualenv. (:issue:\u003ccode\u003e1003\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e####################\n1.4.1 (2026-03-24)\n####################\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eAllow setting build constraints - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e963\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAutomate releases with pre-release workflow and trusted publishing - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e991\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eDocumentation\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eFix documentation grammar and typos (:issue:\u003ccode\u003e979\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eReorganize documentation using Diataxis framework - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e988\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDocument release process and workflow security practices in contributing guide (:issue:\u003ccode\u003e991\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMiscellaneous\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e:issue:\u003ccode\u003e991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eFix pip hack workaround - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e980\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e####################\n1.4.0 (2026-01-08)\n####################\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag (:pr:\u003ccode\u003e947\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e (:pr:\u003ccode\u003e940\u003c/code\u003e, :pr:\u003ccode\u003e943\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/7b7ae078aa1dabff33ea72d07ed15dd298acf80a\"\u003e\u003ccode\u003e7b7ae07\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/17f3b57c7cde11a9785b3164d7b92237846c56ce\"\u003e\u003ccode\u003e17f3b57\u003c/code\u003e\u003c/a\u003e fix: release changelog issue (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1006\"\u003e#1006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/b9457525a02bb4de40c59a39a092306a03e3a24d\"\u003e\u003ccode\u003eb945752\u003c/code\u003e\u003c/a\u003e fix: _has_valid_outer_pip when pip is missing (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1003\"\u003e#1003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/74ae997a9a227303f7d02bf4b226922c7ba4efd1\"\u003e\u003ccode\u003e74ae997\u003c/code\u003e\u003c/a\u003e 🔧 fix(towncrier): match docstrfmt RST formatting expectations (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/378692921af6501596572bfc068420391c744ca8\"\u003e\u003ccode\u003e3786929\u003c/code\u003e\u003c/a\u003e 🐛 fix(release): detect pre-commit environment inconsistencies (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1001\"\u003e#1001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/737bdb784406ab966ba666446e79c9e19bdfe237\"\u003e\u003ccode\u003e737bdb7\u003c/code\u003e\u003c/a\u003e fix(uv): always pass the python to use (\u003ca href=\"https://redirect.github.com/pypa/build/issues/996\"\u003e#996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/bd889569a1b9e2e7722682378c2d0cec469166a2\"\u003e\u003ccode\u003ebd88956\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/062e7e2caa1a33cfad8b6fe4740c5aa41d384bdc\"\u003e\u003ccode\u003e062e7e2\u003c/code\u003e\u003c/a\u003e 🐛 fix(deps): add pre-commit to release dependency group (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1000\"\u003e#1000\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/3d8e260f635febc10b5e9cd0e5402746deeb6dcd\"\u003e\u003ccode\u003e3d8e260\u003c/code\u003e\u003c/a\u003e 🐛 fix(ci): resolve pre-release auth failure and change detection (\u003ca href=\"https://redirect.github.com/pypa/build/issues/999\"\u003e#999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/f2a26104d4fd6d13fdb75a29fd067ee80271f497\"\u003e\u003ccode\u003ef2a2610\u003c/code\u003e\u003c/a\u003e chore: fix fix job (\u003ca href=\"https://redirect.github.com/pypa/build/issues/997\"\u003e#997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/build/compare/1.4.0...1.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2026.1.4 to 2026.2.25\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/8571a4ba5205675107f9026d0008ad2d7a2778bf\"\u003e\u003ccode\u003e8571a4b\u003c/code\u003e\u003c/a\u003e 2026.02.25 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6f7de00579d292af565bbb8a947643219794eb6d\"\u003e\u003ccode\u003e6f7de00\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/390\"\u003e#390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a1de59b15105cad768afed4f066b36171134f04a\"\u003e\u003ccode\u003ea1de59b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/7f5ade5d8da615fd366e8de6a668271251c45d34\"\u003e\u003ccode\u003e7f5ade5\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.1.0 to 6.2.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.01.04...2026.02.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `charset-normalizer` from 3.4.4 to 3.4.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/releases\"\u003echarset-normalizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.4.6\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.5...3.4.6\"\u003e3.4.6\u003c/a\u003e (2026-03-15)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlattened the logic in \u003ccode\u003echarset_normalizer.md\u003c/code\u003e for higher performance. Removed \u003ccode\u003eeligible(..)\u003c/code\u003e and \u003ccode\u003efeed(...)\u003c/code\u003e\nin favor of \u003ccode\u003efeed_info(...)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound for mypy[c] to 1.20, for our optimized version.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eUNICODE_RANGES_COMBINED\u003c/code\u003e using Unicode blocks v17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEdge case where noise difference between two candidates can be almost insignificant. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCLI \u003ccode\u003e--normalize\u003c/code\u003e writing to wrong path when passing multiple files in. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/702\"\u003e#702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFreethreaded pre-built wheels now shipped in PyPI starting with 3.14t. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.5\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.4...3.4.5\"\u003e3.4.5\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=82\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.19.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd explicit link to lib math in our optimized build. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLogger level not restored correctly for empty byte sequences. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/701\"\u003e#701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypeError when passing bytearray to from_bytes. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/703\"\u003e#703\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApplied safe micro-optimizations in both our noise detector and language detector.\u003c/li\u003e\n\u003cli\u003eRewrote the \u003ccode\u003equery_yes_no\u003c/code\u003e function (inside CLI) to avoid using ambiguous licensed code.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecd.py\u003c/code\u003e submodule into mypyc optional compilation to reduce further the performance impact.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003cbr /\u003e\nmypyc changed the usual binary output for the optimized wheel. Beware, especially if using PyInstaller or alike. See \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/714\"\u003ejawah/charset_normalizer#714\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md\"\u003echarset-normalizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.5...3.4.6\"\u003e3.4.6\u003c/a\u003e (2026-03-15)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlattened the logic in \u003ccode\u003echarset_normalizer.md\u003c/code\u003e for higher performance. Removed \u003ccode\u003eeligible(..)\u003c/code\u003e and \u003ccode\u003efeed(...)\u003c/code\u003e\nin favor of \u003ccode\u003efeed_info(...)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound for mypy[c] to 1.20, for our optimized version.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eUNICODE_RANGES_COMBINED\u003c/code\u003e using Unicode blocks v17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEdge case where noise difference between two candidates can be almost insignificant. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCLI \u003ccode\u003e--normalize\u003c/code\u003e writing to wrong path when passing multiple files in. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/702\"\u003e#702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFreethreaded pre-built wheels now shipped in PyPI starting with 3.14t. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.4...3.4.5\"\u003e3.4.5\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=82\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.19.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd explicit link to lib math in our optimized build. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLogger level not restored correctly for empty byte sequences. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/701\"\u003e#701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypeError when passing bytearray to from_bytes. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/703\"\u003e#703\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApplied safe micro-optimizations in both our noise detector and language detector.\u003c/li\u003e\n\u003cli\u003eRewrote the \u003ccode\u003equery_yes_no\u003c/code\u003e function (inside CLI) to avoid using ambiguous licensed code.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecd.py\u003c/code\u003e submodule into mypyc optional compilation to reduce further the performance impact.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/5478b84058a2a04e2d67a5dabbe0a273706707aa\"\u003e\u003ccode\u003e5478b84\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/715\"\u003e#715\u003c/a\u003e from jawah/release-3.4.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/5c0a09e2caf1b3977df691916e949e1de4b8a738\"\u003e\u003ccode\u003e5c0a09e\u003c/code\u003e\u003c/a\u003e :heavy_check_mark: add confidence for threading usage, mostly due to lru_cach...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/ef826b28d9f21e0059c93acc69a8bf364126c179\"\u003e\u003ccode\u003eef826b2\u003c/code\u003e\u003c/a\u003e :pencil: update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/5564f1aebe56584150a988f565ff69ee316dcefe\"\u003e\u003ccode\u003e5564f1a\u003c/code\u003e\u003c/a\u003e :pencil: update docs accordingly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/0f2cf7d86e7c3ef4b77790a754b048bfada4fd09\"\u003e\u003ccode\u003e0f2cf7d\u003c/code\u003e\u003c/a\u003e :pencil: update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/54a189446becf4f2b42772f0dce89a5ef79fe8cc\"\u003e\u003ccode\u003e54a1894\u003c/code\u003e\u003c/a\u003e :bug: fix --normalize writing to wrong path with multiple files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/2177e28828bb7fcc2f1bed2a2d4463161a180812\"\u003e\u003ccode\u003e2177e28\u003c/code\u003e\u003c/a\u003e :pencil: update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b2497a54ba545dae84be01649d66fd52a7fcfc2d\"\u003e\u003ccode\u003eb2497a5\u003c/code\u003e\u003c/a\u003e :bug: edge case where noise difference between two candidates can be almost i...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/13a5d0b471cfb9b60b8cda84c78b7874c0267123\"\u003e\u003ccode\u003e13a5d0b\u003c/code\u003e\u003c/a\u003e :wrench: upgrade ci requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b9ffbd4e8314b0f733ddb34eef32d80490eb947c\"\u003e\u003ccode\u003eb9ffbd4\u003c/code\u003e\u003c/a\u003e :wrench: enable 3.14t nox mypyc session\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jawah/charset_normalizer/compare/3.4.4...3.4.6\"\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/2a53705f5fe588158b8a8d37ff3beee86388b9e4\"\u003e\u003ccode\u003e2a53705\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group across 1 directory with 4 updates (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/e7c878d201db819416b978150944d9a842d22b18\"\u003e\u003ccode\u003ee7c878d\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/ab4db406a9c35acf977cf3ddb94a78d696b77bc5\"\u003e\u003ccode\u003eab4db40\u003c/code\u003e\u003c/a\u003e build: use --generate-hashes when pinning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a438753eef870441044cef588e29ce4b9a28adf1\"\u003e\u003ccode\u003ea438753\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/7b33457d2c6367dfd5a563239998b3980444e090\"\u003e\u003ccode\u003e7b33457\u003c/code\u003e\u003c/a\u003e refactor: some leftover pyupgrade 3.10 bits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/2ff968db91a7cdafe6f6569ac7659a3a93a2da07\"\u003e\u003ccode\u003e2ff968d\u003c/code\u003e\u003c/a\u003e refactor: this type wasn't used anywhere\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.13.4...7.13.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsonpointer` from 3.0.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/ada0cade3bcd21d5726dd701d092c7d0d1ce8c41\"\u003e\u003ccode\u003eada0cad\u003c/code\u003e\u003c/a\u003e bump version to 3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/bea0f7e8b20385a4eb996379eb7e2f4bceeeec6e\"\u003e\u003ccode\u003ebea0f7e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/stefankoegl/python-json-pointer/issues/68\"\u003e#68\u003c/a\u003e from nsano-rururu/test-py313and314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/e6844d773551f59e305fc23ad472210c180e4961\"\u003e\u003ccode\u003ee6844d7\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into test-py313and314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/0e9ea501538611449c00626d3b6dce45a4b879c8\"\u003e\u003ccode\u003e0e9ea50\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/stefankoegl/python-json-pointer/issues/69\"\u003e#69\u003c/a\u003e from angela-tarantula/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/928959cd223bea6b3cf42941cbf990921b9b8351\"\u003e\u003ccode\u003e928959c\u003c/code\u003e\u003c/a\u003e Fix flake8 issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/b657276f03665b929f94e81ca4553308cafd925c\"\u003e\u003ccode\u003eb657276\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/1233257b65b192d73f67c28bfa9c2495c9444950\"\u003e\u003ccode\u003e1233257\u003c/code\u003e\u003c/a\u003e add test case from pull request description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/97cd230d9c91b2a86a032c73c8127df34b1dcd16\"\u003e\u003ccode\u003e97cd230\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/stefankoegl/python-json-pointer/issues/74\"\u003e#74\u003c/a\u003e from stefankoegl/v3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/b7981159afe8547c3d5aa50ef427eb7162d6b1e6\"\u003e\u003ccode\u003eb798115\u003c/code\u003e\u003c/a\u003e release v3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/5f899691e9451e9501391f472f5ce48cdc3bdf7a\"\u003e\u003ccode\u003e5f89969\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/stefankoegl/python-json-pointer/issues/73\"\u003e#73\u003c/a\u003e from stefankoegl/update-python\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/stefankoegl/python-json-pointer/compare/v3.0.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langchain-anthropic` from 1.3.3 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain/releases\"\u003elangchain-anthropic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain-anthropic==1.4.0\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-anthropic==1.3.5\u003c/p\u003e\n\u003cp\u003erelease(anthropic): 1.4 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36018\"\u003e#36018\u003c/a\u003e)\nfeat(anthropic): AnthropicPromptCachingMiddleware: apply explicit caching to system message and tool definitions (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35969\"\u003e#35969\u003c/a\u003e)\nfeat(anthropic): delegate cache_control kwarg to anthropic top-level param (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35967\"\u003e#35967\u003c/a\u003e)\nchore(model-profiles): refresh model profile data (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35959\"\u003e#35959\u003c/a\u003e)\nchore: bump orjson from 3.11.5 to 3.11.6 in /libs/partners/anthropic (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35867\"\u003e#35867\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain-anthropic==1.3.5\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-anthropic==1.3.4\u003c/p\u003e\n\u003cp\u003erelease(anthropic): 1.3.5 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35873\"\u003e#35873\u003c/a\u003e)\nfix(anthropic): Ignore general usage cache_creation fields if more specific fields are set (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35845\"\u003e#35845\u003c/a\u003e)\nperf(.github): set a timeout on get min versions HTTP calls (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35851\"\u003e#35851\u003c/a\u003e)\nfeat(model-profiles): new fields + \u003ccode\u003eMakefile\u003c/code\u003e target (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35788\"\u003e#35788\u003c/a\u003e)\nfix(anthropic): support eager_input_streaming (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35779\"\u003e#35779\u003c/a\u003e)\nfix(anthropic): move _make_message_chunk_from_anthropic_event to instance method (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35670\"\u003e#35670\u003c/a\u003e)\nchore: bump langgraph from 1.0.8 to 1.0.10rc1 in /libs/partners/anthropic (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35614\"\u003e#35614\u003c/a\u003e)\nfix(anthropic): update integration test (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35577\"\u003e#35577\u003c/a\u003e)\nfix(anthropic): drop forced tool_choice when thinking is enabled (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35544\"\u003e#35544\u003c/a\u003e)\nchore: bump langgraph-checkpoint from 3.0.1 to 4.0.0 in /libs/partners/anthropic (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35450\"\u003e#35450\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain-anthropic==1.3.4\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-anthropic==1.3.3\u003c/p\u003e\n\u003cp\u003erelease(anthropic): 1.3.4 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35418\"\u003e#35418\u003c/a\u003e)\nfix(anthropic): filter out common OpenAI Responses block types (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35417\"\u003e#35417\u003c/a\u003e)\nfix(anthropic): update integration tests (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35396\"\u003e#35396\u003c/a\u003e)\nrevert: add ChatAnthropicBedrockWrapper (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35371\"\u003e#35371\u003c/a\u003e)\nfix(anthropic): replace retired model IDs in tests and docstrings (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35365\"\u003e#35365\u003c/a\u003e)\nfeat(anthropic): add ChatAnthropicBedrock wrapper (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35091\"\u003e#35091\u003c/a\u003e)\nfix(model-profiles): sort generated profiles by model ID for stable diffs (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35344\"\u003e#35344\u003c/a\u003e)\nfix(anthropic): set max input tokens based on 1m context beta header (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35341\"\u003e#35341\u003c/a\u003e)\nchore: bump model profiles (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35294\"\u003e#35294\u003c/a\u003e)\nfeat(anthropic): add User-Agent header for Anthropic API calls (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35268\"\u003e#35268\u003c/a\u003e)\nchore(anthropic): add version (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35293\"\u003e#35293\u003c/a\u003e)\nfix(anthropic): hoist cache_control from tool_result content sub-blocks to tool_result level (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35126\"\u003e#35126\u003c/a\u003e)\nchore(deps): bump langsmith from 0.4.43 to 0.6.3 in /libs/partners/anthropic (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35150\"\u003e#35150\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/langchain-ai/langchain/commit/a9204aa6eb0a446f13fcbce35cbf2c7f1c50cb1f\"\u003e\u003ccode\u003ea9204aa\u003c/code\u003e\u003c/a\u003e chore: bump pyasn1 from 0.6.2 to 0.6.3 in /libs/langchain (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36030\"\u003e#36030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/999cd85ba0ea022930bd1f73c0f0008420816d2f\"\u003e\u003ccode\u003e999cd85\u003c/code\u003e\u003c/a\u003e release(anthropic): 1.4 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36018\"\u003e#36018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/81c679e378d7b3b358e5ff0151aa4344c697dd9e\"\u003e\u003ccode\u003e81c679e\u003c/code\u003e\u003c/a\u003e chore: bump pyasn1 from 0.6.2 to 0.6.3 in /libs/langchain_v1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36029\"\u003e#36029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/abcc7d68c13de1182f424f39db1c8564a756d934\"\u003e\u003ccode\u003eabcc7d6\u003c/code\u003e\u003c/a\u003e fix: bump pillow (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36027\"\u003e#36027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/ceca192515bf98af2d56f8d7e8aeec2317fe8dac\"\u003e\u003ccode\u003ececa192\u003c/code\u003e\u003c/a\u003e chore: bump pyjwt from 2.10.1 to 2.12.0 in /libs/langchain_v1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36024\"\u003e#36024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/a17445bbfd61d7ab173f4c85079c99c0d3ceb16c\"\u003e\u003ccode\u003ea17445b\u003c/code\u003e\u003c/a\u003e docs(core): document \u003ccode\u003ebase_url\u003c/code\u003e in mermaid api (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35961\"\u003e#35961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/eff9210496e5e3b7c43ae45846e5b83de8256972\"\u003e\u003ccode\u003eeff9210\u003c/code\u003e\u003c/a\u003e fix(langchain): export Runtime from agents.middleware (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35975\"\u003e#35975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/043ef0721ad9ea58a3e8d9f65df2e3e6c880434f\"\u003e\u003ccode\u003e043ef07\u003c/code\u003e\u003c/a\u003e feat(anthropic): AnthropicPromptCachingMiddleware: apply explicit caching to ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/55711b010ba7700e9073511a1575a4fceea2251e\"\u003e\u003ccode\u003e55711b0\u003c/code\u003e\u003c/a\u003e feat(anthropic): delegate cache_control kwarg to anthropic top-level param (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/5a2c999855aea80063650a06210442a2aade2a44\"\u003e\u003ccode\u003e5a2c999\u003c/code\u003e\u003c/a\u003e chore: bump orjson from 3.11.5 to 3.11.6 in /libs/core (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35805\"\u003e#35805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langchain/compare/langchain-anthropic==1.3.3...langchain-anthropic==1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langchain-core` from 1.2.22 to 1.2.23\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain/releases\"\u003elangchain-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain-core==1.2.23\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-core==1.2.22\u003c/p\u003e\n\u003cp\u003erelease(core): 1.2.23 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36323\"\u003e#36323\u003c/a\u003e)\nrevert: Revert \u0026quot;fix(core): trace invocation params in metadata\u0026quot; (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36322\"\u003e#36322\u003c/a\u003e)\nchore: bump requests from 2.32.5 to 2.33.0 in /libs/core (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36243\"\u003e#36243\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/langchain-ai/langchain/commit/d48364130dfc4ef2e8a751453d2045243c22b388\"\u003e\u003ccode\u003ed483641\u003c/code\u003e\u003c/a\u003e release(core): 1.2.23 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36323\"\u003e#36323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/389f7ad1bc15123b8b901e61d0a1785b0a14815f\"\u003e\u003ccode\u003e389f7ad\u003c/code\u003e\u003c/a\u003e revert: Revert \u0026quot;fix(core): trace invocation params in metadata\u0026quot; (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36322\"\u003e#36322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/475408fa620996e1958d18a0789ed5bf9fdee054\"\u003e\u003ccode\u003e475408f\u003c/code\u003e\u003c/a\u003e fix(langchain): recognize ChatAnthropicVertex in _get_approximate_token_count...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/1545dbfa174c4dcf1d9a8618da59df480b33e235\"\u003e\u003ccode\u003e1545dbf\u003c/code\u003e\u003c/a\u003e chore(langchain): remove unnecessary description for toods list as a group (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/494b760028dfedddc1b91ad79f80a05d393d277e\"\u003e\u003ccode\u003e494b760\u003c/code\u003e\u003c/a\u003e fix(chroma): fix Python 3.14 support in langchain-chroma (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36199\"\u003e#36199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/c7a677bba511d7f3f5c36f9384ae6ba150866e04\"\u003e\u003ccode\u003ec7a677b\u003c/code\u003e\u003c/a\u003e chore(langchain): add async implementation to todolist and test (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36313\"\u003e#36313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/03515881176fddba919e3592e0a41cbc9806fdb8\"\u003e\u003ccode\u003e0351588\u003c/code\u003e\u003c/a\u003e chore: harden language in ci (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36314\"\u003e#36314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/954a23094d15b91ae2137cbfabd3870cb8853a5e\"\u003e\u003ccode\u003e954a230\u003c/code\u003e\u003c/a\u003e chore(langchain): speed up todo list middleware init (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36311\"\u003e#36311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/89cd0caa54d541e33ae87224c8e277bcbb026020\"\u003e\u003ccode\u003e89cd0ca\u003c/code\u003e\u003c/a\u003e docs: fix grammatical error in development guidelines (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36225\"\u003e#36225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/2aeeb58ef11e74ab98f869d6ae5c2ae04721be06\"\u003e\u003ccode\u003e2aeeb58\u003c/code\u003e\u003c/a\u003e chore: bump requests from 2.32.5 to 2.33.0 in /libs/core (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36243\"\u003e#36243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langchain/compare/langchain-core==1.2.22...langchain-core==1.2.23\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langchain-openai` from 1.1.10 to 1.1.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain/releases\"\u003elangchain-openai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain-openai==1.1.12\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-openai==1.1.11\u003c/p\u003e\n\u003cp\u003efix(openai): bump min core version (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36180\"\u003e#36180\u003c/a\u003e)\nrelease(openai): 1.1.12 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36178\"\u003e#36178\u003c/a\u003e)\nfix(core,model-profiles): add missing \u003ccode\u003eModelProfile\u003c/code\u003e fields, warn on schema drift (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36129\"\u003e#36129\u003c/a\u003e)\nfix(openai): support phase parameter (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36161\"\u003e#36161\u003c/a\u003e)\nfix(openai): preserve namespace field in streaming function_call chunks (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36108\"\u003e#36108\u003c/a\u003e)\nci: suppress pytest streaming output in CI (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36092\"\u003e#36092\u003c/a\u003e)\nci: avoid unnecessary dep installs in lint targets (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36046\"\u003e#36046\u003c/a\u003e)\nchore(model-profiles): refresh model profile data (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36039\"\u003e#36039\u003c/a\u003e)\nchore: bump orjson from 3.11.5 to 3.11.6 in /libs/partners/openai (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35860\"\u003e#35860\u003c/a\u003e)\nfix(openai): add type: message to Responses API input items (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35693\"\u003e#35693\u003c/a\u003e)\nperf(.github): set a timeout on get min versions HTTP calls (\u003ca href=\"https://redirect.github.com/langchain-ai/...\n\n_Description has been truncated_","html_url":"https://github.com/toniantunovi/lucidshark/pull/87","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/toniantunovi%2Flucidshark/issues/87","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/87/packages"},{"uuid":"4182006709","node_id":"PR_kwDOJ7qKoc7PDZCS","number":1135,"state":"open","title":"Bump orjson from 3.11.7 to 3.11.8","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":6,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-31T20:05:50.000Z","updated_at":"2026-04-02T19:37:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"orjson","old_version":"3.11.7","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"}],"path":null,"ecosystem":"pip"},"body":"Bumps [orjson](https://github.com/ijl/orjson) from 3.11.7 to 3.11.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8 - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78\"\u003e\u003ccode\u003e5cbb3d0\u003c/code\u003e\u003c/a\u003e 3.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e\"\u003e\u003ccode\u003e4195d7f\u003c/code\u003e\u003c/a\u003e writer::half\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b\"\u003e\u003ccode\u003ed00641b\u003c/code\u003e\u003c/a\u003e writer::uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84\"\u003e\u003ccode\u003ec84d9b4\u003c/code\u003e\u003c/a\u003e build and compatibility misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43\"\u003e\u003ccode\u003e4547234\u003c/code\u003e\u003c/a\u003e ffi::numpy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb\"\u003e\u003ccode\u003e0d4a5ad\u003c/code\u003e\u003c/a\u003e datetime PyRef idiom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85\"\u003e\u003ccode\u003ee93a13d\u003c/code\u003e\u003c/a\u003e Cross-compile avoids maturin v1.12 build-details.json error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.7...3.11.8\"\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=orjson\u0026package-manager=pip\u0026previous-version=3.11.7\u0026new-version=3.11.8)](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/great-expectations/cloud/pull/1135","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/great-expectations%2Fcloud/issues/1135","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1135/packages"},{"uuid":"4174009939","node_id":"PR_kwDOPaNb1c7OwRDT","number":2,"state":"closed","title":"Bump the pip group across 2 directories with 7 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-03T22:17:12.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-30T20:52:05.000Z","updated_at":"2026-04-03T22:17:15.000Z","time_to_close":350707,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip","update_count":7,"packages":[{"name":"mlflow","old_version":"3.2.0rc0","new_version":"3.9.0rc0","repository_url":"https://github.com/mlflow/mlflow"},{"name":"pyasn1","old_version":"0.6.1","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"sqlparse","old_version":"0.5.3","new_version":"0.5.4","repository_url":"https://github.com/andialbrecht/sqlparse"},{"name":"google-cloud-aiplatform","old_version":"1.47.0","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"orjson","old_version":"3.10.12","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"},{"name":"fastapi-sso","old_version":"0.16.0","new_version":"0.19.0","repository_url":"https://github.com/tomasvotava/fastapi-sso"},{"name":"mcp","old_version":"1.10.1","new_version":"1.23.0","repository_url":"https://github.com/modelcontextprotocol/python-sdk"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 4 updates in the / directory: [mlflow](https://github.com/mlflow/mlflow), [pyasn1](https://github.com/pyasn1/pyasn1), [sqlparse](https://github.com/andialbrecht/sqlparse) and [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 4 updates in the /.circleci directory: [orjson](https://github.com/ijl/orjson), [fastapi-sso](https://github.com/tomasvotava/fastapi-sso), [mcp](https://github.com/modelcontextprotocol/python-sdk) and [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\n\nUpdates `mlflow` from 3.2.0rc0 to 3.9.0rc0\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.9.0rc0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.9.0rc0, a pre-release including several notable updates:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMajor New Features\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🔮 \u003cstrong\u003eMLflow Assistant\u003c/strong\u003e: Figuring out the next steps to debug your apps and agents can be challenging. We're excited to introduce the MLflow Assistant, an in-product chatbot that can help you identify, diagnose, and fix issues. The assistant is backed by Claude Code, and directly passes context from the MLflow UI to Claude. Click on the floating \u0026quot;Assistant\u0026quot; button in the bottom right of the MLflow UI to get started!\u003c/li\u003e\n\u003cli\u003e📈 \u003cstrong\u003eTrace Overview Dashboard\u003c/strong\u003e: You can now get insights into your agent's performance at a glance with the new \u0026quot;Overview\u0026quot; tab in GenAI experiments. Many pre-built statistics are available out of the box, including performance metrics (e.g. latency, request count), quality metrics (based on assessments), and tool call summaries. If there are any additional charts you'd like to see, please feel free to raise an issue in the MLflow repository!\u003c/li\u003e\n\u003cli\u003e✨ \u003cstrong\u003eAI Gateway\u003c/strong\u003e: We're revamping our AI Gateway feature! AI Gateway provides a unified interface for your API requests, allowing you to route queries to your LLM provider(s) of choice. In MLflow 3.9.0rc0, the Gateway server is now located directly in the tracking server, so you don't need to spin up a new process. Additional features such as passthrough endpoints, traffic splits, and fallback models are also available, with more to come soon! For more detailed information, please take a look at the \u003ca href=\"https://mlflow.org/docs/latest/genai/governance/ai-gateway/\"\u003edocs\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔎 \u003cstrong\u003eOnline Monitoring with LLM Judges\u003c/strong\u003e: Configure LLM judges to automatically run on your traces, without having to write a line of code! You can either use one of our \u003ca href=\"https://mlflow.org/docs/latest/genai/eval-monitor/scorers/llm-judge/predefined/\"\u003epre-defined judges\u003c/a\u003e, or provide your own prompt and instructions to create custom metrics. Head to the new \u0026quot;Judges\u0026quot; tab within the GenAI Experiment UI to get started.\u003c/li\u003e\n\u003cli\u003e🤖 \u003cstrong\u003eJudge Builder UI\u003c/strong\u003e: Define and iterate on custom LLM judge prompts directly from the UI! Within the new \u0026quot;Judges\u0026quot; tab, you can create your own prompt for an LLM judge, and test-run it on your traces to see what the output would be. Once you're happy with it, you can either use it for online monitoring (as mentioned above), or use it via the Python SDK for your evals.\u003c/li\u003e\n\u003cli\u003e🔗 \u003cstrong\u003eDistributed Tracing\u003c/strong\u003e: Trace context can now be propagated across different services and processes, allowing you to truly track request lifecycles from end to end. The related APIs are defined in the \u003ccode\u003emlflow.tracing.distributed\u003c/code\u003e module (with more documentation to come soon).\u003c/li\u003e\n\u003cli\u003e📚 \u003cstrong\u003eMemAlign - a new judge optimizer algorithm\u003c/strong\u003e: We're excited to introduce \u003ccode\u003eMemAlignOptimizer\u003c/code\u003e, a new algorithm that makes your judges smarter over time. It learns general guidelines from past feedback while dynamically retrieving relevant examples at runtime, giving you more accurate evaluations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eStay tuned for the full release, which will be packed with even more features and bugfixes.\u003c/p\u003e\n\u003cp\u003eTo try out this release candidate, please run:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003epip install mlflow==3.9.0rc0\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003ePlease try it out and report any issues on \u003ca href=\"https://github.com/mlflow/mlflow/issues\"\u003ethe issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev3.8.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.1 includes several bug fixes and documentation updates.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Tracking] Skip registering sqlalchemy store when sqlalchemy lib is not installed (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19563\"\u003e#19563\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[Models / Scoring] fix(security): prevent command injection via malicious model artifacts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19583\"\u003e#19583\u003c/a\u003e, \u003ca href=\"https://github.com/ColeMurray\"\u003e\u003ccode\u003e@​ColeMurray\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts] Fix prompt registration with model_config on Databricks (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19617\"\u003e#19617\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 UI blank page on plain HTTP by replacing crypto.randomUUID with uuid library (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19644\"\u003e#19644\u003c/a\u003e, \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\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19539\"\u003e#19539\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19451\"\u003e#19451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19409\"\u003e#19409\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/19493\"\u003e#19493\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.8.0\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.0 includes several major features and improvements\u003c/p\u003e\n\u003ch3\u003eMajor Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⚙️ \u003cstrong\u003ePrompt Model Configuration\u003c/strong\u003e: Prompts can now include model configuration, allowing you to associate specific model settings with prompt templates for more reproducible LLM workflows. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18963\"\u003e#18963\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19174\"\u003e#19174\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19279\"\u003e#19279\u003c/a\u003e, \u003ca href=\"https://github.com/chenmoneygithub\"\u003e\u003ccode\u003e@​chenmoneygithub\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⏳ \u003cstrong\u003eIn-Progress Trace Display\u003c/strong\u003e: The Traces UI now supports displaying spans from in-progress traces with auto-polling, enabling real-time debugging and monitoring of long-running LLM applications. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19265\"\u003e#19265\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⚖️ \u003cstrong\u003eDeepEval and RAGAS Judges Integration\u003c/strong\u003e: New \u003ccode\u003eget_judge\u003c/code\u003e API enables using DeepEval and RAGAS evaluation metrics as MLflow scorers, providing access to 20+ evaluation metrics including answer relevancy, faithfulness, and hallucination detection. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18988\"\u003e#18988\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/19345\"\u003e#19345\u003c/a\u003e, \u003ca href=\"https://github.com/SomtochiUmeh\"\u003e\u003ccode\u003e@​SomtochiUmeh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e🛡️ \u003cstrong\u003eConversational Safety Scorer\u003c/strong\u003e: New built-in scorer for evaluating safety of multi-turn conversations, analyzing entire conversation histories for hate speech, harassment, violence, and other safety concerns. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19106\"\u003e#19106\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⚡ \u003cstrong\u003eConversational Tool Call Efficiency Scorer\u003c/strong\u003e: New built-in scorer for evaluating tool call efficiency in multi-turn agent interactions, detecting redundant calls, missing batching opportunities, and poor tool selections. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19245\"\u003e#19245\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImportant Notice\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCollection of UI Telemetry\u003c/strong\u003e. From MLflow 3.8.0 onwards, MLflow will collect anonymized data about UI interactions, similar to the telemetry we collect for the Python SDK. If you manage your own server, UI telemetry is automatically disabled by setting the existing environment variables: \u003ccode\u003eMLFLOW_DISABLE_TELEMETRY=true\u003c/code\u003e or \u003ccode\u003eDO_NOT_TRACK=true\u003c/code\u003e. If you do not manage your own server (e.g. you use a managed service or are not the admin), you can still opt out personally via the new \u0026quot;Settings\u0026quot; tab in the MLflow UI. For more information, please read the documentation on \u003ca href=\"https://mlflow.org/docs/latest/community/usage-tracking/\"\u003eusage tracking\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/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.0rc0 (2026-01-15)\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.9.0rc0, a pre-release including several notable updates:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMajor New Features\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🔮 \u003cstrong\u003eMLflow Assistant\u003c/strong\u003e: Figuring out the next steps to debug your apps and agents can be challenging. We're excited to introduce the MLflow Assistant, an in-product chatbot that can help you identify, diagnose, and fix issues. The assistant is backed by Claude Code, and directly passes context from the MLflow UI to Claude. Click on the floating \u0026quot;Assistant\u0026quot; button in the bottom right of the MLflow UI to get started!\u003c/li\u003e\n\u003cli\u003e📈 \u003cstrong\u003eTrace Overview Dashboard\u003c/strong\u003e: You can now get insights into your agent's performance at a glance with the new \u0026quot;Overview\u0026quot; tab in GenAI experiments. Many pre-built statistics are available out of the box, including performance metrics (e.g. latency, request count), quality metrics (based on assessments), and tool call summaries. If there are any additional charts you'd like to see, please feel free to raise an issue in the MLflow repository!\u003c/li\u003e\n\u003cli\u003e✨ \u003cstrong\u003eAI Gateway\u003c/strong\u003e: We're revamping our AI Gateway feature! AI Gateway provides a unified interface for your API requests, allowing you to route queries to your LLM provider(s) of choice. In MLflow 3.9.0rc0, the Gateway server is now located directly in the tracking server, so you don't need to spin up a new process. Additional features such as passthrough endpoints, traffic splits, and fallback models are also available, with more to come soon! For more detailed information, please take a look at the \u003ca href=\"https://mlflow.org/docs/latest/genai/governance/ai-gateway/\"\u003edocs\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔎 \u003cstrong\u003eOnline Monitoring with LLM Judges\u003c/strong\u003e: Configure LLM judges to automatically run on your traces, without having to write a line of code! You can either use one of our \u003ca href=\"https://mlflow.org/docs/latest/genai/eval-monitor/scorers/llm-judge/predefined/\"\u003epre-defined judges\u003c/a\u003e, or provide your own prompt and instructions to create custom metrics. Head to the new \u0026quot;Judges\u0026quot; tab within the GenAI Experiment UI to get started.\u003c/li\u003e\n\u003cli\u003e🤖 \u003cstrong\u003eJudge Builder UI\u003c/strong\u003e: Define and iterate on custom LLM judge prompts directly from the UI! Within the new \u0026quot;Judges\u0026quot; tab, you can create your own prompt for an LLM judge, and test-run it on your traces to see what the output would be. Once you're happy with it, you can either use it for online monitoring (as mentioned above), or use it via the Python SDK for your evals.\u003c/li\u003e\n\u003cli\u003e🔗 \u003cstrong\u003eDistributed Tracing\u003c/strong\u003e: Trace context can now be propagated across different services and processes, allowing you to truly track request lifecycles from end to end. The related APIs are defined in the \u003ccode\u003emlflow.tracing.distributed\u003c/code\u003e module (with more documentation to come soon).\u003c/li\u003e\n\u003cli\u003e📚 \u003cstrong\u003eMemAlign - a new judge optimizer algorithm\u003c/strong\u003e: We're excited to introduce \u003ccode\u003eMemAlignOptimizer\u003c/code\u003e, a new algorithm that makes your judges smarter over time. It learns general guidelines from past feedback while dynamically retrieving relevant examples at runtime, giving you more accurate evaluations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eStay tuned for the full release, which will be packed with even more features and bugfixes.\u003c/p\u003e\n\u003cp\u003eTo try out this release candidate, please run:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003epip install mlflow==3.9.0rc0\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.1 (2025-12-26)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.1 includes several bug fixes and documentation updates.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Tracking] Skip registering sqlalchemy store when sqlalchemy lib is not installed (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19563\"\u003e#19563\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[Models / Scoring] fix(security): prevent command injection via malicious model artifacts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19583\"\u003e#19583\u003c/a\u003e, \u003ca href=\"https://github.com/ColeMurray\"\u003e\u003ccode\u003e@​ColeMurray\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts] Fix prompt registration with model_config on Databricks (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19617\"\u003e#19617\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 UI blank page on plain HTTP by replacing crypto.randomUUID with uuid library (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19644\"\u003e#19644\u003c/a\u003e, \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\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19539\"\u003e#19539\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19451\"\u003e#19451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19409\"\u003e#19409\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/19493\"\u003e#19493\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.0 (2025-12-19)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.0 includes several major features and improvements\u003c/p\u003e\n\u003ch3\u003eMajor Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⚙️ \u003cstrong\u003ePrompt Model Configuration\u003c/strong\u003e: Prompts can now include model configuration, allowing you to associate specific model settings with prompt templates for more reproducible LLM workflows. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18963\"\u003e#18963\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19174\"\u003e#19174\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19279\"\u003e#19279\u003c/a\u003e, \u003ca href=\"https://github.com/chenmoneygithub\"\u003e\u003ccode\u003e@​chenmoneygithub\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⏳ \u003cstrong\u003eIn-Progress Trace Display\u003c/strong\u003e: The Traces UI now supports displaying spans from in-progress traces with auto-polling, enabling real-time debugging and monitoring of long-running LLM applications. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19265\"\u003e#19265\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⚖️ \u003cstrong\u003eDeepEval Judges Integration\u003c/strong\u003e: New \u003ccode\u003eget_judge\u003c/code\u003e API enables using DeepEval's evaluation metrics as MLflow scorers, providing access to 20+ evaluation metrics including answer relevancy, faithfulness, and hallucination detection. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18988\"\u003e#18988\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🛡️ \u003cstrong\u003eConversational Safety Scorer\u003c/strong\u003e: New built-in scorer for evaluating safety of multi-turn conversations, analyzing entire conversation histories for hate speech, harassment, violence, and other safety concerns. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19106\"\u003e#19106\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⚡ \u003cstrong\u003eConversational Tool Call Efficiency Scorer\u003c/strong\u003e: New built-in scorer for evaluating tool call efficiency in multi-turn agent interactions, detecting redundant calls, missing batching opportunities, and poor tool selections. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19245\"\u003e#19245\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImportant Notice\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCollection of UI Telemetry\u003c/strong\u003e. From MLflow 3.8.0 onwards, MLflow will collect anonymized data about UI interactions, similar to the telemetry we collect for the Python SDK. If you manage your own server, UI telemetry is automatically disabled by setting the existing environment variables: \u003ccode\u003eMLFLOW_DISABLE_TELEMETRY=true\u003c/code\u003e or \u003ccode\u003eDO_NOT_TRACK=true\u003c/code\u003e. If you do not manage your own server (e.g. you use a managed service or are not the admin), you can still opt out personally via the new \u0026quot;Settings\u0026quot; tab in the MLflow UI. For more information, please read the documentation on \u003ca href=\"https://mlflow.org/docs/latest/community/usage-tracking/\"\u003eusage tracking\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/mlflow/mlflow/commit/d8c9d8c0bcaedd5133e14e0b2931fdd607c97366\"\u003e\u003ccode\u003ed8c9d8c\u003c/code\u003e\u003c/a\u003e Run \u003ccode\u003epython3 dev/update_mlflow_versions.py pre-release ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/e65f119e02223718e532c3ce6d86a18cc28d9eb6\"\u003e\u003ccode\u003ee65f119\u003c/code\u003e\u003c/a\u003e Run \u003ccode\u003epython3 dev/update_ml_package_versions.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20013\"\u003e#20013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/069244579538d23bac836c61c60076d1a907a96c\"\u003e\u003ccode\u003e0692445\u003c/code\u003e\u003c/a\u003e Move DevTools section from PR description to separate comment (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20012\"\u003e#20012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/089d86963301f50ae52b13caf346fbc249dc9f53\"\u003e\u003ccode\u003e089d869\u003c/code\u003e\u003c/a\u003e Enhance LiteLLMConfig validation and normalize Databricks base URL (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20008\"\u003e#20008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/df01edd6ec77acd646a97eaf8785cef719a29499\"\u003e\u003ccode\u003edf01edd\u003c/code\u003e\u003c/a\u003e Implement telemetry tracking for gateway invocations and CRUD operations (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19\"\u003e#19\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/99b5a3dd85e01160aa4c89559209bb0cce42055c\"\u003e\u003ccode\u003e99b5a3d\u003c/code\u003e\u003c/a\u003e Merge MLflow Assistant branch (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/a58d7d746420257648e33b1fa1bc24e86cc60c40\"\u003e\u003ccode\u003ea58d7d7\u003c/code\u003e\u003c/a\u003e Remove vertical line (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20006\"\u003e#20006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/f4db4c37b17405ae91963c77200d7ef78976474d\"\u003e\u003ccode\u003ef4db4c3\u003c/code\u003e\u003c/a\u003e Remove over time label (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/aba70944127e4db5e4e14004e6a9a9ddd7884070\"\u003e\u003ccode\u003eaba7094\u003c/code\u003e\u003c/a\u003e Distinguish local remote server (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19893\"\u003e#19893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3bc8482544254bec5ccc09e79e554fb05e024d90\"\u003e\u003ccode\u003e3bc8482\u003c/code\u003e\u003c/a\u003e Add coming soon components (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.2.0rc0...v3.9.0rc0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyasn1` from 0.6.1 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyasn1/pyasn1/releases\"\u003epyasn1's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.6.3\u003c/h2\u003e\n\u003cp\u003eIt's a minor release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded nesting depth limit to ASN.1 decoder to prevent stack overflow from deeply nested structures (CVE-2026-30922).\u003c/li\u003e\n\u003cli\u003eFixed OverflowError from oversized BER length field.\u003c/li\u003e\n\u003cli\u003eFixed DeprecationWarning stacklevel for deprecated attributes.\u003c/li\u003e\n\u003cli\u003eFixed asDateTime incorrect fractional seconds parsing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll changes are noted in the \u003ca href=\"https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst\"\u003eCHANGELOG\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRelease 0.6.2\u003c/h2\u003e\n\u003cp\u003eIt's a minor release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed continuation octet limits in OID/RELATIVE-OID decoder (CVE-2026-23490).\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy.\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll changes are noted in the \u003ca href=\"https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst\"\u003eCHANGELOG\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/pyasn1/pyasn1/blob/main/CHANGES.rst\"\u003epyasn1's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRevision 0.6.3, released 16-03-2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-30922 (GHSA-jr27-m4p2-rc6r): Added nesting depth\nlimit to ASN.1 decoder to prevent stack overflow from deeply\nnested structures (thanks for reporting, romanticpragmatism)\u003c/li\u003e\n\u003cli\u003eFixed OverflowError from oversized BER length field\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/54\"\u003e#54\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/54\"\u003epyasn1/pyasn1#54\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/100\"\u003e#100\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/100\"\u003epyasn1/pyasn1#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DeprecationWarning stacklevel for deprecated attributes\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/86\"\u003e#86\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/86\"\u003epyasn1/pyasn1#86\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/101\"\u003e#101\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/101\"\u003epyasn1/pyasn1#101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed asDateTime incorrect fractional seconds parsing\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/81\"\u003e#81\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/81\"\u003epyasn1/pyasn1#81\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/102\"\u003e#102\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/102\"\u003epyasn1/pyasn1#102\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRevision 0.6.2, released 16-01-2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-23490 (GHSA-63vm-454h-vhhq): Fixed continuation octet limits\nin OID/RELATIVE-OID decoder (thanks to tsigouris007)\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/97\"\u003epyasn1/pyasn1#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy\u003c/li\u003e\n\u003cli\u003eFixed unit tests failing due to missing code\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003epyasn1/pyasn1#91\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/92\"\u003epyasn1/pyasn1#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/90\"\u003e#90\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/90\"\u003epyasn1/pyasn1#90\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/pyasn1/pyasn1/commit/af65c3b92e9deeae50db4de390982dd970d87f98\"\u003e\u003ccode\u003eaf65c3b\u003c/code\u003e\u003c/a\u003e Prepare release 0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/5a49bd1fe93b5b866a1210f6bf0a3924f21572c8\"\u003e\u003ccode\u003e5a49bd1\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/5494ba43f738e700ca9f7c7a69ec5c44908c9a9f\"\u003e\u003ccode\u003e5494ba4\u003c/code\u003e\u003c/a\u003e Fix asDateTime incorrect fractional seconds parsing (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/102\"\u003e#102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/71f486e6c32d0f270868aa1b2bb5ceb7d5fd5476\"\u003e\u003ccode\u003e71f486e\u003c/code\u003e\u003c/a\u003e Fix DeprecationWarning stacklevel for deprecated attributes (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/101\"\u003e#101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/d7cb42dcaa9a66e18f14c4609c2ed00c5b65f7e8\"\u003e\u003ccode\u003ed7cb42d\u003c/code\u003e\u003c/a\u003e Fix OverflowError from oversized BER length field (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/100\"\u003e#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/e7356f89cf32c130d65b1a0e903fe7ecce426424\"\u003e\u003ccode\u003ee7356f8\u003c/code\u003e\u003c/a\u003e Prepare release 0.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/3908f144229eed4df24bd569d16e5991ace44970\"\u003e\u003ccode\u003e3908f14\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/0a7e067674b1ec558f9d233a3bc173472fe27c6c\"\u003e\u003ccode\u003e0a7e067\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/33656e986d8e2355123799e7267104ac7d8a6fb1\"\u003e\u003ccode\u003e33656e9\u003c/code\u003e\u003c/a\u003e Create Security Policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/fa62307253f4423effac71a618e20fabaa37e22e\"\u003e\u003ccode\u003efa62307\u003c/code\u003e\u003c/a\u003e fix for issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e: unit tests failing due to missing code (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyasn1/pyasn1/compare/v0.6.1...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlparse` from 0.5.3 to 0.5.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG\"\u003esqlparse's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.5.4 (Nov 28, 2025)\u003c/h2\u003e\n\u003cp\u003eEnhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdd type annotations to top-level API functions and include py.typed marker\nfor PEP 561 compliance, enabling type checking with mypy and other tools\n(issue756).\u003c/li\u003e\n\u003cli\u003eAdd pre-commit hook support. sqlparse can now be used as a pre-commit hook\nto automatically format SQL files. The CLI now supports multiple files and\nan \u003ccode\u003e--in-place\u003c/code\u003e flag for in-place editing (issue537).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eATTACH\u003c/code\u003e and \u003ccode\u003eDETACH\u003c/code\u003e to PostgreSQL keywords (pr808).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eINTERSECT\u003c/code\u003e to close keywords in WHERE clause (pr820).\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eREGEXP BINARY\u003c/code\u003e comparison operator (pr817).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd additional protection against denial of service attacks when parsing\nvery large lists of tuples. This enhances the existing recursion protections\nwith configurable limits for token processing to prevent DoS through\nalgorithmic complexity attacks. The new limits (MAX_GROUPING_DEPTH=100,\nMAX_GROUPING_TOKENS=10000) can be adjusted or disabled (by setting to None)\nif needed for legitimate large SQL statements.\u003c/li\u003e\n\u003cli\u003eRemove shebang from cli.py and remove executable flag (pr818).\u003c/li\u003e\n\u003cli\u003eFix strip_comments not removing all comments when input contains only\ncomments (issue801, pr803 by stropysh).\u003c/li\u003e\n\u003cli\u003eFix splitting statements with IF EXISTS/IF NOT EXISTS inside BEGIN...END\nblocks (issue812).\u003c/li\u003e\n\u003cli\u003eFix splitting on semicolons inside BEGIN...END blocks (issue809).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/14e300b165b14d1a7662a071c6481b503d367528\"\u003e\u003ccode\u003e14e300b\u003c/code\u003e\u003c/a\u003e Bump version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/96a67e286963b2497b1b3f7a1378327af6661998\"\u003e\u003ccode\u003e96a67e2\u003c/code\u003e\u003c/a\u003e Code cleanup.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1a3bfbd50b82c05d9adcc51bacba059671dc1bc7\"\u003e\u003ccode\u003e1a3bfbd\u003c/code\u003e\u003c/a\u003e Fix handling of semicolons inside BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/809\"\u003e#809\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/e92a032c81d51a6645b4f8c32470481894818ba0\"\u003e\u003ccode\u003ee92a032\u003c/code\u003e\u003c/a\u003e Fix handling of IF EXISTS statements in BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/812\"\u003e#812\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/149bebf06c788e93a9b0dbee0e5abbc8e347b8e6\"\u003e\u003ccode\u003e149bebf\u003c/code\u003e\u003c/a\u003e Update Changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/561a67e740e9623cf81ef99f1a6cd94337e24282\"\u003e\u003ccode\u003e561a67e\u003c/code\u003e\u003c/a\u003e Update AUTHORS.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/73c8ba3ae88b608d39740c0776fb15064232258e\"\u003e\u003ccode\u003e73c8ba3\u003c/code\u003e\u003c/a\u003e bugfix ISSUE_801; Remove all comments when only comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1b323879f87207946e4782812e2e1254b1c0c659\"\u003e\u003ccode\u003e1b32387\u003c/code\u003e\u003c/a\u003e Update action to run on all prs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/31903e09db518ee3969110073427196ef9cd46c3\"\u003e\u003ccode\u003e31903e0\u003c/code\u003e\u003c/a\u003e Add pre-commit hook support (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/13577264eb38b88e24825022fea4bd4351449e7c\"\u003e\u003ccode\u003e1357726\u003c/code\u003e\u003c/a\u003e docs: add AGENTS.md for project guidance and development commands\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/andialbrecht/sqlparse/compare/0.5.3...0.5.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-aiplatform` from 1.47.0 to 1.133.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-aiplatform/releases\"\u003egoogle-cloud-aiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.133.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.132.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.131.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\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/googleapis/python-aiplatform/blob/main/CHANGELOG.md\"\u003egoogle-cloud-aiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix RagManagedVertexVectorSearch when using backend_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/df0976ed3195dc8313f4728bc5ecb29dda55d467\"\u003edf0976e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - patch for vulnerability in visualization (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8a00d43dbd24e95dbab6ea32c63ce0a5a1849480\"\u003e8a00d43\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/78f2bdd08bae0696923e61ab73080b5846c67ae0\"\u003e\u003ccode\u003e78f2bdd\u003c/code\u003e\u003c/a\u003e chore(main): release 1.133.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-aiplatform/issues/6211\"\u003e#6211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003e\u003ccode\u003ec8c0f0f\u003c/code\u003e\u003c/a\u003e fix: Add None check for agent_info in evals.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/9952b970b73cfe38e68c48b3699ee4e1df0264df\"\u003e\u003ccode\u003e9952b97\u003c/code\u003e\u003c/a\u003e chore: rollback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e\u003ccode\u003e83f4076\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/937d5af6b9bdbbe3b50181745c99550f124ad8b4\"\u003e\u003ccode\u003e937d5af\u003c/code\u003e\u003c/a\u003e Copybara import of the project:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/aaaf902be02747cd2281196aad6278df0fd11f7e\"\u003e\u003ccode\u003eaaaf902\u003c/code\u003e\u003c/a\u003e chore: bump google-auth lower bound to 2.47.0 in GenAI and Vertex SDKs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e\u003ccode\u003e8c876ef\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e\u003ccode\u003e5448f06\u003c/code\u003e\u003c/a\u003e fix: Require uri or staging bucket configuration for saving model to Vertex E...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e\u003ccode\u003e65717fa\u003c/code\u003e\u003c/a\u003e feat: GenAI SDK client(memory): Add enable_third_person_memories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003e\u003ccode\u003ebe2eaaa\u003c/code\u003e\u003c/a\u003e fix: GenAI client(evals) - Fix TypeError in _build_generate_content_config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.47.0...v1.133.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.10.12 to 3.11.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6 - 2026-01-29\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2 - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ec02024c3837255064f248c0d2d331319b75e9ad\"\u003e\u003ccode\u003eec02024\u003c/code\u003e\u003c/a\u003e 3.11.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d58168733189f82b3fd0c058dff73e05d09202e6\"\u003e\u003ccode\u003ed581687\u003c/code\u003e\u003c/a\u003e build, clippy misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4105b29b2275f200f6fae01349bef02ccf1bc2e2\"\u003e\u003ccode\u003e4105b29\u003c/code\u003e\u003c/a\u003e writer::num\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/62bb185b70785ded49c79c26f8c9781f1e6fe370\"\u003e\u003ccode\u003e62bb185\u003c/code\u003e\u003c/a\u003e Fix sporadic crash on serializing object close\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d860078a973f44401265c5c4ad12a7dbe4f839ad\"\u003e\u003ccode\u003ed860078\u003c/code\u003e\u003c/a\u003e PyRef idiom refactors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/343ae2f148197918aba9f8562db42c364620e4b8\"\u003e\u003ccode\u003e343ae2f\u003c/code\u003e\u003c/a\u003e Deserializer, Utf8Buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/7835f58d1c56947d1cf7a18acdfc07a2bca9b0f2\"\u003e\u003ccode\u003e7835f58\u003c/code\u003e\u003c/a\u003e PyBytesRef and other input refactor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/71e0516424ce1e11613eb1780f18e8cde83989fd\"\u003e\u003ccode\u003e71e0516\u003c/code\u003e\u003c/a\u003e PyStrRef\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1096df42dc585fde837ed0c930a346f5ef7dbb94\"\u003e\u003ccode\u003e1096df4\u003c/code\u003e\u003c/a\u003e MSRV 1.89\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/b718e75b8ba18a707c2b44b6de14d52547573771\"\u003e\u003ccode\u003eb718e75\u003c/code\u003e\u003c/a\u003e Drop support for python3.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.12...3.11.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi-sso` from 0.16.0 to 0.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/releases\"\u003efastapi-sso's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.19.0\u003c/h2\u003e\n\u003cp\u003e️⚠️ A critical OAuth login CSRF vulnerability caused by missing \u003ccode\u003estate\u003c/code\u003e validation was\nreported by \u003ca href=\"https://github.com/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e (Snyk Security Labs)\nin \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e and has been resolved\nin version \u003ccode\u003e0.19.0\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eStarting with \u003ccode\u003efastapi-sso==1.0.0\u003c/code\u003e, OAuth \u003ccode\u003estate\u003c/code\u003e will be backed by a pluggable server-side store\n(in-memory by default, with support for external stores such as \u003ccode\u003eRedis\u003c/code\u003e).\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the all group with 11 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/230\"\u003etomasvotava/fastapi-sso#230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/231\"\u003etomasvotava/fastapi-sso#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 6 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/232\"\u003etomasvotava/fastapi-sso#232\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/233\"\u003etomasvotava/fastapi-sso#233\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/234\"\u003etomasvotava/fastapi-sso#234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/235\"\u003etomasvotava/fastapi-sso#235\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/237\"\u003etomasvotava/fastapi-sso#237\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/239\"\u003etomasvotava/fastapi-sso#239\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/241\"\u003etomasvotava/fastapi-sso#241\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 5 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/242\"\u003etomasvotava/fastapi-sso#242\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 10 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/247\"\u003etomasvotava/fastapi-sso#247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/248\"\u003etomasvotava/fastapi-sso#248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/251\"\u003etomasvotava/fastapi-sso#251\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/252\"\u003etomasvotava/fastapi-sso#252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/253\"\u003etomasvotava/fastapi-sso#253\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/254\"\u003etomasvotava/fastapi-sso#254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 12 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/259\"\u003etomasvotava/fastapi-sso#259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: enforce state validation by \u003ca href=\"https://github.com/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/267\"\u003etomasvotava/fastapi-sso#267\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 7 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/265\"\u003etomasvotava/fastapi-sso#265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e): warn against using state as an arbitrary data transport by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/269\"\u003etomasvotava/fastapi-sso#269\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/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/267\"\u003etomasvotava/fastapi-sso#267\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.18.0...0.19.0\"\u003ehttps://github.com/tomasvotava/fastapi-sso/compare/0.18.0...0.19.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eRemoved support for python 3.8\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore: add Python 3.13 to testing and linting workflows by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/226\"\u003etomasvotava/fastapi-sso#226\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update Python version to 3.12 and improve documentation workflow by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/227\"\u003etomasvotava/fastapi-sso#227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/228\"\u003etomasvotava/fastapi-sso#228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:use id token for linkedin userinfo by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/229\"\u003etomasvotava/fastapi-sso#229\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.17.0...0.18.0\"\u003ehttps://github.com/tomasvotava/fastapi-sso/compare/0.17.0...0.18.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.17.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/c905eafe2d6d7aab5d2b929e53ba98f238fdb21d\"\u003e\u003ccode\u003ec905eaf\u003c/code\u003e\u003c/a\u003e chore: 0.18.0 =\u0026gt; 0.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/94343bf276bed9df0ed0b11fe00661fc65ac57e0\"\u003e\u003ccode\u003e94343bf\u003c/code\u003e\u003c/a\u003e docs(\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e): warn against using state as an arbitrary data transport (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/d057c1d4db151a180668a03784250315cdb0b1e9\"\u003e\u003ccode\u003ed057c1d\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group across 1 directory with 7 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/6117d1a5ad498ba57d671e8a059ebe20db5abe02\"\u003e\u003ccode\u003e6117d1a\u003c/code\u003e\u003c/a\u003e fix: enforce state validation (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/267\"\u003e#267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/da63c19bca7db0fe8a7e66d03fdf07154ec7182a\"\u003e\u003ccode\u003eda63c19\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group across 1 directory with 12 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/0ccaeddf9e95a997a370ec312dc073f8f9920f38\"\u003e\u003ccode\u003e0ccaedd\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group with 2 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/254\"\u003e#254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/a43e62e67dfc40a2f9634bd932a2dfd02fe9e5b8\"\u003e\u003ccode\u003ea43e62e\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 2 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/253\"\u003e#253\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/8cd706d335e134504be46eab3404ff0ca3bdf6f9\"\u003e\u003ccode\u003e8cd706d\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/252\"\u003e#252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/ea769fa223f5b665eb37b9cee998b19d49d52427\"\u003e\u003ccode\u003eea769fa\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/251\"\u003e#251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/7aba1e6ea408be1bce282fce7c3ba3da89e5e7b1\"\u003e\u003ccode\u003e7aba1e6\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/248\"\u003e#248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.16.0...0.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp` from 1.10.1 to 1.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.0\u003c/h2\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release brings us up to speed with the latest MCP spec \u003ccode\u003e2025-11-25\u003c/code\u003e. Take a look at the \u003ca href=\"https://modelcontextprotocol.io/specification/2025-11-25\"\u003elatest spec\u003c/a\u003e as well as the release \u003ca href=\"https://blog.modelcontextprotocol.io/posts/2025-11-25-first-mcp-anniversary/\"\u003eblog post.\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd tests for JSON Schema 2020-12 field preservation (SEP-1613) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1649\"\u003emodelcontextprotocol/python-sdk#1649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd client_secret_basic authentication support by \u003ca href=\"https://github.com/jonshea\"\u003e\u003ccode\u003e@​jonshea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1334\"\u003emodelcontextprotocol/python-sdk#1334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1577 - Sampling With Tools by \u003ca href=\"https://github.com/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1330: Elicitation Enum Schema Improvements and Standards Compliance by \u003ca href=\"https://github.com/chughtapan\"\u003e\u003ccode\u003e@​chughtapan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1246\"\u003emodelcontextprotocol/python-sdk#1246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[auth][conformance] add conformance auth client by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1640\"\u003emodelcontextprotocol/python-sdk#1640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-986: Tool name validation by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1655\"\u003emodelcontextprotocol/python-sdk#1655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: url for spec by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1659\"\u003emodelcontextprotocol/python-sdk#1659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: implement SEP-991 URL-based client ID (CIMD) support by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1652\"\u003emodelcontextprotocol/python-sdk#1652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate doc string on custom_route by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1660\"\u003emodelcontextprotocol/python-sdk#1660\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1036: URL mode elicitation for secure out-of-band interactions by \u003ca href=\"https://github.com/cbcoutinho\"\u003e\u003ccode\u003e@​cbcoutinho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1580\"\u003emodelcontextprotocol/python-sdk#1580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip empty SSE data to avoid parsing errors by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1670\"\u003emodelcontextprotocol/python-sdk#1670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1686: Tasks by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1645\"\u003emodelcontextprotocol/python-sdk#1645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd on_session_created callback option by \u003ca href=\"https://github.com/crondinini-ant\"\u003e\u003ccode\u003e@​crondinini-ant\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1710\"\u003emodelcontextprotocol/python-sdk#1710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd SSE polling support (SEP-1699) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1654\"\u003emodelcontextprotocol/python-sdk#1654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport client_credentials flow with JWT and Basic auth by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1663\"\u003emodelcontextprotocol/python-sdk#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: backwards-compatible create_message overloads for SEP-1577 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1713\"\u003emodelcontextprotocol/python-sdk#1713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-enable DNS rebinding protection for localhost servers by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e  (d3a184119e4479ea6a63590bc41f01dc06e3fa99)\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/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.22.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: Pass through and expose additional parameters in \u003ccode\u003eClientSessionGroup.call_tool\u003c/code\u003e and \u003ccode\u003e.connect_to_server\u003c/code\u003e by \u003ca href=\"https://github.com/inaku-Gyan\"\u003e\u003ccode\u003e@​inaku-Gyan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1576\"\u003emodelcontextprotocol/python-sdk#1576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Lazy import \u003ccode\u003ejsonschema\u003c/code\u003e library by \u003ca href=\"https://github.com/wuliang229\"\u003e\u003ccode\u003e@​wuliang229\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1596\"\u003emodelcontextprotocol/python-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update examples to use stateless HTTP with JSON responses by \u003ca href=\"https://github.com/domdomegg\"\u003e\u003ccode\u003e@​domdomegg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1499\"\u003emodelcontextprotocol/python-sdk#1499\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/wuliang229\"\u003e\u003ccode\u003e@​wuliang229\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1596\"\u003emodelcontextprotocol/python-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.21.1...v1.22.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.21.1...v1.22.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.21.2\u003c/h2\u003e\n\u003ch2\u003eHotfix Release\u003c/h2\u003e\n\u003cp\u003eThis is a hotfix release to address a critical bug in OAuth scope handling that caused failures on 401 responses.\u003c/p\u003e\n\u003ch3\u003eRelated:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1630\"\u003emodelcontextprotocol/python-sdk#1630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1632\"\u003emodelcontextprotocol/python-sdk#1632\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\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/modelcontextprotocol/python-sdk/commit/d3a184119e4479ea6a63590bc41f01dc06e3fa99\"\u003e\u003ccode\u003ed3a1841\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/fa851d93a2036a37cce73e098f7dbc80a6c48765\"\u003e\u003ccode\u003efa851d9\u003c/code\u003e\u003c/a\u003e feat: backwards-compatible create_message overloads for SEP-1577 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1713\"\u003e#1713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/f82b0c937178815c1e96460455778578050c6d1a\"\u003e\u003ccode\u003ef82b0c9\u003c/code\u003e\u003c/a\u003e Support client_credentials flow with JWT and Basic auth (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1663\"\u003e#1663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/281fd4765e0fc2efaf2039d248...\n\n_Description has been truncated_","html_url":"https://github.com/dporkka/litellm/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dporkka%2Flitellm/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"}],"issue_packages":[{"old_version":"3.10.16","new_version":"3.11.6","update_type":"minor","path":null,"pr_created_at":"2026-04-09T07:28:08.000Z","version_change":"3.10.16 → 3.11.6","issue":{"uuid":"4230319797","node_id":"PR_kwDOANdrbM7RDEDi","number":620,"state":"closed","title":"build(deps): bump the uv group across 1 directory with 5 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-09T08:11:55.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-09T07:28:08.000Z","updated_at":"2026-04-09T08:12:06.000Z","time_to_close":2627,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"uv","update_count":5,"packages":[{"name":"tornado","old_version":"6.5.4","new_version":"6.5.5","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"requests","old_version":"2.32.3","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"black","old_version":"25.1.0","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"44.0.2","new_version":"46.0.7","repository_url":"https://github.com/pyca/cryptography"},{"name":"orjson","old_version":"3.10.16","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.4` | `6.5.5` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.33.0` |\n| [black](https://github.com/psf/black) | `25.1.0` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.2` | `46.0.7` |\n| [orjson](https://github.com/ijl/orjson) | `3.10.16` | `3.11.6` |\n\n\nUpdates `tornado` from 6.5.4 to 6.5.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst\"\u003etornado's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease notes\u003c/h1\u003e\n\u003cp\u003e.. toctree::\n:maxdepth: 2\u003c/p\u003e\n\u003cp\u003ereleases/v6.5.5\nreleases/v6.5.4\nreleases/v6.5.3\nreleases/v6.5.2\nreleases/v6.5.1\nreleases/v6.5.0\nreleases/v6.4.2\nreleases/v6.4.1\nreleases/v6.4.0\nreleases/v6.3.3\nreleases/v6.3.2\nreleases/v6.3.1\nreleases/v6.3.0\nreleases/v6.2.0\nreleases/v6.1.0\nreleases/v6.0.4\nreleases/v6.0.3\nreleases/v6.0.2\nreleases/v6.0.1\nreleases/v6.0.0\nreleases/v5.1.1\nreleases/v5.1.0\nreleases/v5.0.2\nreleases/v5.0.1\nreleases/v5.0.0\nreleases/v4.5.3\nreleases/v4.5.2\nreleases/v4.5.1\nreleases/v4.5.0\nreleases/v4.4.3\nreleases/v4.4.2\nreleases/v4.4.1\nreleases/v4.4.0\nreleases/v4.3.0\nreleases/v4.2.1\nreleases/v4.2.0\nreleases/v4.1.0\nreleases/v4.0.2\nreleases/v4.0.1\nreleases/v4.0.0\nreleases/v3.2.2\nreleases/v3.2.1\nreleases/v3.2.0\nreleases/v3.1.1\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/tornadoweb/tornado/commit/7d6465056ceb7a054b3f64cf1c18271753b10482\"\u003e\u003ccode\u003e7d64650\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3586\"\u003e#3586\u003c/a\u003e from bdarnell/update-cibw\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/d05d59b8080a0d5d6a260994c7aad7049209d345\"\u003e\u003ccode\u003ed05d59b\u003c/code\u003e\u003c/a\u003e build: Bump cibuildwheel to 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/c2f46732b0ad14bf0db4219c96a945f4b60205f5\"\u003e\u003ccode\u003ec2f4673\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3585\"\u003e#3585\u003c/a\u003e from bdarnell/release-655\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/e5f1aa4b6fa2c16b29024830227838fcb0c79b6f\"\u003e\u003ccode\u003ee5f1aa4\u003c/code\u003e\u003c/a\u003e Release notes and version bump for v6.5.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/78a046f99f89977dfc8ff5a1fe16d298afbeeaca\"\u003e\u003ccode\u003e78a046f\u003c/code\u003e\u003c/a\u003e httputil: Add CRLF to _FORBIDDEN_HEADER_CHARS_RE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/24a2d96ea115f663b223887deb0060f13974c104\"\u003e\u003ccode\u003e24a2d96\u003c/code\u003e\u003c/a\u003e web: Validate characters in all cookie attributes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/119a195e290c43ad2d63a2cf012c29d43d6ed839\"\u003e\u003ccode\u003e119a195\u003c/code\u003e\u003c/a\u003e httputil: Add limits on multipart form data parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tornadoweb/tornado/compare/v6.5.4...v6.5.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.3 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 25.1.0 to 26.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\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/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop eventloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c6755bb741b6481d6b3d3bb563c83fa060db96c9\"\u003e\u003ccode\u003ec6755bb\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5046\"\u003e#5046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69973fd6950985fbeb1090d96da717dc4d8380b0\"\u003e\u003ccode\u003e69973fd\u003c/code\u003e\u003c/a\u003e Harden blackd browser-facing request handling (\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4937fe6cf241139ddbfc16b0bdbb5b422798909d\"\u003e\u003ccode\u003e4937fe6\u003c/code\u003e\u003c/a\u003e Fix some shenanigans with the cache file and IPython (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2e641d174469c505d5ae905e75d4c769597e681f\"\u003e\u003ccode\u003e2e641d1\u003c/code\u003e\u003c/a\u003e docs: remove outdated Black Playground references (\u003ca href=\"https://redirect.github.com/psf/black/issues/5044\"\u003e#5044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c014b22a2d5e0632587b47b81151658bddfa0b88\"\u003e\u003ccode\u003ec014b22\u003c/code\u003e\u003c/a\u003e Remove unused internal code (\u003ca href=\"https://redirect.github.com/psf/black/issues/5041\"\u003e#5041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0dae20b2d009f2f03de8696d06b0c947d3abafc9\"\u003e\u003ccode\u003e0dae20b\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5036\"\u003e#5036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c5c1cbddd92cecb554ac2a77a24139dd76831030\"\u003e\u003ccode\u003ec5c1cbd\u003c/code\u003e\u003c/a\u003e Minor release patches (\u003ca href=\"https://redirect.github.com/psf/black/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7e5a828c37d71b6a6666e28eed444816def6a8f4\"\u003e\u003ccode\u003e7e5a828\u003c/code\u003e\u003c/a\u003e docs: clarify relationship between Black style and PEP 8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5025\"\u003e#5025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69705deb8776e7c5e585668da106d1abe2cb8d77\"\u003e\u003ccode\u003e69705de\u003c/code\u003e\u003c/a\u003e docs: add clearer pyproject configuration guidance (\u003ca href=\"https://redirect.github.com/psf/black/issues/5026\"\u003e#5026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/35ea67920b7f6ac8e09be1c47278752b1e827f76\"\u003e\u003ccode\u003e35ea679\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5032\"\u003e#5032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.1.0...26.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 44.0.2 to 46.0.7\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.7 - 2026-04-07\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **SECURITY ISSUE**: Fixed an issue where non-contiguous buffers could be\n  passed to APIs that accept Python buffers, which could lead to buffer\n  overflow. **CVE-2026-39892**\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.6.\n\u003cp\u003e.. _v46-0-6:\u003c/p\u003e\n\u003cp\u003e46.0.6 - 2026-03-25\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSECURITY ISSUE\u003c/strong\u003e: Fixed a bug where name constraints were not applied\nto peer names during verification when the leaf certificate contains a\nwildcard DNS SAN. Ordinary X.509 topologies are not affected by this bug,\nincluding those used by the Web PKI. Credit to \u003cstrong\u003eOleh Konko (1seal)\u003c/strong\u003e for\nreporting the issue. \u003cstrong\u003eCVE-2026-34073\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-5:\u003c/p\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDropped support for win_arm64 wheels\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\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/pyca/cryptography/commit/622d672e429a7cff836a23c5903683dbec1901f5\"\u003e\u003ccode\u003e622d672\u003c/code\u003e\u003c/a\u003e 46.0.7 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14602\"\u003e#14602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/91d728897bdad30cd5c79a2b23e207f1f050d587\"\u003e\u003ccode\u003e91d7288\u003c/code\u003e\u003c/a\u003e Cherry-pick \u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14542\"\u003e#14542\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/44.0.2...46.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.10.16 to 3.11.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6 - 2026-01-29\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2 - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ec02024c3837255064f248c0d2d331319b75e9ad\"\u003e\u003ccode\u003eec02024\u003c/code\u003e\u003c/a\u003e 3.11.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d58168733189f82b3fd0c058dff73e05d09202e6\"\u003e\u003ccode\u003ed581687\u003c/code\u003e\u003c/a\u003e build, clippy misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4105b29b2275f200f6fae01349bef02ccf1bc2e2\"\u003e\u003ccode\u003e4105b29\u003c/code\u003e\u003c/a\u003e writer::num\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/62bb185b70785ded49c79c26f8c9781f1e6fe370\"\u003e\u003ccode\u003e62bb185\u003c/code\u003e\u003c/a\u003e Fix sporadic crash on serializing object close\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d860078a973f44401265c5c4ad12a7dbe4f839ad\"\u003e\u003ccode\u003ed860078\u003c/code\u003e\u003c/a\u003e PyRef idiom refactors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/343ae2f148197918aba9f8562db42c364620e4b8\"\u003e\u003ccode\u003e343ae2f\u003c/code\u003e\u003c/a\u003e Deserializer, Utf8Buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/7835f58d1c56947d1cf7a18acdfc07a2bca9b0f2\"\u003e\u003ccode\u003e7835f58\u003c/code\u003e\u003c/a\u003e PyBytesRef and other input refactor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/71e0516424ce1e11613eb1780f18e8cde83989fd\"\u003e\u003ccode\u003e71e0516\u003c/code\u003e\u003c/a\u003e PyStrRef\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1096df42dc585fde837ed0c930a346f5ef7dbb94\"\u003e\u003ccode\u003e1096df4\u003c/code\u003e\u003c/a\u003e MSRV 1.89\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/b718e75b8ba18a707c2b44b6de14d52547573771\"\u003e\u003ccode\u003eb718e75\u003c/code\u003e\u003c/a\u003e Drop support for python3.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.16...3.11.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/WMD-group/SMACT/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/WMD-group/SMACT/pull/620","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/WMD-group%2FSMACT/issues/620","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/620/packages"}},{"old_version":"3.11.7","new_version":"3.11.8","update_type":"patch","path":null,"pr_created_at":"2026-04-09T04:46:57.000Z","version_change":"3.11.7 → 3.11.8","issue":{"uuid":"4229481563","node_id":"PR_kwDOBXYo-M7RA5_d","number":13045,"state":"open","title":"chore(deps): bump orjson from 3.11.7 to 3.11.8","user":"dependabot[bot]","labels":["Dependencies","Python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-09T04:46:57.000Z","updated_at":"2026-04-09T05:01:06.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"orjson","old_version":"3.11.7","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps [orjson](https://github.com/ijl/orjson) from 3.11.7 to 3.11.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8 - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78\"\u003e\u003ccode\u003e5cbb3d0\u003c/code\u003e\u003c/a\u003e 3.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e\"\u003e\u003ccode\u003e4195d7f\u003c/code\u003e\u003c/a\u003e writer::half\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b\"\u003e\u003ccode\u003ed00641b\u003c/code\u003e\u003c/a\u003e writer::uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84\"\u003e\u003ccode\u003ec84d9b4\u003c/code\u003e\u003c/a\u003e build and compatibility misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43\"\u003e\u003ccode\u003e4547234\u003c/code\u003e\u003c/a\u003e ffi::numpy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb\"\u003e\u003ccode\u003e0d4a5ad\u003c/code\u003e\u003c/a\u003e datetime PyRef idiom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85\"\u003e\u003ccode\u003ee93a13d\u003c/code\u003e\u003c/a\u003e Cross-compile avoids maturin v1.12 build-details.json error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.7...3.11.8\"\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=orjson\u0026package-manager=pip\u0026previous-version=3.11.7\u0026new-version=3.11.8)](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/freqtrade/freqtrade/pull/13045","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/freqtrade%2Ffreqtrade/issues/13045","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13045/packages"}},{"old_version":"3.11.7","new_version":"3.11.8","update_type":"patch","path":null,"pr_created_at":"2026-04-06T23:32:54.000Z","version_change":"3.11.7 → 3.11.8","issue":{"uuid":"4214584659","node_id":"PR_kwDOQjWrwM7QV8At","number":102,"state":"closed","title":"build(deps): bump the minor-updates group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-08T22:15:51.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-06T23:32:54.000Z","updated_at":"2026-04-08T22:15:53.000Z","time_to_close":168177,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"minor-updates","update_count":15,"packages":[{"name":"boto3","old_version":"1.42.73","new_version":"1.42.83","repository_url":"https://github.com/boto/boto3"},{"name":"mcp","old_version":"1.26.0","new_version":"1.27.0","repository_url":"https://github.com/modelcontextprotocol/python-sdk"},{"name":"strands-agents","old_version":"1.32.0","new_version":"1.34.1","repository_url":"https://github.com/strands-agents/sdk-python"},{"name":"regex","old_version":"2026.2.28","new_version":"2026.4.4","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"anyio","old_version":"4.12.1","new_version":"4.13.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"botocore","old_version":"1.42.73","new_version":"1.42.83","repository_url":"https://github.com/boto/botocore"},{"name":"charset-normalizer","old_version":"3.4.6","new_version":"3.4.7","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.3.1","new_version":"8.3.2","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":"importlib-metadata","old_version":"8.7.1","new_version":"8.9.0","repository_url":"https://github.com/python/importlib_metadata"},{"name":"orjson","old_version":"3.11.7","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.45.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"requests","old_version":"2.33.0","new_version":"2.33.1","repository_url":"https://github.com/psf/requests"},{"name":"sse-starlette","old_version":"3.3.3","new_version":"3.3.4","repository_url":"https://github.com/sysid/sse-starlette"},{"name":"uvicorn","old_version":"0.42.0","new_version":"0.43.0","repository_url":"https://github.com/Kludex/uvicorn"}],"path":null,"ecosystem":"pip"},"body":"Bumps the minor-updates group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [boto3](https://github.com/boto/boto3) | `1.42.73` | `1.42.83` |\n| [mcp](https://github.com/modelcontextprotocol/python-sdk) | `1.26.0` | `1.27.0` |\n| [strands-agents](https://github.com/strands-agents/sdk-python) | `1.32.0` | `1.34.1` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2026.2.28` | `2026.4.4` |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.1` | `4.13.0` |\n| [botocore](https://github.com/boto/botocore) | `1.42.73` | `1.42.83` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.6` | `3.4.7` |\n| [click](https://github.com/pallets/click) | `8.3.1` | `8.3.2` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.5` | `46.0.6` |\n| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.7.1` | `8.9.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.7` | `3.11.8` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.45.0` |\n| [requests](https://github.com/psf/requests) | `2.33.0` | `2.33.1` |\n| [sse-starlette](https://github.com/sysid/sse-starlette) | `3.3.3` | `3.3.4` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.42.0` | `0.43.0` |\n\n\nUpdates `boto3` from 1.42.73 to 1.42.83\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/319798f7910ad2f4117bf423f0242c082a1f0abd\"\u003e\u003ccode\u003e319798f\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.83'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/afa955efa904e19965b744b7f6751218d4ded2ba\"\u003e\u003ccode\u003eafa955e\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.83\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/969066df9c961c562442fbaba3a70554c2fc094b\"\u003e\u003ccode\u003e969066d\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/f4c31406f10f0952510b8733ee4185c1407a3772\"\u003e\u003ccode\u003ef4c3140\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.82'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/8237e0e7bec72aaa31544544d34fab241b37553e\"\u003e\u003ccode\u003e8237e0e\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.82' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/6f10d160c1cf966372adf52d6fe16c7902b929be\"\u003e\u003ccode\u003e6f10d16\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.82\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/2eb11452a8e3eea9bf0d1712f233bd0dcefcaf59\"\u003e\u003ccode\u003e2eb1145\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/a70b9fd264bc254bcf168c37e2371285b96239d9\"\u003e\u003ccode\u003ea70b9fd\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.81'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/56ae489b4b4c8e7ebec45fa85b4f5cc81576e739\"\u003e\u003ccode\u003e56ae489\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.81' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/e65b71f091a7f343569690deae3d8ed2f43cce79\"\u003e\u003ccode\u003ee65b71f\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.81\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.42.73...1.42.83\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp` from 1.26.0 to 1.27.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.27.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: remove unused \u003ccode\u003erequests\u003c/code\u003e dependency from simple-chatbot example by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1959\"\u003emodelcontextprotocol/python-sdk#1959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: backport conformance tests from main to v1.x by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2068\"\u003emodelcontextprotocol/python-sdk#2068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add RFC 8707 resource validation to OAuth client by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2069\"\u003emodelcontextprotocol/python-sdk#2069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add idle timeout for StreamableHTTP sessions by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1994\"\u003emodelcontextprotocol/python-sdk#1994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x] fix: prevent command injection in example URL opening by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2085\"\u003emodelcontextprotocol/python-sdk#2085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd VERSIONING.md, ROADMAP.md, and DEPENDENCY_POLICY.md by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2084\"\u003emodelcontextprotocol/python-sdk#2084\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: restructure README into docs/ pages by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2091\"\u003emodelcontextprotocol/python-sdk#2091\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: comprehensive feature documentation for SEP-1730 Tier 1 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2090\"\u003emodelcontextprotocol/python-sdk#2090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix stub pages and improve docs structure by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2101\"\u003emodelcontextprotocol/python-sdk#2101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix GitHub links to point to v1.x branch by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2102\"\u003emodelcontextprotocol/python-sdk#2102\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add snippet verification for docs/ pages by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2115\"\u003emodelcontextprotocol/python-sdk#2115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add server-side tool error handling documentation by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2129\"\u003emodelcontextprotocol/python-sdk#2129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport: Add missing TasksCallCapability to v1.x by \u003ca href=\"https://github.com/BabyChrist666\"\u003e\u003ccode\u003e@​BabyChrist666\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2137\"\u003emodelcontextprotocol/python-sdk#2137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x] fix: handle non-UTF-8 bytes in stdio server stdin by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2303\"\u003emodelcontextprotocol/python-sdk#2303\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x] fix: handle ClosedResourceError when transport closes mid-request by \u003ca href=\"https://github.com/owendevereaux\"\u003e\u003ccode\u003e@​owendevereaux\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2334\"\u003emodelcontextprotocol/python-sdk#2334\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/owendevereaux\"\u003e\u003ccode\u003e@​owendevereaux\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2334\"\u003emodelcontextprotocol/python-sdk#2334\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.26.0...v1.27.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.26.0...v1.27.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/modelcontextprotocol/python-sdk/commit/652478266702ac71a1d03692337bd5207ddbedf4\"\u003e\u003ccode\u003e6524782\u003c/code\u003e\u003c/a\u003e [v1.x] fix: handle ClosedResourceError when transport closes mid-request (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2334\"\u003e#2334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/2e9897e2b916bef25e7755146aeb9f9b69c1075d\"\u003e\u003ccode\u003e2e9897e\u003c/code\u003e\u003c/a\u003e [v1.x] fix: handle non-UTF-8 bytes in stdio server stdin (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2303\"\u003e#2303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/f8d98b63a7e9ab5855d79556d3d7e5638472af6c\"\u003e\u003ccode\u003ef8d98b6\u003c/code\u003e\u003c/a\u003e Backport: Add missing TasksCallCapability to v1.x (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2137\"\u003e#2137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c68e254bad1dd39e6a10dad43d954c6d17f9f514\"\u003e\u003ccode\u003ec68e254\u003c/code\u003e\u003c/a\u003e docs: add server-side tool error handling documentation (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2129\"\u003e#2129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/1ef124e4a85c1c0947fdc6ba1dd1af384d866064\"\u003e\u003ccode\u003e1ef124e\u003c/code\u003e\u003c/a\u003e docs: add snippet verification for docs/ pages (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2115\"\u003e#2115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/cfbbd7d71aeb094b122c8780a5cb3816e09f29af\"\u003e\u003ccode\u003ecfbbd7d\u003c/code\u003e\u003c/a\u003e docs: fix GitHub links to point to v1.x branch (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2102\"\u003e#2102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/1f9fb348f3311bb7cc139bc2c457220368cfea9e\"\u003e\u003ccode\u003e1f9fb34\u003c/code\u003e\u003c/a\u003e docs: fix stub pages and improve docs structure (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2101\"\u003e#2101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c86477c7b752c57e503c00b93cd7f161a2562d49\"\u003e\u003ccode\u003ec86477c\u003c/code\u003e\u003c/a\u003e docs: comprehensive feature documentation for SEP-1730 Tier 1 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2090\"\u003e#2090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/a77462b64da89439aa49cb115fff830f3b09d01e\"\u003e\u003ccode\u003ea77462b\u003c/code\u003e\u003c/a\u003e docs: restructure README into docs/ pages (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2091\"\u003e#2091\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/b1adfcd88542fb2930f42cccab2f3629f605c498\"\u003e\u003ccode\u003eb1adfcd\u003c/code\u003e\u003c/a\u003e Add VERSIONING.md, ROADMAP.md, and DEPENDENCY_POLICY.md (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2084\"\u003e#2084\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.26.0...v1.27.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `strands-agents` from 1.32.0 to 1.34.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/strands-agents/sdk-python/releases\"\u003estrands-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.34.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: fix type imcompatible by \u003ca href=\"https://github.com/JackYPCOnline\"\u003e\u003ccode\u003e@​JackYPCOnline\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/2018\"\u003estrands-agents/sdk-python#2018\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: isolate langfuse env vars by \u003ca href=\"https://github.com/lizradway\"\u003e\u003ccode\u003e@​lizradway\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/2022\"\u003estrands-agents/sdk-python#2022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: restore explicit span.end() to fix span end_time regression by \u003ca href=\"https://github.com/zastrowm\"\u003e\u003ccode\u003e@​zastrowm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/2032\"\u003estrands-agents/sdk-python#2032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(context): track context tokens by \u003ca href=\"https://github.com/lizradway\"\u003e\u003ccode\u003e@​lizradway\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/2009\"\u003estrands-agents/sdk-python#2009\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/strands-agents/sdk-python/compare/v1.34.0...v1.34.1\"\u003ehttps://github.com/strands-agents/sdk-python/compare/v1.34.0...v1.34.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.34.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: remove Cohere from required integ test providers by \u003ca href=\"https://github.com/zastrowm\"\u003e\u003ccode\u003e@​zastrowm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1967\"\u003estrands-agents/sdk-python#1967\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add AgentAsTool by \u003ca href=\"https://github.com/notowen333\"\u003e\u003ccode\u003e@​notowen333\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1932\"\u003estrands-agents/sdk-python#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: auto-wrap Agent instances passed in tools list by \u003ca href=\"https://github.com/agent-of-mkmeral\"\u003e\u003ccode\u003e@​agent-of-mkmeral\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1997\"\u003estrands-agents/sdk-python#1997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(telemetry): emit system prompt on chat spans per GenAI semconv by \u003ca href=\"https://github.com/sanjeed5\"\u003e\u003ccode\u003e@​sanjeed5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1818\"\u003estrands-agents/sdk-python#1818\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(mcp): add support for MCP elicitation -32042 error handling by \u003ca href=\"https://github.com/Christian-kam\"\u003e\u003ccode\u003e@​Christian-kam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1745\"\u003estrands-agents/sdk-python#1745\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: ollama input/output token count by \u003ca href=\"https://github.com/lizradway\"\u003e\u003ccode\u003e@​lizradway\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/2008\"\u003estrands-agents/sdk-python#2008\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add stateful model support for server-side conversation management by \u003ca href=\"https://github.com/pgrayy\"\u003e\u003ccode\u003e@​pgrayy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/2004\"\u003estrands-agents/sdk-python#2004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add built-in tool support for OpenAI Responses API by \u003ca href=\"https://github.com/pgrayy\"\u003e\u003ccode\u003e@​pgrayy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/2011\"\u003estrands-agents/sdk-python#2011\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: handle reasoning content in OpenAIResponsesModel request formatting by \u003ca href=\"https://github.com/pgrayy\"\u003e\u003ccode\u003e@​pgrayy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/2013\"\u003estrands-agents/sdk-python#2013\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/notowen333\"\u003e\u003ccode\u003e@​notowen333\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1932\"\u003estrands-agents/sdk-python#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agent-of-mkmeral\"\u003e\u003ccode\u003e@​agent-of-mkmeral\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1997\"\u003estrands-agents/sdk-python#1997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sanjeed5\"\u003e\u003ccode\u003e@​sanjeed5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1818\"\u003estrands-agents/sdk-python#1818\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Christian-kam\"\u003e\u003ccode\u003e@​Christian-kam\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1745\"\u003estrands-agents/sdk-python#1745\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/strands-agents/sdk-python/compare/v1.33.0...v1.34.0\"\u003ehttps://github.com/strands-agents/sdk-python/compare/v1.33.0...v1.34.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.33.0\u003c/h2\u003e\n\u003cp\u003ePins litellm\u0026lt;=1.82.6 to supply chain attack - \u003ca href=\"https://futuresearch.ai/blog/litellm-pypi-supply-chain-attack/\"\u003eS​upply Chain Attack in litellm 1.82.8 on PyPI\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: summarization conversation manager sometimes returns empty response by \u003ca href=\"https://github.com/Unshure\"\u003e\u003ccode\u003e@​Unshure\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1947\"\u003estrands-agents/sdk-python#1947\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove agent from swarm test to get more consistency out of it by \u003ca href=\"https://github.com/Unshure\"\u003e\u003ccode\u003e@​Unshure\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1946\"\u003estrands-agents/sdk-python#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: CRITICAL: Hard pin \u003ccode\u003elitellm\u0026lt;=1.82.6\u003c/code\u003e to mitigate supply chain attack by \u003ca href=\"https://github.com/udaymehta\"\u003e\u003ccode\u003e@​udaymehta\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1961\"\u003estrands-agents/sdk-python#1961\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/udaymehta\"\u003e\u003ccode\u003e@​udaymehta\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/pull/1961\"\u003estrands-agents/sdk-python#1961\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/strands-agents/sdk-python/compare/v1.32.0...v1.33.0\"\u003ehttps://github.com/strands-agents/sdk-python/compare/v1.32.0...v1.33.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/strands-agents/sdk-python/commit/635edbc60b72c5aa3df7e92bdfd8d1aec7b5223c\"\u003e\u003ccode\u003e635edbc\u003c/code\u003e\u003c/a\u003e feat(context): surface context window size from LLM response metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strands-agents/sdk-python/commit/cda2a55a8eb0c5e681bfda9764fd47048a67f6b9\"\u003e\u003ccode\u003ecda2a55\u003c/code\u003e\u003c/a\u003e fix: restore explicit span.end() to fix span end_time regression (\u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/issues/2032\"\u003e#2032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strands-agents/sdk-python/commit/53917945a137c5e61e0b9b62ed079c90280bf014\"\u003e\u003ccode\u003e5391794\u003c/code\u003e\u003c/a\u003e fix: isolate langfuse env vars (\u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/issues/2022\"\u003e#2022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strands-agents/sdk-python/commit/7b4df8aef611ef49cd8e87557c8002b1ff2f6555\"\u003e\u003ccode\u003e7b4df8a\u003c/code\u003e\u003c/a\u003e fix: fix type imcompatible (\u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/issues/2018\"\u003e#2018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strands-agents/sdk-python/commit/e267a64b8a664bbda5802005281551e5dd6af412\"\u003e\u003ccode\u003ee267a64\u003c/code\u003e\u003c/a\u003e fix: handle reasoning content in OpenAIResponsesModel request formatting (\u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/issues/2013\"\u003e#2013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strands-agents/sdk-python/commit/de9b1498950545816f4384f1aa612e4b0d5d4a2d\"\u003e\u003ccode\u003ede9b149\u003c/code\u003e\u003c/a\u003e feat: add built-in tool support for OpenAI Responses API (\u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/issues/2011\"\u003e#2011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strands-agents/sdk-python/commit/ae19308d0e4e3114f81a2b3776c8afb43d5646ba\"\u003e\u003ccode\u003eae19308\u003c/code\u003e\u003c/a\u003e feat: add stateful model support for server-side conversation management (\u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/issues/2004\"\u003e#2004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strands-agents/sdk-python/commit/424224d6bef0789302644876faf0b745bdbc5876\"\u003e\u003ccode\u003e424224d\u003c/code\u003e\u003c/a\u003e fix: ollama input/output token count (\u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/issues/2008\"\u003e#2008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strands-agents/sdk-python/commit/e2b60364677e0fca967d3247aa3cb5890bc67e78\"\u003e\u003ccode\u003ee2b6036\u003c/code\u003e\u003c/a\u003e feat(mcp): add support for MCP elicitation -32042 error handling (\u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/issues/1745\"\u003e#1745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strands-agents/sdk-python/commit/194c69b42ea5b537707f20f3acf3348d539a91b5\"\u003e\u003ccode\u003e194c69b\u003c/code\u003e\u003c/a\u003e feat(telemetry): emit system prompt on chat spans per GenAI semconv (\u003ca href=\"https://redirect.github.com/strands-agents/sdk-python/issues/1818\"\u003e#1818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/strands-agents/sdk-python/compare/v1.32.0...v1.34.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `regex` from 2026.2.28 to 2026.4.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/bc57b04b00de68590345ac2eb621b9a8dd222d7d\"\u003e\u003ccode\u003ebc57b04\u003c/code\u003e\u003c/a\u003e A fix for older Python versions before free-threading was  supported.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/773e213b5d7a78806e795d2513a37345dc793e97\"\u003e\u003ccode\u003e773e213\u003c/code\u003e\u003c/a\u003e More fixes for free-threading.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/5d51c75da03116e08bb6fb537fae6d8c804cc92c\"\u003e\u003ccode\u003e5d51c75\u003c/code\u003e\u003c/a\u003e Fixed segfault.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/2aff2db5542ec5b58705be6ddb7b69a99d3e38a8\"\u003e\u003ccode\u003e2aff2db\u003c/code\u003e\u003c/a\u003e Fixed bug again.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/16af8aed2b3211e90588d2ac96f7c588ed477b2c\"\u003e\u003ccode\u003e16af8ae\u003c/code\u003e\u003c/a\u003e Fixed bug.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/2356563bbfd51b3986320a866c35a50b89833949\"\u003e\u003ccode\u003e2356563\u003c/code\u003e\u003c/a\u003e Fixed bug.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/f579e8ff60e2993a11cf4fd96748e4b7866c9fed\"\u003e\u003ccode\u003ef579e8f\u003c/code\u003e\u003c/a\u003e Fixed version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/55315a0497722898bed8286a596a64db698f498e\"\u003e\u003ccode\u003e55315a0\u003c/code\u003e\u003c/a\u003e Fixed version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/923d78e39b8ff92db67606be3bfbc2e595b6475a\"\u003e\u003ccode\u003e923d78e\u003c/code\u003e\u003c/a\u003e Various fixes, including ones to improve free-threading support.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mrabarnett/mrab-regex/compare/2026.2.28...2026.4.4\"\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://redirect.github.com/agronholm/anyio/issues/1097\"\u003e#1097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/602f6606dcf3f37702686a4f3e161328c537b07f\"\u003e\u003ccode\u003e602f660\u003c/code\u003e\u003c/a\u003e Widened type annotations to accept IO[bytes] in file streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/b5dcd45170701a756ba634197398f05d4710cab3\"\u003e\u003ccode\u003eb5dcd45\u003c/code\u003e\u003c/a\u003e Added note about erasing the template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/d68670b3b4e0917d4caff2de082e03220f3e05a1\"\u003e\u003ccode\u003ed68670b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1090\"\u003e#1090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/fc17a22dd948e6a3d90d99908813f0010dfc3d2c\"\u003e\u003ccode\u003efc17a22\u003c/code\u003e\u003c/a\u003e tweak to_thread docs about abandon_on_cancel (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1088\"\u003e#1088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.12.1...4.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `botocore` from 1.42.73 to 1.42.83\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/da27682f6cf66cf28ed80e4c5c11023a8dfdde86\"\u003e\u003ccode\u003eda27682\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.83'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/ab51d1ab429850efd7a1bccc829ff44514e4f463\"\u003e\u003ccode\u003eab51d1a\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.83\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/007c8a9faf604a95c877bf44875b7265a86bab90\"\u003e\u003ccode\u003e007c8a9\u003c/code\u003e\u003c/a\u003e Update to latest models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/d3423dea21f083ff825eacd205bb074a855ff460\"\u003e\u003ccode\u003ed3423de\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.82'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/59521564b70395bb92385db68da27ba424925b82\"\u003e\u003ccode\u003e5952156\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.82' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/009c08e111516b74426ae3541869ad48a9030179\"\u003e\u003ccode\u003e009c08e\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.82\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/38af07071ac1e4d786360af6e095fab777a5722b\"\u003e\u003ccode\u003e38af070\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/eee227dd5c216a58482247f6b3071e884c9a5056\"\u003e\u003ccode\u003eeee227d\u003c/code\u003e\u003c/a\u003e Update to latest models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/01c835b053439403b58de5409373bcf724bcb382\"\u003e\u003ccode\u003e01c835b\u003c/code\u003e\u003c/a\u003e Add the GitHub CI script for pull request build (\u003ca href=\"https://redirect.github.com/boto/botocore/issues/3664\"\u003e#3664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/56a6ef8c49887d3cba09ee5a085f16e97c1fdde1\"\u003e\u003ccode\u003e56a6ef8\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.81'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/botocore/compare/1.42.73...1.42.83\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `charset-normalizer` from 3.4.6 to 3.4.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/releases\"\u003echarset-normalizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.4.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.6...3.4.7\"\u003e3.4.7\u003c/a\u003e (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePre-built optimized version using mypy[c] v1.20.\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;82.1\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly remove SIG remnant in utf-7 decoded string. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/718\"\u003e#718\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/716\"\u003e#716\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md\"\u003echarset-normalizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.6...3.4.7\"\u003e3.4.7\u003c/a\u003e (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePre-built optimized version using mypy[c] v1.20.\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;82.1\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly remove SIG remnant in utf-7 decoded string. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/718\"\u003e#718\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/716\"\u003e#716\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/0f07891bf516b5d5231f1bd4dd2d8da7d4d09a9a\"\u003e\u003ccode\u003e0f07891\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/729\"\u003e#729\u003c/a\u003e from jawah/release-3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/fdbeb299479e8f4d737e4d227cd0b2bd5d273dc0\"\u003e\u003ccode\u003efdbeb29\u003c/code\u003e\u003c/a\u003e chore: update dev, and ci requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b66f922bfbdbdd9dd46af18a8964d4fb888756d4\"\u003e\u003ccode\u003eb66f922\u003c/code\u003e\u003c/a\u003e chore: add ft classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/f94249d0a2c712f2d03124f4de6b77f5e03aaa96\"\u003e\u003ccode\u003ef94249d\u003c/code\u003e\u003c/a\u003e chore: add test cases for utf_7 recent fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/95c866f6c984bbd043e7e3ed0628aa4f3f8d5a26\"\u003e\u003ccode\u003e95c866f\u003c/code\u003e\u003c/a\u003e chore: bump version to 3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/4f429bb764c7e893f99bb4bceb60856da1baacfb\"\u003e\u003ccode\u003e4f429bb\u003c/code\u003e\u003c/a\u003e chore: bump mypy pre-commit to v1.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b579cd6cab9bd83aa3fc0ca169d4df022bf4888c\"\u003e\u003ccode\u003eb579cd6\u003c/code\u003e\u003c/a\u003e fix: correctly remove SIG remnant in utf-7 decoded string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/58bf944a77cc0883fc46a6ee8edac3549fea5d59\"\u003e\u003ccode\u003e58bf944\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump github/codeql-action from 4.32.4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/728\"\u003e#728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/44cf8a1b676a2532a8f1694e62e4f4f98f9132e1\"\u003e\u003ccode\u003e44cf8a1\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump actions/download-artifact from 8.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/362bc20073f737b1ba4ca2f68cffb0c4cc024d20\"\u003e\u003ccode\u003e362bc20\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump docker/setup-qemu-action from 3.7.0 to 4.0.0 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/725\"\u003e#725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jawah/charset_normalizer/compare/3.4.6...3.4.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.3.1 to 8.3.2\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.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.2/\"\u003ehttps://pypi.org/project/click/8.3.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/29\"\u003ehttps://github.com/pallets/click/milestone/29\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eflag_value\u003c/code\u003e when \u003ccode\u003eis_flag=False\u003c/code\u003e to allow such options to be\nused without an explicit value. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3084\"\u003e#3084\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3152\"\u003e#3152\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when using \u003ccode\u003elookup_default()\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3199\"\u003e#3199\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3202\"\u003e#3202\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3209\"\u003e#3209\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3212\"\u003e#3212\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3224\"\u003e#3224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent \u003ccode\u003e_NamedTextIOWrapper\u003c/code\u003e from closing streams owned by \u003ccode\u003eStreamMixer\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/824\"\u003e#824\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2991\"\u003e#2991\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2993\"\u003e#2993\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3110\"\u003e#3110\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3139\"\u003e#3139\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3140\"\u003e#3140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd comprehensive tests for \u003ccode\u003eCliRunner\u003c/code\u003e stream lifecycle, covering\nlogging interaction, multi-threaded safety, and sequential invocation\nisolation. Add high-iteration stress tests behind a \u003ccode\u003estress\u003c/code\u003e marker\nwith a dedicated CI job. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3139\"\u003e#3139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix callable \u003ccode\u003eflag_value\u003c/code\u003e being instantiated when used as a default via\n\u003ccode\u003edefault=True\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3121\"\u003e#3121\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3201\"\u003e#3201\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3213\"\u003e#3213\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3225\"\u003e#3225\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.2\u003c/h2\u003e\n\u003cp\u003eReleased 2026-04-02\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eflag_value\u003c/code\u003e when \u003ccode\u003eis_flag=False\u003c/code\u003e to allow such options to be\nused without an explicit value. :issue:\u003ccode\u003e3084\u003c/code\u003e :pr:\u003ccode\u003e3152\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when using \u003ccode\u003elookup_default()\u003c/code\u003e.\n:issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3199\u003c/code\u003e :pr:\u003ccode\u003e3202\u003c/code\u003e :pr:\u003ccode\u003e3209\u003c/code\u003e :pr:\u003ccode\u003e3212\u003c/code\u003e :pr:\u003ccode\u003e3224\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ePrevent \u003ccode\u003e_NamedTextIOWrapper\u003c/code\u003e from closing streams owned by \u003ccode\u003eStreamMixer\u003c/code\u003e.\n:issue:\u003ccode\u003e824\u003c/code\u003e :issue:\u003ccode\u003e2991\u003c/code\u003e :issue:\u003ccode\u003e2993\u003c/code\u003e :issue:\u003ccode\u003e3110\u003c/code\u003e :pr:\u003ccode\u003e3139\u003c/code\u003e :pr:\u003ccode\u003e3140\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd comprehensive tests for \u003ccode\u003eCliRunner\u003c/code\u003e stream lifecycle, covering\nlogging interaction, multi-threaded safety, and sequential invocation\nisolation. Add high-iteration stress tests behind a \u003ccode\u003estress\u003c/code\u003e marker\nwith a dedicated CI job. :pr:\u003ccode\u003e3139\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix callable \u003ccode\u003eflag_value\u003c/code\u003e being instantiated when used as a default via\n\u003ccode\u003edefault=True\u003c/code\u003e. :issue:\u003ccode\u003e3121\u003c/code\u003e :pr:\u003ccode\u003e3201\u003c/code\u003e :pr:\u003ccode\u003e3213\u003c/code\u003e :pr:\u003ccode\u003e3225\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/052c006033729bbb422cbdad0c4fee988ecb5aa5\"\u003e\u003ccode\u003e052c006\u003c/code\u003e\u003c/a\u003e Change update release date.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/502b7ce7b131473ef00a3586e60bb000f33b4c43\"\u003e\u003ccode\u003e502b7ce\u003c/code\u003e\u003c/a\u003e Merge branch 'stable' of \u003ca href=\"https://github.com/pallets/click\"\u003ehttps://github.com/pallets/click\u003c/a\u003e into release-8.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a0a37e411820861d48e21b131fdd840abaf746e0\"\u003e\u003ccode\u003ea0a37e4\u003c/code\u003e\u003c/a\u003e Change publish to werkzeug latest. (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3301\"\u003e#3301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/57be6fc2b40eb40279d022e6aabc983ee0dfb7a9\"\u003e\u003ccode\u003e57be6fc\u003c/code\u003e\u003c/a\u003e Change publish to werkzeug latest.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/781d6a88bdd30229e72a84cd6753b0235f339679\"\u003e\u003ccode\u003e781d6a8\u003c/code\u003e\u003c/a\u003e Update publish workflows (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ff795b66ba945239c779b528171f5fe4536cf844\"\u003e\u003ccode\u003eff795b6\u003c/code\u003e\u003c/a\u003e Update precommit pins with tox\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/dd87ef4f9fa7d6f13e14885e9a6842a21ededebc\"\u003e\u003ccode\u003edd87ef4\u003c/code\u003e\u003c/a\u003e Update github action pins with tox\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/93d3f9d22e90035bc2b51c2183c15bd4a021376f\"\u003e\u003ccode\u003e93d3f9d\u003c/code\u003e\u003c/a\u003e Release version 8.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3299ba1a8a5de34b24a7226a683a837d8a0857e7\"\u003e\u003ccode\u003e3299ba1\u003c/code\u003e\u003c/a\u003e Add missing PR to changelog. (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3264\"\u003e#3264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b7f62c4d002e5b5bca3ebef6b995b7338740fe6f\"\u003e\u003ccode\u003eb7f62c4\u003c/code\u003e\u003c/a\u003e Add missing PR to changelog.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.3.1...8.3.2\"\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 `importlib-metadata` from 8.7.1 to 8.9.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/importlib_metadata/blob/main/NEWS.rst\"\u003eimportlib-metadata's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev8.9.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epython/cpython#110937\u003c/code\u003e\u003ca href=\"https://redirect.github.com/python/cpython/issues/140141\"\u003epython/cpython#140141\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/python/cpython/issues/143658\"\u003epython/cpython#143658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev8.8.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved Python 3.9 compatibility.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/importlib_metadata/commit/76f03df2f4df25de8aa9424cf31e600cf27f7d59\"\u003e\u003ccode\u003e76f03df\u003c/code\u003e\u003c/a\u003e 🚡 Toil the docs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/importlib_metadata/commit/613e9801303fff742a40cde7e46aaecddb41cdbf\"\u003e\u003ccode\u003e613e980\u003c/code\u003e\u003c/a\u003e Finalize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/importlib_metadata/commit/349957ee71c4a9ddbfc67fd9c907a3df80a2e64b\"\u003e\u003ccode\u003e349957e\u003c/code\u003e\u003c/a\u003e Add news fragment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/importlib_metadata/commit/8c5d91b58a95d497b5aca624fcc32620b82264fe\"\u003e\u003ccode\u003e8c5d91b\u003c/code\u003e\u003c/a\u003e Improve performance of name normalization (\u003ca href=\"https://redirect.github.com/python/importlib_metadata/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/importlib_metadata/commit/27169dcd343e65727805c12bc95bd52c9153cd04\"\u003e\u003ccode\u003e27169dc\u003c/code\u003e\u003c/a\u003e Move behavior description into the docstring. Remove references to intermedia...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/importlib_metadata/commit/cbadafcad64cee12d292ed8ac1dc96bb0295966a\"\u003e\u003ccode\u003ecbadafc\u003c/code\u003e\u003c/a\u003e Repeat the operation to get performance visibility.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/importlib_metadata/commit/a77d0d1b2f79d7fd21728284d2955ffa6d5caceb\"\u003e\u003ccode\u003ea77d0d1\u003c/code\u003e\u003c/a\u003e Add performance test for Prepared.normalize.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/importlib_metadata/commit/1b0be12fc662f0ba4ee6c86d544585485ff40dac\"\u003e\u003ccode\u003e1b0be12\u003c/code\u003e\u003c/a\u003e Use parameterize fixture for parameterized tests.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/importlib_metadata/commit/1738b206fb266302d2b7c05d2864c54b75e71c15\"\u003e\u003ccode\u003e1738b20\u003c/code\u003e\u003c/a\u003e Merge branch 'backport-cpython-140141' into maint/8.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/importlib_metadata/commit/164e666bc0802194f3cba970cd629665b74f64b0\"\u003e\u003ccode\u003e164e666\u003c/code\u003e\u003c/a\u003e Merge branch 'backport-cpython-110937' into maint/8.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/importlib_metadata/compare/v8.7.1...v8.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.11.7 to 3.11.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8 - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78\"\u003e\u003ccode\u003e5cbb3d0\u003c/code\u003e\u003c/a\u003e 3.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e\"\u003e\u003ccode\u003e4195d7f\u003c/code\u003e\u003c/a\u003e writer::half\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b\"\u003e\u003ccode\u003ed00641b\u003c/code\u003e\u003c/a\u003e writer::uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84\"\u003e\u003ccode\u003ec84d9b4\u003c/code\u003e\u003c/a\u003e build and compatibility misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43\"\u003e\u003ccode\u003e4547234\u003c/code\u003e\u003c/a\u003e ffi::numpy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb\"\u003e\u003ccode\u003e0d4a5ad\u003c/code\u003e\u003c/a\u003e datetime PyRef idiom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85\"\u003e\u003ccode\u003ee93a13d\u003c/code\u003e\u003c/a\u003e Cross-compile avoids maturin v1.12 build-details.json error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.7...3.11.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-core` from 2.41.5 to 2.45.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic-core/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.33.0 to 2.33.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.1\u003c/h2\u003e\n\u003ch2\u003e2.33.1 (2026-03-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed test cleanup for CVE-2026-25645 to avoid leaving unnecessary\nfiles in the tmp directory. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7305\"\u003e#7305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Content-Type header parsing for malformed values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7309\"\u003e#7309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error consistency for malformed header values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7308\"\u003e#7308\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ferdnyc\"\u003e\u003ccode\u003e@​ferdnyc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7277\"\u003epsf/requests#7277\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2331-2026-03-30\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2331-2026-03-30\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.1 (2026-03-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed test cleanup for CVE-2026-25645 to avoid leaving unnecessary\nfiles in the tmp directory. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7305\"\u003e#7305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Content-Type header parsing for malformed values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7309\"\u003e#7309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error consistency for malformed header values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7308\"\u003e#7308\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/111d2b77790bf49943c0dfa09b365371c24aec7e\"\u003e\u003ccode\u003e111d2b7\u003c/code\u003e\u003c/a\u003e v2.33.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/f0198e6dfc431a2293dc16e1b1e8fcddc910a7f3\"\u003e\u003ccode\u003ef0198e6\u003c/code\u003e\u003c/a\u003e Fix malformed value parsing for Content-Type (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7309\"\u003e#7309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc7dd0fc4d56e808bcdd85ac2d797b3107c89259\"\u003e\u003ccode\u003ebc7dd0f\u003c/code\u003e\u003c/a\u003e Fix cosmetic header validity parsing regex (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7308\"\u003e#7308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4443b1a847b190010c2972a658924b98b5db6360\"\u003e\u003ccode\u003e4443b1a\u003c/code\u003e\u003c/a\u003e Fix unintended test extra (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7306\"\u003e#7306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/389eea58dfb2f2ee096421a812e3af29c0298951\"\u003e\u003ccode\u003e389eea5\u003c/code\u003e\u003c/a\u003e Cleanup extracted file after extract_zipped_path test (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7305\"\u003e#7305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7407309c8a8a73aa2f4337184025d440bbedab7a\"\u003e\u003ccode\u003e7407309\u003c/code\u003e\u003c/a\u003e Packaging: DRY out extras definition (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7277\"\u003e#7277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/psf/requests/compare/v2.33.0...v2.33.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sse-starlette` from 3.3.3 to 3.3.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sysid/sse-starlette/releases\"\u003esse-starlette's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.3.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump cbor2 from 5.8.0 to 5.9.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/pull/177\"\u003esysid/sse-starlette#177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump ujson from 5.11.0 to 5.12.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/pull/176\"\u003esysid/sse-starlette#176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump requests from 2.32.5 to 2.33.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/pull/178\"\u003esysid/sse-starlette#178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump cryptography from 46.0.5 to 46.0.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/pull/179\"\u003esysid/sse-starlette#179\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/sysid/sse-starlette/compare/v3.3.3...v3.3.4\"\u003ehttps://github.com/sysid/sse-starlette/compare/v3.3.3...v3.3.4\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/sysid/sse-starlette/commit/c938db3f6ea262f5f087c75d8631c3aab9cbf0ad\"\u003e\u003ccode\u003ec938db3\u003c/code\u003e\u003c/a\u003e Bump version to 3.3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/eefd6dcb106784960af02505a56686b362e9caab\"\u003e\u003ccode\u003eeefd6dc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/issues/179\"\u003e#179\u003c/a\u003e from sysid/dependabot/uv/cryptography-46.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/d9e9b822224b09c275c1905aaeb3cbab6c29f4f7\"\u003e\u003ccode\u003ed9e9b82\u003c/code\u003e\u003c/a\u003e chore(deps): bump cryptography from 46.0.5 to 46.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/28cd775f51f138726d6c27f42ff4fdae91f482f0\"\u003e\u003ccode\u003e28cd775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/issues/178\"\u003e#178\u003c/a\u003e from sysid/dependabot/uv/requests-2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/2e52732f92665dd7ed83250af840bdef0ef1bc98\"\u003e\u003ccode\u003e2e52732\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/issues/176\"\u003e#176\u003c/a\u003e from sysid/dependabot/uv/ujson-5.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/bac335e7dce0ee11f6585d6cfc1379079756b22c\"\u003e\u003ccode\u003ebac335e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/issues/177\"\u003e#177\u003c/a\u003e from sysid/dependabot/uv/cbor2-5.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/d4654686c68f18e71d09f580a4acb10199858abc\"\u003e\u003ccode\u003ed465468\u003c/code\u003e\u003c/a\u003e chore(deps): bump requests from 2.32.5 to 2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/7434cd326b055077719df224b12d0d7ace3e4cfd\"\u003e\u003ccode\u003e7434cd3\u003c/code\u003e\u003c/a\u003e chore(deps): bump cbor2 from 5.8.0 to 5.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/fc2455af95ec26822d7ca0420c2c115f7489b7c4\"\u003e\u003ccode\u003efc2455a\u003c/code\u003e\u003c/a\u003e chore(deps): bump ujson from 5.11.0 to 5.12.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sysid/sse-starlette/compare/v3.3.3...v3.3.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.42.0 to 0.43.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.43.0\u003c/h2\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEmit \u003ccode\u003ehttp.disconnect\u003c/code\u003e ASGI \u003ccode\u003ereceive()\u003c/code\u003e event on server shutting down for streaming responses (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2829\"\u003e#2829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse native \u003ccode\u003econtext\u003c/code\u003e parameter for \u003ccode\u003ecreate_task\u003c/code\u003e on Python 3.11+ (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2859\"\u003e#2859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop cast in ASGI types (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.42.0...0.43.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.42.0...0.43.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.43.0 (April 3, 2026)\u003c/h2\u003e\n\u003cp\u003eYou can quit Uvicorn now. We heard you, \u003ca href=\"https://github.com/pamelafox\"\u003e\u003ccode\u003e@​pamelafox\u003c/code\u003e\u003c/a\u003e - all 47 of your Ctrl+C's (thanks for flagging it, and thanks to \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e for the fix 🙏). \u003ca href=\"https://x.com/pamelafox/status/2039097686155227623\"\u003eSee the tweet\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEmit \u003ccode\u003ehttp.disconnect\u003c/code\u003e ASGI \u003ccode\u003ereceive()\u003c/code\u003e event on server shutting down for streaming responses (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2829\"\u003e#2829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse native \u003ccode\u003econtext\u003c/code\u003e parameter for \u003ccode\u003ecreate_task\u003c/code\u003e on Python 3.11+ (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2859\"\u003e#2859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop cast in ASGI types (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/8d397c73191b49c6d5280098d7c09dbe474e00bf\"\u003e\u003ccode\u003e8d397c7\u003c/code\u003e\u003c/a\u003e Version 0.43.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2885\"\u003e#2885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/587042d68ff6c813ec0d8cfafaa820ebe7229d23\"\u003e\u003ccode\u003e587042d\u003c/code\u003e\u003c/a\u003e 🐛 Emit \u003ccode\u003ehttp.disconnect\u003c/code\u003e ASGI \u003ccode\u003ereceive()\u003c/code\u003e event on server shutting down for s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/c9a75fb67b2e969253a41ef4ad447e013eee879e\"\u003e\u003ccode\u003ec9a75fb\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2878\"\u003e#2878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/84fd578224e36766efb056585cb6cc5171270089\"\u003e\u003ccode\u003e84fd578\u003c/code\u003e\u003c/a\u003e chore(deps): bump pygments from 2.19.2 to 2.20.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/cd52d34b55d898180a65cfc01a6a88aac54c65c3\"\u003e\u003ccode\u003ecd52d34\u003c/code\u003e\u003c/a\u003e Use native \u003ccode\u003econtext\u003c/code\u003e parameter for \u003ccode\u003ecreate_task\u003c/code\u003e on Python 3.11+ (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2859\"\u003e#2859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/5211880320b2e99a532eb121808039404da234ab\"\u003e\u003ccode\u003e5211880\u003c/code\u003e\u003c/a\u003e Drop cast in ASGI types (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/1cb8e747e2817ee46a4c0d44139e46b3b1f8fab6\"\u003e\u003ccode\u003e1cb8e74\u003c/code\u003e\u003c/a\u003e Add websocket 500 fallback header test (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2874\"\u003e#2874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/28efbb24bd590f1f943cbc2bf84f197268a8c6d8\"\u003e\u003ccode\u003e28efbb2\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump cryptography from 46.0.5 to 46.0.6 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/042ffeb7d6ea56c23afc538c6a270048ca2a0414\"\u003e\u003ccode\u003e042ffeb\u003c/code\u003e\u003c/a\u003e ci: add zizmor (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2872\"\u003e#2872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/c61f9d4ebdb8ab768efb4117129835e37f06aeca\"\u003e\u003ccode\u003ec61f9d4\u003c/code\u003e\u003c/a\u003e chore(deps): bump requests from 2.32.5 to 2.33.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2871\"\u003e#2871\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.42.0...0.43.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/awslabs/mcp-server-for-oscal/pull/102","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/awslabs%2Fmcp-server-for-oscal/issues/102","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/102/packages"}},{"old_version":"3.11.7","new_version":"3.11.8","update_type":"patch","path":null,"pr_created_at":"2026-04-06T11:54:12.000Z","version_change":"3.11.7 → 3.11.8","issue":{"uuid":"4211468180","node_id":"PR_kwDOJmTJvs7QMdPO","number":414,"state":"open","title":"chore(deps): bump orjson from 3.11.7 to 3.11.8","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-06T11:54:12.000Z","updated_at":"2026-04-06T11:55:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"orjson","old_version":"3.11.7","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"}],"path":null,"ecosystem":"pip"},"body":"Bumps [orjson](https://github.com/ijl/orjson) from 3.11.7 to 3.11.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8 - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78\"\u003e\u003ccode\u003e5cbb3d0\u003c/code\u003e\u003c/a\u003e 3.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e\"\u003e\u003ccode\u003e4195d7f\u003c/code\u003e\u003c/a\u003e writer::half\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b\"\u003e\u003ccode\u003ed00641b\u003c/code\u003e\u003c/a\u003e writer::uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84\"\u003e\u003ccode\u003ec84d9b4\u003c/code\u003e\u003c/a\u003e build and compatibility misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43\"\u003e\u003ccode\u003e4547234\u003c/code\u003e\u003c/a\u003e ffi::numpy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb\"\u003e\u003ccode\u003e0d4a5ad\u003c/code\u003e\u003c/a\u003e datetime PyRef idiom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85\"\u003e\u003ccode\u003ee93a13d\u003c/code\u003e\u003c/a\u003e Cross-compile avoids maturin v1.12 build-details.json error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.7...3.11.8\"\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=orjson\u0026package-manager=pip\u0026previous-version=3.11.7\u0026new-version=3.11.8)](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/pyenphase/pyenphase/pull/414","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyenphase%2Fpyenphase/issues/414","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/414/packages"}},{"old_version":"3.11.7","new_version":"3.11.8","update_type":"patch","path":"/src","pr_created_at":"2026-04-06T07:04:12.000Z","version_change":"3.11.7 → 3.11.8","issue":{"uuid":"4210185876","node_id":"PR_kwDOPkilF87QIvn4","number":71,"state":"closed","title":"Bump the pip-minor-and-patch group in /src with 5 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-08T16:11:01.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-06T07:04:12.000Z","updated_at":"2026-04-08T16:11:03.000Z","time_to_close":205609,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip-minor-and-patch","update_count":5,"packages":[{"name":"amsterdam-schema-tools","old_version":"9.2.4","new_version":"9.3.1","repository_url":"https://github.com/amsterdam/schema-tools"},{"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":"orjson","old_version":"3.11.7","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"},{"name":"requests","old_version":"2.33.0","new_version":"2.33.1","repository_url":"https://github.com/psf/requests"},{"name":"ruff","old_version":"0.15.8","new_version":"0.15.9","repository_url":"https://github.com/astral-sh/ruff"}],"path":"/src","ecosystem":"pip"},"body":"Bumps the pip-minor-and-patch group in /src with 5 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [amsterdam-schema-tools](https://github.com/amsterdam/schema-tools) | `9.2.4` | `9.3.1` |\n| [django-debug-toolbar](https://github.com/django-commons/django-debug-toolbar) | `6.2.0` | `6.3.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.7` | `3.11.8` |\n| [requests](https://github.com/psf/requests) | `2.33.0` | `2.33.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.8` | `0.15.9` |\n\nUpdates `amsterdam-schema-tools` from 9.2.4 to 9.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Amsterdam/schema-tools/blob/master/CHANGES.md\"\u003eamsterdam-schema-tools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2026-03-31 (9.3.1)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd extra validation for export scopes, ensuring the tables in an export have at least one field with the given scope.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2026-03-30 (9.3.0)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd enableGeoSearch flag to be able to configure the geosearch functionality in the schema.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Amsterdam/schema-tools/commit/c31cb61c5a37fcb6ed6d6bcc561e04adf3f523eb\"\u003e\u003ccode\u003ec31cb61\u003c/code\u003e\u003c/a\u003e bump version to 9.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Amsterdam/schema-tools/commit/21d6dc0d080565f23b8783019b591dfe78be27b8\"\u003e\u003ccode\u003e21d6dc0\u003c/code\u003e\u003c/a\u003e add validation for export scopes + tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Amsterdam/schema-tools/commit/f6319d06ba0eb3e7555d1ccd39695695de8d0e60\"\u003e\u003ccode\u003ef6319d0\u003c/code\u003e\u003c/a\u003e Bump version to v9.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Amsterdam/schema-tools/commit/7fff5318c4a723612ccd0d3881007ad1b3cb42c1\"\u003e\u003ccode\u003e7fff531\u003c/code\u003e\u003c/a\u003e Add enableGeosearch flag\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/amsterdam/schema-tools/compare/v9.2.4...v9.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-debug-toolbar` from 6.2.0 to 6.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-commons/django-debug-toolbar/releases\"\u003edjango-debug-toolbar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.3.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eremove requirement_dev.txt from project by \u003ca href=\"https://github.com/p-r-a-v-i-n\"\u003e\u003ccode\u003e@​p-r-a-v-i-n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2277\"\u003edjango-commons/django-debug-toolbar#2277\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgraded ReadTheDocs Python version to 3.13. by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2307\"\u003edjango-commons/django-debug-toolbar#2307\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModernize some panel styles and colors by \u003ca href=\"https://github.com/federicobond\"\u003e\u003ccode\u003e@​federicobond\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2285\"\u003edjango-commons/django-debug-toolbar#2285\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the translatable strings for the application. by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2311\"\u003edjango-commons/django-debug-toolbar#2311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate translations 2026-02-09 by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2312\"\u003edjango-commons/django-debug-toolbar#2312\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003epy.typed\u003c/code\u003e file, to make types available downstream by \u003ca href=\"https://github.com/brianhelba\"\u003e\u003ccode\u003e@​brianhelba\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2314\"\u003edjango-commons/django-debug-toolbar#2314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmit RedirectsPanel warning on usage rather than set up. by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2326\"\u003edjango-commons/django-debug-toolbar#2326\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHighlighted docs on disabling browser caching. by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2302\"\u003edjango-commons/django-debug-toolbar#2302\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly patch the cache methods once. by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2332\"\u003edjango-commons/django-debug-toolbar#2332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eCacheStore\u003c/code\u003e, a store that uses Django's cache framework by \u003ca href=\"https://github.com/robhudson\"\u003e\u003ccode\u003e@​robhudson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2304\"\u003edjango-commons/django-debug-toolbar#2304\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog from \u003ca href=\"https://django-debug-toolbar.readthedocs.io/en/latest/changes.html\"\u003edocs\u003c/a\u003e:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplaced \u003ccode\u003erequirements_dev.txt\u003c/code\u003e file for \u003ccode\u003epyproject.toml\u003c/code\u003e support with dependency groups.\u003c/li\u003e\n\u003cli\u003eUpdated ReadTheDocs Python version to 3.13.\u003c/li\u003e\n\u003cli\u003eModernize some panel styles and colors.\u003c/li\u003e\n\u003cli\u003eStandardize use of time/duration units and labels across panels.\u003c/li\u003e\n\u003cli\u003eAdded translations for Lithuanian, Turkish and Uzbek.\u003c/li\u003e\n\u003cli\u003eUpdate the translations.\u003c/li\u003e\n\u003cli\u003eExpose a \u003ccode\u003epy.typed\u003c/code\u003e marker file.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eRedirectsPanel\u003c/code\u003e to emit the deprecation warning when it’s used rather than on instantiation.\u003c/li\u003e\n\u003cli\u003eHighlighted the documentation about disabling the browser’s caching to ensure the latest static assets are used.\u003c/li\u003e\n\u003cli\u003eFixed bug with \u003ccode\u003eCachePanel\u003c/code\u003e so the cache patching is only applied once.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edebug_toolbar.store.CacheStore\u003c/code\u003e for storing toolbar data using Django’s cache framework. This provides persistence without requiring database migrations, and works with any cache backend (Memcached, Redis, database, file-based, etc.).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCACHE_BACKEND\u003c/code\u003e and \u003ccode\u003eCACHE_KEY_PREFIX\u003c/code\u003e settings to configure the \u003ccode\u003eCacheStore\u003c/code\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/brianhelba\"\u003e\u003ccode\u003e@​brianhelba\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2314\"\u003edjango-commons/django-debug-toolbar#2314\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-commons/django-debug-toolbar/compare/6.2.0...6.3.0\"\u003ehttps://github.com/django-commons/django-debug-toolbar/compare/6.2.0...6.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-commons/django-debug-toolbar/blob/main/docs/changes.rst\"\u003edjango-debug-toolbar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.3.0 (2026-04-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplaced \u003ccode\u003erequirements_dev.txt\u003c/code\u003e file for \u003ccode\u003epyproject.toml\u003c/code\u003e support with\ndependency groups.\u003c/li\u003e\n\u003cli\u003eUpdated ReadTheDocs Python version to 3.13.\u003c/li\u003e\n\u003cli\u003eModernize some panel styles and colors.\u003c/li\u003e\n\u003cli\u003eStandardize use of time/duration units and labels across panels.\u003c/li\u003e\n\u003cli\u003eAdded translations for Lithuanian, Turkish and Uzbek.\u003c/li\u003e\n\u003cli\u003eUpdate the translations.\u003c/li\u003e\n\u003cli\u003eExpose a \u003ccode\u003epy.typed\u003c/code\u003e marker file.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eRedirectsPanel\u003c/code\u003e to emit the deprecation warning when it's used\nrather than on instantiation.\u003c/li\u003e\n\u003cli\u003eHighlighted the documentation about disabling the browser's caching to\nensure the latest static assets are used.\u003c/li\u003e\n\u003cli\u003eFixed bug with \u003ccode\u003eCachePanel\u003c/code\u003e so the cache patching is only applied\nonce.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edebug_toolbar.store.CacheStore\u003c/code\u003e for storing toolbar data using\nDjango's cache framework. This provides persistence without requiring\ndatabase migrations, and works with any cache backend (Memcached, Redis,\ndatabase, file-based, etc.).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCACHE_BACKEND\u003c/code\u003e and \u003ccode\u003eCACHE_KEY_PREFIX\u003c/code\u003e settings to configure the\n\u003ccode\u003eCacheStore\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/django-commons/django-debug-toolbar/commit/b3f943b5291fd961a0d10225eb89b64e016d8837\"\u003e\u003ccode\u003eb3f943b\u003c/code\u003e\u003c/a\u003e Version 6.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/013631b2f72bdded37e597c5fef13e82c44e1202\"\u003e\u003ccode\u003e013631b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/eeff5d17879130a33998a26d8501c804e37a3400\"\u003e\u003ccode\u003eeeff5d1\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 5.0.3 to 5.0.4 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/3a877850a8b4a68bc3f17af596001f13215a8dac\"\u003e\u003ccode\u003e3a87785\u003c/code\u003e\u003c/a\u003e Add store that uses cache framework\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/05738466e3b3e6654d7e70ca59d5d7553acd1cdf\"\u003e\u003ccode\u003e0573846\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/7403bed86ac6729b65dc926dd90920f3f1765935\"\u003e\u003ccode\u003e7403bed\u003c/code\u003e\u003c/a\u003e Only patch the cache methods once.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/0d25b3aaf653ba6241adf3f899cfda1208942ac9\"\u003e\u003ccode\u003e0d25b3a\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact in the github-actions group (\u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/issues/2333\"\u003e#2333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/c89c8cf41751649f9000b051a457db3697e0cf6c\"\u003e\u003ccode\u003ec89c8cf\u003c/code\u003e\u003c/a\u003e Bump zizmorcore/zizmor-action in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/7ae8fac954844ae641f85c7afbffea8b2c82a214\"\u003e\u003ccode\u003e7ae8fac\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/issues/2328\"\u003e#2328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/695cdb2c0b2bdf11de687986233778a4d5785c22\"\u003e\u003ccode\u003e695cdb2\u003c/code\u003e\u003c/a\u003e Highlighted docs on disabling browser caching. (\u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/issues/2302\"\u003e#2302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django-commons/django-debug-toolbar/compare/6.2.0...6.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.11.7 to 3.11.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8 - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78\"\u003e\u003ccode\u003e5cbb3d0\u003c/code\u003e\u003c/a\u003e 3.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e\"\u003e\u003ccode\u003e4195d7f\u003c/code\u003e\u003c/a\u003e writer::half\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b\"\u003e\u003ccode\u003ed00641b\u003c/code\u003e\u003c/a\u003e writer::uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84\"\u003e\u003ccode\u003ec84d9b4\u003c/code\u003e\u003c/a\u003e build and compatibility misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43\"\u003e\u003ccode\u003e4547234\u003c/code\u003e\u003c/a\u003e ffi::numpy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb\"\u003e\u003ccode\u003e0d4a5ad\u003c/code\u003e\u003c/a\u003e datetime PyRef idiom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85\"\u003e\u003ccode\u003ee93a13d\u003c/code\u003e\u003c/a\u003e Cross-compile avoids maturin v1.12 build-details.json error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.7...3.11.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.33.0 to 2.33.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.1\u003c/h2\u003e\n\u003ch2\u003e2.33.1 (2026-03-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed test cleanup for CVE-2026-25645 to avoid leaving unnecessary\nfiles in the tmp directory. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7305\"\u003e#7305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Content-Type header parsing for malformed values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7309\"\u003e#7309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error consistency for malformed header values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7308\"\u003e#7308\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ferdnyc\"\u003e\u003ccode\u003e@​ferdnyc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7277\"\u003epsf/requests#7277\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2331-2026-03-30\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2331-2026-03-30\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.1 (2026-03-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed test cleanup for CVE-2026-25645 to avoid leaving unnecessary\nfiles in the tmp directory. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7305\"\u003e#7305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Content-Type header parsing for malformed values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7309\"\u003e#7309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error consistency for malformed header values. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7308\"\u003e#7308\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/111d2b77790bf49943c0dfa09b365371c24aec7e\"\u003e\u003ccode\u003e111d2b7\u003c/code\u003e\u003c/a\u003e v2.33.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/f0198e6dfc431a2293dc16e1b1e8fcddc910a7f3\"\u003e\u003ccode\u003ef0198e6\u003c/code\u003e\u003c/a\u003e Fix malformed value parsing for Content-Type (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7309\"\u003e#7309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc7dd0fc4d56e808bcdd85ac2d797b3107c89259\"\u003e\u003ccode\u003ebc7dd0f\u003c/code\u003e\u003c/a\u003e Fix cosmetic header validity parsing regex (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7308\"\u003e#7308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4443b1a847b190010c2972a658924b98b5db6360\"\u003e\u003ccode\u003e4443b1a\u003c/code\u003e\u003c/a\u003e Fix unintended test extra (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7306\"\u003e#7306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/389eea58dfb2f2ee096421a812e3af29c0298951\"\u003e\u003ccode\u003e389eea5\u003c/code\u003e\u003c/a\u003e Cleanup extracted file after extract_zipped_path test (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7305\"\u003e#7305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7407309c8a8a73aa2f4337184025d440bbedab7a\"\u003e\u003ccode\u003e7407309\u003c/code\u003e\u003c/a\u003e Packaging: DRY out extras definition (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7277\"\u003e#7277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/psf/requests/compare/v2.33.0...v2.33.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.8 to 0.15.9\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.9\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-02.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Flag annotated variable redeclarations as \u003ccode\u003eF811\u003c/code\u003e in preview mode (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24244\"\u003e#24244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Allow dunder-named assignments in non-strict mode for \u003ccode\u003eRUF067\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24089\"\u003e#24089\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-errmsg\u003c/code\u003e] Avoid shadowing existing \u003ccode\u003emsg\u003c/code\u003e in fix for \u003ccode\u003eEM101\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24363\"\u003e#24363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Ignore pre-initialization references in \u003ccode\u003eSIM113\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24235\"\u003e#24235\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Fix \u003ccode\u003eW391\u003c/code\u003e fixes for consecutive empty notebook cells (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24236\"\u003e#24236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e nested class matching (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24273\"\u003e#24273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Ignore strings with string-only escapes (\u003ccode\u003eUP012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/16058\"\u003e#16058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ccode\u003eRUF072\u003c/code\u003e: skip formfeeds on dedent (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24308\"\u003e#24308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Avoid re-using symbol in \u003ccode\u003eRUF024\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24316\"\u003e#24316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Parenthesize expression in \u003ccode\u003eRUF050\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24234\"\u003e#24234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisallow starred expressions as values of starred expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24280\"\u003e#24280\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Suppress \u003ccode\u003eSIM105\u003c/code\u003e for \u003ccode\u003eexcept*\u003c/code\u003e before Python 3.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23869\"\u003e#23869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Extend \u003ccode\u003eF507\u003c/code\u003e to flag \u003ccode\u003e%\u003c/code\u003e-format strings with zero placeholders (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24215\"\u003e#24215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ccode\u003eUP018\u003c/code\u003e should detect more unnecessarily wrapped literals (UP018) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24093\"\u003e#24093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e callable scope handling to support lambdas (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24274\"\u003e#24274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ccode\u003eRUF010\u003c/code\u003e: Mark fix as unsafe when it deletes a comment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24270\"\u003e#24270\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFormatter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003enested-string-quote-style\u003c/code\u003e formatting option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24312\"\u003e#24312\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Clarify RUF071 fix safety for non-path string comparisons (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24149\"\u003e#24149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Clarify import cycle wording for \u003ccode\u003eTC001\u003c/code\u003e/\u003ccode\u003eTC002\u003c/code\u003e/\u003ccode\u003eTC003\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24322\"\u003e#24322\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid rendering fix lines with trailing whitespace after \u003ccode\u003e|\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24343\"\u003e#24343\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/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tranhoangtu-it\"\u003e\u003ccode\u003e@​tranhoangtu-it\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zsol\"\u003e\u003ccode\u003e@​zsol\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.9\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-02.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Flag annotated variable redeclarations as \u003ccode\u003eF811\u003c/code\u003e in preview mode (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24244\"\u003e#24244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Allow dunder-named assignments in non-strict mode for \u003ccode\u003eRUF067\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24089\"\u003e#24089\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-errmsg\u003c/code\u003e] Avoid shadowing existing \u003ccode\u003emsg\u003c/code\u003e in fix for \u003ccode\u003eEM101\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24363\"\u003e#24363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Ignore pre-initialization references in \u003ccode\u003eSIM113\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24235\"\u003e#24235\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Fix \u003ccode\u003eW391\u003c/code\u003e fixes for consecutive empty notebook cells (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24236\"\u003e#24236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e nested class matching (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24273\"\u003e#24273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Ignore strings with string-only escapes (\u003ccode\u003eUP012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/16058\"\u003e#16058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ccode\u003eRUF072\u003c/code\u003e: skip formfeeds on dedent (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24308\"\u003e#24308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Avoid re-using symbol in \u003ccode\u003eRUF024\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24316\"\u003e#24316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Parenthesize expression in \u003ccode\u003eRUF050\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24234\"\u003e#24234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisallow starred expressions as values of starred expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24280\"\u003e#24280\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Suppress \u003ccode\u003eSIM105\u003c/code\u003e for \u003ccode\u003eexcept*\u003c/code\u003e before Python 3.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23869\"\u003e#23869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Extend \u003ccode\u003eF507\u003c/code\u003e to flag \u003ccode\u003e%\u003c/code\u003e-format strings with zero placeholders (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24215\"\u003e#24215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ccode\u003eUP018\u003c/code\u003e should detect more unnecessarily wrapped literals (UP018) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24093\"\u003e#24093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e callable scope handling to support lambdas (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24274\"\u003e#24274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ccode\u003eRUF010\u003c/code\u003e: Mark fix as unsafe when it deletes a comment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24270\"\u003e#24270\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFormatter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003enested-string-quote-style\u003c/code\u003e formatting option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24312\"\u003e#24312\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Clarify RUF071 fix safety for non-path string comparisons (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24149\"\u003e#24149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Clarify import cycle wording for \u003ccode\u003eTC001\u003c/code\u003e/\u003ccode\u003eTC002\u003c/code\u003e/\u003ccode\u003eTC003\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24322\"\u003e#24322\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid rendering fix lines with trailing whitespace after \u003ccode\u003e|\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24343\"\u003e#24343\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/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tranhoangtu-it\"\u003e\u003ccode\u003e@​tranhoangtu-it\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zsol\"\u003e\u003ccode\u003e@​zsol\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\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/724ccc1ae8a61e872cf58435f2c073189dc248f2\"\u003e\u003ccode\u003e724ccc1\u003c/code\u003e\u003c/a\u003e Bump 0.15.9 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24369\"\u003e#24369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/96d9e0964cb87498ef15510ea7f896ba336659f9\"\u003e\u003ccode\u003e96d9e09\u003c/code\u003e\u003c/a\u003e [ty] Move the \u003ccode\u003edeferred\u003c/code\u003e submodule inside \u003ccode\u003einfer/builder\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24368\"\u003e#24368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/130da28d610a466721bb942e8a5e0ec47bbe3469\"\u003e\u003ccode\u003e130da28\u003c/code\u003e\u003c/a\u003e [ty] Infer the \u003ccode\u003eextra_items\u003c/code\u003e keyword argument to class-based TypedDicts as an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a617c54b0708a8c1eb850cc3b2a5caee21137a28\"\u003e\u003ccode\u003ea617c54\u003c/code\u003e\u003c/a\u003e [ty] Validate type qualifiers in functional TypedDict fields and the `extra_i...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d8517087c6cd0aa4f33dcede605ff642941dd74b\"\u003e\u003ccode\u003ed851708\u003c/code\u003e\u003c/a\u003e [ty] Improve robustness of various type-qualifier-related checks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24251\"\u003e#24251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aecb5877c6d6fe035c03aba994ec3a7b935b8f02\"\u003e\u003ccode\u003eaecb587\u003c/code\u003e\u003c/a\u003e Only run the release-gate on workflow dispatch (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24366\"\u003e#24366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b88957174311030927bf564da32d05dee0eb89d9\"\u003e\u003ccode\u003eb889571\u003c/code\u003e\u003c/a\u003e [ty] Use \u003ccode\u003einfer_type_expression\u003c/code\u003e for parsing parameter annotations and return...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3286a62be986a8d6d04d95b3bc619f06e012fa2f\"\u003e\u003ccode\u003e3286a62\u003c/code\u003e\u003c/a\u003e Add a \u0026quot;release-gate\u0026quot; step to the release workflow (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24365\"\u003e#24365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5f88756ee10e3faf0e96c883c34c95fc78200536\"\u003e\u003ccode\u003e5f88756\u003c/code\u003e\u003c/a\u003e Disallow starred expressions as values of starred expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24280\"\u003e#24280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5c59f8a46965cac3470f09972196c8620faa4626\"\u003e\u003ccode\u003e5c59f8a\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Ignore strings with string-only escapes (\u003ccode\u003eUP012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/16058\"\u003e#16058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.8...0.15.9\"\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/Amsterdam/amsterdam-schema-api/pull/71","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Amsterdam%2Famsterdam-schema-api/issues/71","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/71/packages"}},{"old_version":"3.11.7","new_version":"3.11.8","update_type":"patch","path":"/training/rl","pr_created_at":"2026-04-06T03:33:57.000Z","version_change":"3.11.7 → 3.11.8","issue":{"uuid":"4209374452","node_id":"PR_kwDORckIoM7QG9UX","number":394,"state":"open","title":"security(deps): bump the training-dependencies group in /training/rl with 14 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-04-06T03:33:57.000Z","updated_at":"2026-04-06T03:36:33.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":14,"packages":[{"name":"marshmallow","old_version":"4.2.3","new_version":"4.3.0","repository_url":"https://github.com/marshmallow-code/marshmallow"},{"name":"azure-monitor-opentelemetry-exporter","old_version":"1.0.0b49","new_version":"1.0.0b50","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"charset-normalizer","old_version":"3.4.6","new_version":"3.4.7","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.3.1","new_version":"8.3.2","repository_url":"https://github.com/pallets/click"},{"name":"cuda-pathfinder","old_version":"1.5.0","new_version":"1.5.1","repository_url":"https://github.com/NVIDIA/cuda-python"},{"name":"fastapi","old_version":"0.135.2","new_version":"0.135.3","repository_url":"https://github.com/fastapi/fastapi"},{"name":"orjson","old_version":"3.11.7","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"},{"name":"pandas","old_version":"3.0.1","new_version":"3.0.2","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pillow","old_version":"12.1.1","new_version":"12.2.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"pydantic-core","old_version":"2.44.0","new_version":"2.45.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"sqlalchemy","old_version":"2.0.48","new_version":"2.0.49","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"tzdata","old_version":"2025.3","new_version":"2026.1","repository_url":"https://github.com/python/tzdata"},{"name":"uvicorn","old_version":"0.42.0","new_version":"0.43.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"werkzeug","old_version":"3.1.7","new_version":"3.1.8","repository_url":"https://github.com/pallets/werkzeug"}],"path":"/training/rl","ecosystem":"pip"},"body":"Bumps the training-dependencies group in /training/rl with 14 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [marshmallow](https://github.com/marshmallow-code/marshmallow) | `4.2.3` | `4.3.0` |\n| [azure-monitor-opentelemetry-exporter](https://github.com/Azure/azure-sdk-for-python) | `1.0.0b49` | `1.0.0b50` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.6` | `3.4.7` |\n| [click](https://github.com/pallets/click) | `8.3.1` | `8.3.2` |\n| [cuda-pathfinder](https://github.com/NVIDIA/cuda-python) | `1.5.0` | `1.5.1` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.135.2` | `0.135.3` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.7` | `3.11.8` |\n| [pandas](https://github.com/pandas-dev/pandas) | `3.0.1` | `3.0.2` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.1.1` | `12.2.0` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.44.0` | `2.45.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.48` | `2.0.49` |\n| [tzdata](https://github.com/python/tzdata) | `2025.3` | `2026.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.42.0` | `0.43.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.7` | `3.1.8` |\n\nUpdates `marshmallow` from 4.2.3 to 4.3.0\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.3.0 (2026-04-03)\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epre_load\u003c/code\u003e and \u003ccode\u003epost_load\u003c/code\u003e parameters to \u003ccode\u003emarshmallow.fields.Field\u003c/code\u003e for\nfield-level pre- and post-processing (:issue:\u003ccode\u003e2787\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eTyping: improvements to \u003ccode\u003emarshmallow.validate\u003c/code\u003e (:pr:\u003ccode\u003e2940\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.2.4 (2026-04-02)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emarshmallow.validate.URL\u003c/code\u003e and \u003ccode\u003emarshmallow.validate.Email\u003c/code\u003e accept Internationalized Domain Names (IDNs) (:issue:\u003ccode\u003e2821\u003c/code\u003e, :issue:\u003ccode\u003e2936\u003c/code\u003e).\n\u003ccode\u003emarshmallow.validate.Email\u003c/code\u003e also correctly rejects IDN domains with leading/trailing hyphens.\nThanks :user:\u003ccode\u003etouhidurrr\u003c/code\u003e for the report.\u003c/li\u003e\n\u003cli\u003eTyping: Fix typing of \u003ccode\u003enested\u003c/code\u003e in \u003ccode\u003emarshmallow.fields.Nested\u003c/code\u003e (:pr:\u003ccode\u003e2935\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/marshmallow-code/marshmallow/commit/b596fdb0d1bda68ae400ab29e1f1bde2f06900b3\"\u003e\u003ccode\u003eb596fdb\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/256f0aabbc18232219e33854999372cfe1643f52\"\u003e\u003ccode\u003e256f0aa\u003c/code\u003e\u003c/a\u003e Add pre/post_load parameters to Field (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2799\"\u003e#2799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/c847ad47a3f1235021bd2624b10c255a936ed107\"\u003e\u003ccode\u003ec847ad4\u003c/code\u003e\u003c/a\u003e Typing improvements to marshmallow.validate (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/eb863228f5273244c19388fb6161ffdb90cb04d1\"\u003e\u003ccode\u003eeb86322\u003c/code\u003e\u003c/a\u003e Remove redundant docs job (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2939\"\u003e#2939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/a44ad62a876d2e9330d0e370b438bafb058676d4\"\u003e\u003ccode\u003ea44ad62\u003c/code\u003e\u003c/a\u003e Avoid infinite recursion in nesting docs (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2938\"\u003e#2938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/3360e34a2da480eba03ae07bd4b15f0859027bf8\"\u003e\u003ccode\u003e3360e34\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/7b9ce45ac906c2597ac0acb7416e01e80218b546\"\u003e\u003ccode\u003e7b9ce45\u003c/code\u003e\u003c/a\u003e Fix changelog typos and update releasing docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/f07eadc87dfac25ed505d5cd9d186920f2682733\"\u003e\u003ccode\u003ef07eadc\u003c/code\u003e\u003c/a\u003e Fix validate.Email to accept IDNs (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2937\"\u003e#2937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/4acb783c73130f762aa5b0df6b65ff7685d5ff2c\"\u003e\u003ccode\u003e4acb783\u003c/code\u003e\u003c/a\u003e Fix Unreachable Warning (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2935\"\u003e#2935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshmallow-code/marshmallow/commit/3492fae7b31d310814ad16fcddad5c7717d54949\"\u003e\u003ccode\u003e3492fae\u003c/code\u003e\u003c/a\u003e Remove redundant python-version (\u003ca href=\"https://redirect.github.com/marshmallow-code/marshmallow/issues/2932\"\u003e#2932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/marshmallow-code/marshmallow/compare/4.2.3...4.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `azure-monitor-opentelemetry-exporter` from 1.0.0b49 to 1.0.0b50\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-monitor-opentelemetry-exporter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eazure-monitor-opentelemetry-exporter_1.0.0b50\u003c/h2\u003e\n\u003ch2\u003e1.0.0b50 (2026-04-03)\u003c/h2\u003e\n\u003ch3\u003eBugs Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix duplicate authentication policy in live metrics exporter causing Unauthorized errors\nfor authenticated Application Insights resources\n(\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/46024\"\u003e#46024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSuppress internal sdkstats HTTP pipeline logs from appearing in user's logs\n(\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/45966\"\u003e#45966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKubernetes pod name takes precedence when populating \u003ccode\u003ecloud_RoleInstance\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/45884\"\u003e#45884\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert custom properties limit to 8kb\n(\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/pull/46066\"\u003e#46066\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/24212d1b9b270771f47a29af230c88772c9409b1\"\u003e\u003ccode\u003e24212d1\u003c/code\u003e\u003c/a\u003e Exporter release 1.0.0b50 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/46054\"\u003e#46054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/087778f508504d9fdc0a8c3d92dfc1a37ebb930f\"\u003e\u003ccode\u003e087778f\u003c/code\u003e\u003c/a\u003e Revert custom properties limit to 8kb (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/46066\"\u003e#46066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/d8bed7ebbe4a30c5fee28abc85ff902dd4ef0579\"\u003e\u003ccode\u003ed8bed7e\u003c/code\u003e\u003c/a\u003e [monitor-opentelemetry] Fix duplicate auth policy in live metrics exporter (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/de23b45df019ede396e56365c1bb67b8a971259a\"\u003e\u003ccode\u003ede23b45\u003c/code\u003e\u003c/a\u003e Suppress internal sdkstats HTTP pipeline logs from appearing in user's traces...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/ce28bf7cab28ccf677c9db0c9fa390b2f2fdd1a8\"\u003e\u003ccode\u003ece28bf7\u003c/code\u003e\u003c/a\u003e Modify logic to ensure that the cloud_RoleInstance gets populated with the k8...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/5fe509b8d93216e2298c774a6d833fa9a1db024c\"\u003e\u003ccode\u003e5fe509b\u003c/code\u003e\u003c/a\u003e Remove deprecated events package and methods (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45684\"\u003e#45684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/faf2a720ffc18b15f8d6d1c9a6c32564794d4e2c\"\u003e\u003ccode\u003efaf2a72\u003c/code\u003e\u003c/a\u003e Increment package version after release of azure-monitor-opentelemetry (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45811\"\u003e#45811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/77b289925d37b4d286330008c658821f297510b0\"\u003e\u003ccode\u003e77b2899\u003c/code\u003e\u003c/a\u003e Distro release 1.8.7 (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-python/issues/45801\"\u003e#45801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/4b5be11f0e996e295bf8506b86e3b412b459d9fa\"\u003e\u003ccode\u003e4b5be11\u003c/code\u003e\u003c/a\u003e Change import path for LoggingHandler to accommodate upstream breaking change...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-python/commit/9950092afbbf8778c4bc96113ac1c9cad8bbf2f9\"\u003e\u003ccode\u003e9950092\u003c/code\u003e\u003c/a\u003e Increment package version after release of azure-monitor-opentelemetry-export...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Azure/azure-sdk-for-python/compare/azure-monitor-opentelemetry-exporter_1.0.0b49...azure-monitor-opentelemetry-exporter_1.0.0b50\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `charset-normalizer` from 3.4.6 to 3.4.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/releases\"\u003echarset-normalizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.4.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.6...3.4.7\"\u003e3.4.7\u003c/a\u003e (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePre-built optimized version using mypy[c] v1.20.\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;82.1\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly remove SIG remnant in utf-7 decoded string. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/718\"\u003e#718\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/716\"\u003e#716\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md\"\u003echarset-normalizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.6...3.4.7\"\u003e3.4.7\u003c/a\u003e (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePre-built optimized version using mypy[c] v1.20.\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;82.1\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly remove SIG remnant in utf-7 decoded string. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/718\"\u003e#718\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/716\"\u003e#716\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/0f07891bf516b5d5231f1bd4dd2d8da7d4d09a9a\"\u003e\u003ccode\u003e0f07891\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/729\"\u003e#729\u003c/a\u003e from jawah/release-3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/fdbeb299479e8f4d737e4d227cd0b2bd5d273dc0\"\u003e\u003ccode\u003efdbeb29\u003c/code\u003e\u003c/a\u003e chore: update dev, and ci requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b66f922bfbdbdd9dd46af18a8964d4fb888756d4\"\u003e\u003ccode\u003eb66f922\u003c/code\u003e\u003c/a\u003e chore: add ft classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/f94249d0a2c712f2d03124f4de6b77f5e03aaa96\"\u003e\u003ccode\u003ef94249d\u003c/code\u003e\u003c/a\u003e chore: add test cases for utf_7 recent fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/95c866f6c984bbd043e7e3ed0628aa4f3f8d5a26\"\u003e\u003ccode\u003e95c866f\u003c/code\u003e\u003c/a\u003e chore: bump version to 3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/4f429bb764c7e893f99bb4bceb60856da1baacfb\"\u003e\u003ccode\u003e4f429bb\u003c/code\u003e\u003c/a\u003e chore: bump mypy pre-commit to v1.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b579cd6cab9bd83aa3fc0ca169d4df022bf4888c\"\u003e\u003ccode\u003eb579cd6\u003c/code\u003e\u003c/a\u003e fix: correctly remove SIG remnant in utf-7 decoded string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/58bf944a77cc0883fc46a6ee8edac3549fea5d59\"\u003e\u003ccode\u003e58bf944\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump github/codeql-action from 4.32.4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/728\"\u003e#728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/44cf8a1b676a2532a8f1694e62e4f4f98f9132e1\"\u003e\u003ccode\u003e44cf8a1\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump actions/download-artifact from 8.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/362bc20073f737b1ba4ca2f68cffb0c4cc024d20\"\u003e\u003ccode\u003e362bc20\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump docker/setup-qemu-action from 3.7.0 to 4.0.0 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/725\"\u003e#725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jawah/charset_normalizer/compare/3.4.6...3.4.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.3.1 to 8.3.2\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.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.2/\"\u003ehttps://pypi.org/project/click/8.3.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/29\"\u003ehttps://github.com/pallets/click/milestone/29\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eflag_value\u003c/code\u003e when \u003ccode\u003eis_flag=False\u003c/code\u003e to allow such options to be\nused without an explicit value. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3084\"\u003e#3084\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3152\"\u003e#3152\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when using \u003ccode\u003elookup_default()\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3199\"\u003e#3199\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3202\"\u003e#3202\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3209\"\u003e#3209\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3212\"\u003e#3212\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3224\"\u003e#3224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent \u003ccode\u003e_NamedTextIOWrapper\u003c/code\u003e from closing streams owned by \u003ccode\u003eStreamMixer\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/824\"\u003e#824\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2991\"\u003e#2991\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2993\"\u003e#2993\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3110\"\u003e#3110\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3139\"\u003e#3139\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3140\"\u003e#3140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd comprehensive tests for \u003ccode\u003eCliRunner\u003c/code\u003e stream lifecycle, covering\nlogging interaction, multi-threaded safety, and sequential invocation\nisolation. Add high-iteration stress tests behind a \u003ccode\u003estress\u003c/code\u003e marker\nwith a dedicated CI job. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3139\"\u003e#3139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix callable \u003ccode\u003eflag_value\u003c/code\u003e being instantiated when used as a default via\n\u003ccode\u003edefault=True\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3121\"\u003e#3121\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3201\"\u003e#3201\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3213\"\u003e#3213\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3225\"\u003e#3225\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.2\u003c/h2\u003e\n\u003cp\u003eReleased 2026-04-02\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eflag_value\u003c/code\u003e when \u003ccode\u003eis_flag=False\u003c/code\u003e to allow such options to be\nused without an explicit value. :issue:\u003ccode\u003e3084\u003c/code\u003e :pr:\u003ccode\u003e3152\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when using \u003ccode\u003elookup_default()\u003c/code\u003e.\n:issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3199\u003c/code\u003e :pr:\u003ccode\u003e3202\u003c/code\u003e :pr:\u003ccode\u003e3209\u003c/code\u003e :pr:\u003ccode\u003e3212\u003c/code\u003e :pr:\u003ccode\u003e3224\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ePrevent \u003ccode\u003e_NamedTextIOWrapper\u003c/code\u003e from closing streams owned by \u003ccode\u003eStreamMixer\u003c/code\u003e.\n:issue:\u003ccode\u003e824\u003c/code\u003e :issue:\u003ccode\u003e2991\u003c/code\u003e :issue:\u003ccode\u003e2993\u003c/code\u003e :issue:\u003ccode\u003e3110\u003c/code\u003e :pr:\u003ccode\u003e3139\u003c/code\u003e :pr:\u003ccode\u003e3140\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd comprehensive tests for \u003ccode\u003eCliRunner\u003c/code\u003e stream lifecycle, covering\nlogging interaction, multi-threaded safety, and sequential invocation\nisolation. Add high-iteration stress tests behind a \u003ccode\u003estress\u003c/code\u003e marker\nwith a dedicated CI job. :pr:\u003ccode\u003e3139\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix callable \u003ccode\u003eflag_value\u003c/code\u003e being instantiated when used as a default via\n\u003ccode\u003edefault=True\u003c/code\u003e. :issue:\u003ccode\u003e3121\u003c/code\u003e :pr:\u003ccode\u003e3201\u003c/code\u003e :pr:\u003ccode\u003e3213\u003c/code\u003e :pr:\u003ccode\u003e3225\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/052c006033729bbb422cbdad0c4fee988ecb5aa5\"\u003e\u003ccode\u003e052c006\u003c/code\u003e\u003c/a\u003e Change update release date.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/502b7ce7b131473ef00a3586e60bb000f33b4c43\"\u003e\u003ccode\u003e502b7ce\u003c/code\u003e\u003c/a\u003e Merge branch 'stable' of \u003ca href=\"https://github.com/pallets/click\"\u003ehttps://github.com/pallets/click\u003c/a\u003e into release-8.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a0a37e411820861d48e21b131fdd840abaf746e0\"\u003e\u003ccode\u003ea0a37e4\u003c/code\u003e\u003c/a\u003e Change publish to werkzeug latest. (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3301\"\u003e#3301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/57be6fc2b40eb40279d022e6aabc983ee0dfb7a9\"\u003e\u003ccode\u003e57be6fc\u003c/code\u003e\u003c/a\u003e Change publish to werkzeug latest.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/781d6a88bdd30229e72a84cd6753b0235f339679\"\u003e\u003ccode\u003e781d6a8\u003c/code\u003e\u003c/a\u003e Update publish workflows (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ff795b66ba945239c779b528171f5fe4536cf844\"\u003e\u003ccode\u003eff795b6\u003c/code\u003e\u003c/a\u003e Update precommit pins with tox\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/dd87ef4f9fa7d6f13e14885e9a6842a21ededebc\"\u003e\u003ccode\u003edd87ef4\u003c/code\u003e\u003c/a\u003e Update github action pins with tox\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/93d3f9d22e90035bc2b51c2183c15bd4a021376f\"\u003e\u003ccode\u003e93d3f9d\u003c/code\u003e\u003c/a\u003e Release version 8.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3299ba1a8a5de34b24a7226a683a837d8a0857e7\"\u003e\u003ccode\u003e3299ba1\u003c/code\u003e\u003c/a\u003e Add missing PR to changelog. (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3264\"\u003e#3264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b7f62c4d002e5b5bca3ebef6b995b7338740fe6f\"\u003e\u003ccode\u003eb7f62c4\u003c/code\u003e\u003c/a\u003e Add missing PR to changelog.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.3.1...8.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cuda-pathfinder` from 1.5.0 to 1.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NVIDIA/cuda-python/releases\"\u003ecuda-pathfinder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecuda-pathfinder v1.5.1\u003c/h2\u003e\n\u003ch2\u003eRelease notes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://nvidia.github.io/cuda-python/cuda-pathfinder/latest/release/1.5.1-notes.html\"\u003ehttps://nvidia.github.io/cuda-python/cuda-pathfinder/latest/release/1.5.1-notes.html\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://nvidia.github.io/cuda-python/cuda-pathfinder/1.5.1/\"\u003ehttps://nvidia.github.io/cuda-python/cuda-pathfinder/1.5.1/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePyPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://pypi.org/project/cuda-pathfinder/1.5.1/\"\u003ehttps://pypi.org/project/cuda-pathfinder/1.5.1/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eConda\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://anaconda.org/conda-forge/cuda-pathfinder/files?version=1.5.1\"\u003ehttps://anaconda.org/conda-forge/cuda-pathfinder/files?version=1.5.1\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econda install conda-forge::cuda-pathfinder=1.5.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/NVIDIA/cuda-python/commit/1c8f2979dedd0cc1add32ff03f7bab4f9ddc4a8c\"\u003e\u003ccode\u003e1c8f297\u003c/code\u003e\u003c/a\u003e docs(pathfinder): prepare 1.5.1 release notes (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1854\"\u003e#1854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NVIDIA/cuda-python/commit/1476822dfbc1fc9b747147cc0adf4a1c08aa0480\"\u003e\u003ccode\u003e1476822\u003c/code\u003e\u003c/a\u003e [FEA]: Add support for \u003ccode\u003epathfinder.find_bitcode_lib(\u0026quot;nvshmem_device\u0026quot;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1828\"\u003e#1828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NVIDIA/cuda-python/commit/900cd2efb47d9c4097a1637de18ee618c6ff6414\"\u003e\u003ccode\u003e900cd2e\u003c/code\u003e\u003c/a\u003e Claim cuda-python repository in context7 (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1757\"\u003e#1757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NVIDIA/cuda-python/commit/6a7d08c07b612786a3df8d3050fd76e281f615e1\"\u003e\u003ccode\u003e6a7d08c\u003c/code\u003e\u003c/a\u003e pathfinder: extended bin search paths with nvidia/cu13/bin (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1846\"\u003e#1846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NVIDIA/cuda-python/commit/64b8c0748e49489bf55e97f1e14dd78663a9d4cc\"\u003e\u003ccode\u003e64b8c07\u003c/code\u003e\u003c/a\u003e bench: Initial cuda.bindings latency benchmarks structure (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1736\"\u003e#1736\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NVIDIA/cuda-python/commit/56edbb0859413b00f77f42a0dc4e249f9596cbe4\"\u003e\u003ccode\u003e56edbb0\u003c/code\u003e\u003c/a\u003e Extract requires() test mark to eliminate repeated numpy version checks (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1844\"\u003e#1844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NVIDIA/cuda-python/commit/fa25626a753dba4cf052487fe425585236df1d13\"\u003e\u003ccode\u003efa25626\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions-monthly group with 5 updates (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1848\"\u003e#1848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NVIDIA/cuda-python/commit/66a687c69cf945d18d7980bdd9ad6b6265e0076c\"\u003e\u003ccode\u003e66a687c\u003c/code\u003e\u003c/a\u003e Enhance Graph.update() and add whole-graph update tests (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1843\"\u003e#1843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NVIDIA/cuda-python/commit/6211c5a668d5e73ad1370f0274f66a35f1ba837c\"\u003e\u003ccode\u003e6211c5a\u003c/code\u003e\u003c/a\u003e pathfinder: support cusolverMp dynamic loading and header searching (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1845\"\u003e#1845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NVIDIA/cuda-python/commit/682182b7e1ef05e81118cfedb3268d482e86edcf\"\u003e\u003ccode\u003e682182b\u003c/code\u003e\u003c/a\u003e Improve cuda_bindings examples (\u003ca href=\"https://redirect.github.com/NVIDIA/cuda-python/issues/1842\"\u003e#1842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/NVIDIA/cuda-python/compare/cuda-pathfinder-v1.5.0...cuda-pathfinder-v1.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.135.2 to 0.135.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.135.3\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for \u003ccode\u003e@app.vibe()\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15280\"\u003e#15280\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/advanced/vibe/\"\u003eVibe Coding\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✏️ Fix typo for \u003ccode\u003eclient_secret\u003c/code\u003e in OAuth2 form docstrings. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14946\"\u003e#14946\u003c/a\u003e 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\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👥 Update FastAPI People - Experts. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15279\"\u003e#15279\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 orjson from 3.11.7 to 3.11.8. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15276\"\u003e#15276\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.8. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15277\"\u003e#15277\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👥 Update FastAPI GitHub topic repositories. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15274\"\u003e#15274\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 fastmcp from 2.14.5 to 3.2.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15267\"\u003e#15267\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👥 Update FastAPI People - Contributors and Translators. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15270\"\u003e#15270\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 requests from 2.32.5 to 2.33.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15228\"\u003e#15228\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Add ty check to \u003ccode\u003elint.sh\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15136\"\u003e#15136\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/1f442c454f2f74c7419f83c203e6333955399528\"\u003e\u003ccode\u003e1f442c4\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.135.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8f5d1577b471f389f6cdea878d40a1497fda7746\"\u003e\u003ccode\u003e8f5d157\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/428452a710338334ae11043a48b06d52d9b3edba\"\u003e\u003ccode\u003e428452a\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/70580da818722cce68b7a88928d67bd0f64f42c5\"\u003e\u003ccode\u003e70580da\u003c/code\u003e\u003c/a\u003e ✨ Add support for \u003ccode\u003e@app.vibe()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15280\"\u003e#15280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6ee87478d821171139264cd9cd17cbd2232934ce\"\u003e\u003ccode\u003e6ee8747\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/3e72c09a2abfe9e1b55eede6a297cb1847126e49\"\u003e\u003ccode\u003e3e72c09\u003c/code\u003e\u003c/a\u003e 👥 Update FastAPI People - Experts (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15279\"\u003e#15279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/96df35f7a4337d612811483d8ade74f91cce2d61\"\u003e\u003ccode\u003e96df35f\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6c8112555bd86f21cfee8500140dca094ad26e20\"\u003e\u003ccode\u003e6c81125\u003c/code\u003e\u003c/a\u003e ⬆ Bump orjson from 3.11.7 to 3.11.8 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15276\"\u003e#15276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/428f82c93616b52aee2fcee03484a855135c07e5\"\u003e\u003ccode\u003e428f82c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/5599c59b9e7112109f04b63a58034fb95833f514\"\u003e\u003ccode\u003e5599c59\u003c/code\u003e\u003c/a\u003e ⬆ Bump ruff from 0.15.0 to 0.15.8 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15277\"\u003e#15277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.135.2...0.135.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.11.7 to 3.11.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8 - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78\"\u003e\u003ccode\u003e5cbb3d0\u003c/code\u003e\u003c/a\u003e 3.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e\"\u003e\u003ccode\u003e4195d7f\u003c/code\u003e\u003c/a\u003e writer::half\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b\"\u003e\u003ccode\u003ed00641b\u003c/code\u003e\u003c/a\u003e writer::uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84\"\u003e\u003ccode\u003ec84d9b4\u003c/code\u003e\u003c/a\u003e build and compatibility misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43\"\u003e\u003ccode\u003e4547234\u003c/code\u003e\u003c/a\u003e ffi::numpy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb\"\u003e\u003ccode\u003e0d4a5ad\u003c/code\u003e\u003c/a\u003e datetime PyRef idiom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85\"\u003e\u003ccode\u003ee93a13d\u003c/code\u003e\u003c/a\u003e Cross-compile avoids maturin v1.12 build-details.json error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.7...3.11.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 3.0.1 to 3.0.2\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.2\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.2.\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.2.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.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\u003c/blockquote\u003e\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/ab90747e3dae0e69b1bdbf083820b8075689b34b\"\u003e\u003ccode\u003eab90747\u003c/code\u003e\u003c/a\u003e RLS: 3.0.2 (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64934\"\u003e#64934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/6f270137a27f8de4bd1afd7d71220e0760429750\"\u003e\u003ccode\u003e6f27013\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64931\"\u003e#64931\u003c/a\u003e on branch 3.0.x (DOC/BLD: temporary disable upload of docs...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/48ddc60d6efe8d942dbe1495dea725a9d7db15ef\"\u003e\u003ccode\u003e48ddc60\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64664\"\u003e#64664\u003c/a\u003e on branch 3.0.x (BUG: DataFrame.sum() crashes on empty Dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/8774488df19d0859ddc05a24210783b66da27ef7\"\u003e\u003ccode\u003e8774488\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] PERF: fix slow python loop in validation for ArrowStringArra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/33af6cc04ed6331c23a49655c4c7bb8f90351da3\"\u003e\u003ccode\u003e33af6cc\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64133\"\u003e#64133\u003c/a\u003e on branch 3.0.x (BUG: str.find returns byte offset instead...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/4ef49d815aae99b6ba5627ab0a54ba0819336652\"\u003e\u003ccode\u003e4ef49d8\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: fix convert_dtypes dropping values from sliced mixed-dt...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/0668f3451120e5552cdc8cf5d85f6d1238ce4e12\"\u003e\u003ccode\u003e0668f34\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: Fix HDFStore.put with StringDtype columns and compressi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/23f2f442ea1af6deddfefef2a4a1e4cb44328c3d\"\u003e\u003ccode\u003e23f2f44\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: Suppress unnecessary RuntimeWarning in to_datetime with...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/83ba804de35ec98798d31474d044cff7666bebd6\"\u003e\u003ccode\u003e83ba804\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64886\"\u003e#64886\u003c/a\u003e: BUG: Compute Variance of Complex Numbers Correctly (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64892\"\u003e#64892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bb5ca1a7a96130fa0e8e2a3987c051e4473f7792\"\u003e\u003ccode\u003ebb5ca1a\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64386\"\u003e#64386\u003c/a\u003e on branch 3.0.x (BUG: fix sort_index AssertionError with R...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v3.0.1...v3.0.2\"\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 `pydantic-core` from 2.44.0 to 2.45.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic-core/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.48 to 2.0.49\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/releases\"\u003esqlalchemy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.0.49\u003c/h1\u003e\n\u003cp\u003eReleased: April 3, 2026\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where \u003ccode\u003e_orm.Session.get()\u003c/code\u003e would bypass the identity map\nand emit unnecessary SQL when \u003ccode\u003ewith_for_update=False\u003c/code\u003e was passed,\nrather than treating it equivalently to the default of \u003ccode\u003eNone\u003c/code\u003e.\nPull request courtesy of Joshua Swanson.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13176\"\u003e#13176\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where chained \u003ccode\u003e_orm.joinedload()\u003c/code\u003e options would not be\napplied correctly when the final relationship in the chain is declared on a\nbase mapper and accessed through a subclass mapper in a\n\u003ccode\u003e_orm.with_polymorphic()\u003c/code\u003e query. The path registry now correctly\ncomputes the natural path when a property declared on a base class is\naccessed through a path containing a subclass mapper, ensuring the loader\noption can be located during query compilation.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13193\"\u003e#13193\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug] [inheritance]\u003c/strong\u003e Fixed issue where using \u003ccode\u003e_orm.Load.options()\u003c/code\u003e to apply a chained loader\noption such as \u003ccode\u003e_orm.joinedload()\u003c/code\u003e or \u003ccode\u003e_orm.selectinload()\u003c/code\u003e with\n\u003ccode\u003e_orm.PropComparator.of_type()\u003c/code\u003e for a polymorphic relationship would\nnot generate the necessary clauses for the polymorphic subclasses. The\npolymorphic loading strategy is now correctly propagated when using a call\nsuch as \u003ccode\u003ejoinedload(A.b).options(joinedload(B.c.of_type(poly)))\u003c/code\u003e to match\nthe behavior of direct chaining e.g.\n\u003ccode\u003ejoinedload(A.b).joinedload(B.c.of_type(poly))\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13202\"\u003e#13202\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug] [inheritance]\u003c/strong\u003e Fixed issue where using chained loader options such as\n\u003ccode\u003e_orm.selectinload()\u003c/code\u003e after \u003ccode\u003e_orm.joinedload()\u003c/code\u003e with\n\u003ccode\u003e_orm.PropComparator.of_type()\u003c/code\u003e for a polymorphic relationship would\nnot properly apply the chained loader option. The loader option is now\ncorrectly applied when using a call such as\n\u003ccode\u003ejoinedload(A.b.of_type(poly)).selectinload(poly.SubClass.c)\u003c/code\u003e to eagerly\nload related objects.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13209\"\u003e#13209\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etyping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[typing] [bug]\u003c/strong\u003e Fixed a typing issue where the typed members of :data:\u003ccode\u003e.func\u003c/code\u003e would return\nthe appropriate class of the same name, however this creates an issue for\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tzdata` from 2025.3 to 2026.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/tzdata/releases\"\u003etzdata's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2026.1: Release of upstream tzdata 2026a\u003c/h2\u003e\n\u003ch1\u003eVersion 2026.1\u003c/h1\u003e\n\u003cp\u003eUpstream version 2026a released 2026-03-02T06:59:49+00:00\u003c/p\u003e\n\u003ch2\u003eBriefly:\u003c/h2\u003e\n\u003cp\u003eMoldova has used EU transition times since 2022. The \u0026quot;right\u0026quot; TZif files are no\nlonger installed by default. -DTZ_RUNTIME_LEAPS=0 disables runtime support for\nleap seconds. TZif files are no longer limited to 50 bytes of abbreviations. zic\nis no longer limited to 50 leap seconds. Several integer overflow bugs have been\nfixed.\u003c/p\u003e\n\u003ch2\u003eChanges to past and future timestamps\u003c/h2\u003e\n\u003cp\u003eSince 2022 Moldova has observed EU transition times, that is, it has sprung\nforward at 03:00, not 02:00, and has fallen back at 04:00, not 03:00.  (Thanks\nto Heitor David Pinto.)\u003c/p\u003e\n\u003ch2\u003eChanges to data\u003c/h2\u003e\n\u003cp\u003eRemove Europe/Chisinau from zonenow.tab, as it now agrees with Europe/Athens for\nfuture timestamps.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/tzdata/blob/master/NEWS.md\"\u003etzdata's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 2026.1\u003c/h1\u003e\n\u003cp\u003eUpstream version 2026a released 2026-03-02T06:59:49+00:00\u003c/p\u003e\n\u003ch2\u003eBriefly:\u003c/h2\u003e\n\u003cp\u003eMoldova has used EU transition times since 2022. The \u0026quot;right\u0026quot; TZif files are no\nlonger installed by default. -DTZ_RUNTIME_LEAPS=0 disables runtime support for\nleap seconds. TZif files are no longer limited to 50 bytes of abbreviations. zic\nis no longer limited to 50 leap seconds. Several integer overflow bugs have been\nfixed.\u003c/p\u003e\n\u003ch2\u003eChanges to past and future timestamps\u003c/h2\u003e\n\u003cp\u003eSince 2022 Moldova has observed EU transition times, that is, it has sprung\nforward at 03:00, not 02:00, and has fallen back at 04:00, not 03:00.  (Thanks\nto Heitor David Pinto.)\u003c/p\u003e\n\u003ch2\u003eChanges to data\u003c/h2\u003e\n\u003cp\u003eRemove Europe/Chisinau from zonenow.tab, as it now agrees with Europe/Athens for\nfuture timestamps.\u003c/p\u003e\n\u003chr /\u003e\n\u003c/blockquote\u003e\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/tzdata/commit/4997cab882668ef36ced53c797a7eecc229d6f66\"\u003e\u003ccode\u003e4997cab\u003c/code\u003e\u003c/a\u003e Update tzdata to version '2026a' (\u003ca href=\"https://redirect.github.com/python/tzdata/issues/123\"\u003e#123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/tzdata/commit/4d6c41f43dd1ed4d628d56846cf4166cad60f9b8\"\u003e\u003ccode\u003e4d6c41f\u003c/code\u003e\u003c/a\u003e Update development status to 'Production/Stable' (\u003ca href=\"https://redirect.github.com/python/tzdata/issues/127\"\u003e#127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/tzdata/commit/7c1ce8547dc9dee4fd99a11c714bf0d298e3230b\"\u003e\u003ccode\u003e7c1ce85\u003c/code\u003e\u003c/a\u003e Remove 'v' from tags in auto-tag.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/tzdata/commit/77a9c09c77d3da6dee96901693d31085f066a880\"\u003e\u003ccode\u003e77a9c09\u003c/code\u003e\u003c/a\u003e Update docs links to \u003ccode\u003etzdata.python.org\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python/tzdata/issues/125\"\u003e#125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/tzdata/commit/11148f66c434baa91cda04aaa04fdd1d1c6e0a98\"\u003e\u003ccode\u003e11148f6\u003c/code\u003e\u003c/a\u003e Remove quotes from update branch names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/tzdata/commit/98fa430db23193017082f4c53d6769ddde969466\"\u003e\u003ccode\u003e98fa430\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the actions group (\u003ca href=\"https://redirect.github.com/python/tzdata/issues/122\"\u003e#122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/tzdata/commit/7ef7c619a258efbd473f250d774e5a014ad0f19b\"\u003e\u003ccode\u003e7ef7c61\u003c/code\u003e\u003c/a\u003e Add auto-tag workflow (\u003ca href=\"https://redirect.github.com/python/tzdata/issues/110\"\u003e#110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/tzdata/commit/3fec560ad60b3be0c8724df91e1c995a2b9aef42\"\u003e\u003ccode\u003e3fec560\u003c/code\u003e\u003c/a\u003e Update tzdata to version '2025c'\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/python/tzdata/compare/2025.3...2026.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.42.0 to 0.43.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.43.0\u003c/h2\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEmit \u003ccode\u003ehttp.disconnect\u003c/code\u003e ASGI \u003ccode\u003ereceive()\u003c/code\u003e event on server shutting down for streaming responses (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2829\"\u003e#2829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse native \u003ccode\u003econtext\u003c/code\u003e parameter for \u003ccode\u003ecreate_task\u003c/code\u003e on Python 3.11+ (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2859\"\u003e#2859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop cast in ASGI types (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.42.0...0.43.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.42.0...0.43.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.43.0 (April 3, 2026)\u003c/h2\u003e\n\u003cp\u003eYou can quit Uvicorn now. We heard you, \u003ca href=\"https://github.com/pamelafox\"\u003e\u003ccode\u003e@​pamelafox\u003c/code\u003e\u003c/a\u003e - all 47 of your Ctrl+C's (thanks for flagging it, and thanks to \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e for the fix 🙏). \u003ca href=\"https://x.com/pamelafox/status/2039097686155227623\"\u003eSee the tweet\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEmit \u003ccode\u003ehttp.disconnect\u003c/code\u003e ASGI \u003ccode\u003ereceive()\u003c/code\u003e event on server shutting down for streaming responses (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2829\"\u003e#2829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse native \u003ccode\u003econtext\u003c/code\u003e parameter for \u003ccode\u003ecreate_task\u003c/code\u003e on Python 3.11+ (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2859\"\u003e#2859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop cast in ASGI types (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/8d397c73191b49c6d5280098d7c09dbe474e00bf\"\u003e\u003ccode\u003e8d397c7\u003c/code\u003e\u003c/a\u003e Version 0.43.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2885\"\u003e#2885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/587042d68ff6c813ec0d8cfafaa820ebe7229d23\"\u003e\u003ccode\u003e587042d\u003c/code\u003e\u003c/a\u003e 🐛 Emit \u003ccode\u003ehttp.disconnect\u003c/code\u003e ASGI \u003ccode\u003ereceive()\u003c/code\u003e event on server shutting down for s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/c9a75fb67b2e969253a41ef4ad447e013eee879e\"\u003e\u003ccode\u003ec9a75fb\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2878\"\u003e#2878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/84fd578224e36766efb056585cb6cc5171270089\"\u003e\u003ccode\u003e84fd578\u003c/code\u003e\u003c/a\u003e chore(deps): bump pygments from 2.19.2 to 2.20.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/cd52d34b55d898180a65cfc01a6a88aac54c65c3\"\u003e\u003ccode\u003ecd52d34\u003c/code\u003e\u003c/a\u003e Use native \u003ccode\u003econtext\u003c/code\u003e parameter for \u003ccode\u003ecreate_task\u003c/code\u003e on Python 3.11+ (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2859\"\u003e#2859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/5211880320b2e99a532eb121808039404da234ab\"\u003e\u003ccode\u003e5211880\u003c/code\u003e\u003c/a\u003e Drop cast in ASGI types (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/1cb8e747e2817ee46a4c0d44139e46b3b1f8fab6\"\u003e\u003ccode\u003e1cb8e74\u003c/code\u003e\u003c/a\u003e Add websocket 500 fallback header test (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2874\"\u003e#2874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/28efbb24bd590f1f943cbc2bf84f197268a8c6d8\"\u003e\u003ccode\u003e28efbb2\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump cryptography from 46.0.5 to 46.0.6 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/042ffeb7d6ea56c23afc538c6a270048ca2a0414\"\u003e\u003ccode\u003e042ffeb\u003c/code\u003e\u003c/a\u003e ci: add zizmor (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2872\"\u003e#2872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/c61f9d4ebdb8ab768efb4117129835e37f06aeca\"\u003e\u003ccode\u003ec61f9d4\u003c/code\u003e\u003c/a\u003e chore(deps): bump requests from 2.32.5 to 2.33.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2871\"\u003e#2871\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.42.0...0.43.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 3.1.7 to 3.1.8\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.8\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.8 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.8/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.8/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-8\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-8\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/45?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/45?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRequest.host\u003c/code\u003e and \u003ccode\u003eget_host\u003c/code\u003e return the empty string if the header is missing or has invalid characters. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3142\"\u003e#3142\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/blob/main/CHANGES.rst\"\u003ewerkzeug's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.8\u003c/h2\u003e\n\u003cp\u003eReleased 2026-04-02\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRequest.host\u003c/code\u003e and \u003ccode\u003eget_host\u003c/code\u003e return the empty string if the header is\nmissing or has invalid characters. :issue:\u003ccode\u003e3142\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/c1a26b45fb06d5e086b4d6be820c3302f588d815\"\u003e\u003ccode\u003ec1a26b4\u003c/code\u003e\u003c/a\u003e release version 3.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/7926f0bc3a0da01827e59c81d6da55f8f75a2eed\"\u003e\u003ccode\u003e7926f0b\u003c/code\u003e\u003c/a\u003e relax get_host strictness (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3148\"\u003e#3148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/deab88f61fa57d37d19f83ea438d4bdebb5a743c\"\u003e\u003ccode\u003edeab88f\u003c/code\u003e\u003c/a\u003e relax get_host strictness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/65eb6398231fe94f32fbc765a74980ca61fe5d2b\"\u003e\u003ccode\u003e65eb639\u003c/code\u003e\u003c/a\u003e start version 3.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/7720b76b37b17a33e5414bddb992c92ba854f0e3\"\u003e\u003ccode\u003e7720b76\u003c/code\u003e\u003c/a\u003e release version 3.1.7 (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3135\"\u003e#3135\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pallets/werkzeug/compare/3.1.7...3.1.8\"\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/microsoft/physical-ai-toolchain/pull/394","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fphysical-ai-toolchain/issues/394","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/394/packages"}},{"old_version":"3.10.12","new_version":"3.11.6","update_type":"minor","path":null,"pr_created_at":"2026-04-03T22:17:10.000Z","version_change":"3.10.12 → 3.11.6","issue":{"uuid":"4202398807","node_id":"PR_kwDOPaNb1c7P4cav","number":3,"state":"closed","title":"Bump the pip group across 3 directories with 8 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-03T22:19:49.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-03T22:17:10.000Z","updated_at":"2026-04-03T22:19:50.000Z","time_to_close":159,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip","update_count":8,"packages":[{"name":"mlflow","old_version":"3.2.0rc0","new_version":"3.9.0rc0","repository_url":"https://github.com/mlflow/mlflow"},{"name":"pyasn1","old_version":"0.6.1","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"sqlparse","old_version":"0.5.3","new_version":"0.5.4","repository_url":"https://github.com/andialbrecht/sqlparse"},{"name":"google-cloud-aiplatform","old_version":"1.47.0","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"orjson","old_version":"3.10.12","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"},{"name":"fastapi-sso","old_version":"0.16.0","new_version":"0.19.0","repository_url":"https://github.com/tomasvotava/fastapi-sso"},{"name":"mcp","old_version":"1.10.1","new_version":"1.23.0","repository_url":"https://github.com/modelcontextprotocol/python-sdk"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 4 updates in the / directory: [mlflow](https://github.com/mlflow/mlflow), [pyasn1](https://github.com/pyasn1/pyasn1), [sqlparse](https://github.com/andialbrecht/sqlparse) and [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 4 updates in the /.circleci directory: [orjson](https://github.com/ijl/orjson), [fastapi-sso](https://github.com/tomasvotava/fastapi-sso), [mcp](https://github.com/modelcontextprotocol/python-sdk) and [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 1 update in the /cookbook/litellm-ollama-docker-image directory: [litellm](https://github.com/BerriAI/litellm).\n\nUpdates `mlflow` from 3.2.0rc0 to 3.9.0rc0\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.9.0rc0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.9.0rc0, a pre-release including several notable updates:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMajor New Features\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🔮 \u003cstrong\u003eMLflow Assistant\u003c/strong\u003e: Figuring out the next steps to debug your apps and agents can be challenging. We're excited to introduce the MLflow Assistant, an in-product chatbot that can help you identify, diagnose, and fix issues. The assistant is backed by Claude Code, and directly passes context from the MLflow UI to Claude. Click on the floating \u0026quot;Assistant\u0026quot; button in the bottom right of the MLflow UI to get started!\u003c/li\u003e\n\u003cli\u003e📈 \u003cstrong\u003eTrace Overview Dashboard\u003c/strong\u003e: You can now get insights into your agent's performance at a glance with the new \u0026quot;Overview\u0026quot; tab in GenAI experiments. Many pre-built statistics are available out of the box, including performance metrics (e.g. latency, request count), quality metrics (based on assessments), and tool call summaries. If there are any additional charts you'd like to see, please feel free to raise an issue in the MLflow repository!\u003c/li\u003e\n\u003cli\u003e✨ \u003cstrong\u003eAI Gateway\u003c/strong\u003e: We're revamping our AI Gateway feature! AI Gateway provides a unified interface for your API requests, allowing you to route queries to your LLM provider(s) of choice. In MLflow 3.9.0rc0, the Gateway server is now located directly in the tracking server, so you don't need to spin up a new process. Additional features such as passthrough endpoints, traffic splits, and fallback models are also available, with more to come soon! For more detailed information, please take a look at the \u003ca href=\"https://mlflow.org/docs/latest/genai/governance/ai-gateway/\"\u003edocs\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔎 \u003cstrong\u003eOnline Monitoring with LLM Judges\u003c/strong\u003e: Configure LLM judges to automatically run on your traces, without having to write a line of code! You can either use one of our \u003ca href=\"https://mlflow.org/docs/latest/genai/eval-monitor/scorers/llm-judge/predefined/\"\u003epre-defined judges\u003c/a\u003e, or provide your own prompt and instructions to create custom metrics. Head to the new \u0026quot;Judges\u0026quot; tab within the GenAI Experiment UI to get started.\u003c/li\u003e\n\u003cli\u003e🤖 \u003cstrong\u003eJudge Builder UI\u003c/strong\u003e: Define and iterate on custom LLM judge prompts directly from the UI! Within the new \u0026quot;Judges\u0026quot; tab, you can create your own prompt for an LLM judge, and test-run it on your traces to see what the output would be. Once you're happy with it, you can either use it for online monitoring (as mentioned above), or use it via the Python SDK for your evals.\u003c/li\u003e\n\u003cli\u003e🔗 \u003cstrong\u003eDistributed Tracing\u003c/strong\u003e: Trace context can now be propagated across different services and processes, allowing you to truly track request lifecycles from end to end. The related APIs are defined in the \u003ccode\u003emlflow.tracing.distributed\u003c/code\u003e module (with more documentation to come soon).\u003c/li\u003e\n\u003cli\u003e📚 \u003cstrong\u003eMemAlign - a new judge optimizer algorithm\u003c/strong\u003e: We're excited to introduce \u003ccode\u003eMemAlignOptimizer\u003c/code\u003e, a new algorithm that makes your judges smarter over time. It learns general guidelines from past feedback while dynamically retrieving relevant examples at runtime, giving you more accurate evaluations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eStay tuned for the full release, which will be packed with even more features and bugfixes.\u003c/p\u003e\n\u003cp\u003eTo try out this release candidate, please run:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003epip install mlflow==3.9.0rc0\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003ePlease try it out and report any issues on \u003ca href=\"https://github.com/mlflow/mlflow/issues\"\u003ethe issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev3.8.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.1 includes several bug fixes and documentation updates.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Tracking] Skip registering sqlalchemy store when sqlalchemy lib is not installed (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19563\"\u003e#19563\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[Models / Scoring] fix(security): prevent command injection via malicious model artifacts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19583\"\u003e#19583\u003c/a\u003e, \u003ca href=\"https://github.com/ColeMurray\"\u003e\u003ccode\u003e@​ColeMurray\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts] Fix prompt registration with model_config on Databricks (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19617\"\u003e#19617\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 UI blank page on plain HTTP by replacing crypto.randomUUID with uuid library (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19644\"\u003e#19644\u003c/a\u003e, \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\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19539\"\u003e#19539\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19451\"\u003e#19451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19409\"\u003e#19409\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/19493\"\u003e#19493\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.8.0\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.0 includes several major features and improvements\u003c/p\u003e\n\u003ch3\u003eMajor Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⚙️ \u003cstrong\u003ePrompt Model Configuration\u003c/strong\u003e: Prompts can now include model configuration, allowing you to associate specific model settings with prompt templates for more reproducible LLM workflows. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18963\"\u003e#18963\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19174\"\u003e#19174\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19279\"\u003e#19279\u003c/a\u003e, \u003ca href=\"https://github.com/chenmoneygithub\"\u003e\u003ccode\u003e@​chenmoneygithub\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⏳ \u003cstrong\u003eIn-Progress Trace Display\u003c/strong\u003e: The Traces UI now supports displaying spans from in-progress traces with auto-polling, enabling real-time debugging and monitoring of long-running LLM applications. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19265\"\u003e#19265\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⚖️ \u003cstrong\u003eDeepEval and RAGAS Judges Integration\u003c/strong\u003e: New \u003ccode\u003eget_judge\u003c/code\u003e API enables using DeepEval and RAGAS evaluation metrics as MLflow scorers, providing access to 20+ evaluation metrics including answer relevancy, faithfulness, and hallucination detection. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18988\"\u003e#18988\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/19345\"\u003e#19345\u003c/a\u003e, \u003ca href=\"https://github.com/SomtochiUmeh\"\u003e\u003ccode\u003e@​SomtochiUmeh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e🛡️ \u003cstrong\u003eConversational Safety Scorer\u003c/strong\u003e: New built-in scorer for evaluating safety of multi-turn conversations, analyzing entire conversation histories for hate speech, harassment, violence, and other safety concerns. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19106\"\u003e#19106\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⚡ \u003cstrong\u003eConversational Tool Call Efficiency Scorer\u003c/strong\u003e: New built-in scorer for evaluating tool call efficiency in multi-turn agent interactions, detecting redundant calls, missing batching opportunities, and poor tool selections. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19245\"\u003e#19245\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImportant Notice\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCollection of UI Telemetry\u003c/strong\u003e. From MLflow 3.8.0 onwards, MLflow will collect anonymized data about UI interactions, similar to the telemetry we collect for the Python SDK. If you manage your own server, UI telemetry is automatically disabled by setting the existing environment variables: \u003ccode\u003eMLFLOW_DISABLE_TELEMETRY=true\u003c/code\u003e or \u003ccode\u003eDO_NOT_TRACK=true\u003c/code\u003e. If you do not manage your own server (e.g. you use a managed service or are not the admin), you can still opt out personally via the new \u0026quot;Settings\u0026quot; tab in the MLflow UI. For more information, please read the documentation on \u003ca href=\"https://mlflow.org/docs/latest/community/usage-tracking/\"\u003eusage tracking\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/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.0rc0 (2026-01-15)\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.9.0rc0, a pre-release including several notable updates:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMajor New Features\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🔮 \u003cstrong\u003eMLflow Assistant\u003c/strong\u003e: Figuring out the next steps to debug your apps and agents can be challenging. We're excited to introduce the MLflow Assistant, an in-product chatbot that can help you identify, diagnose, and fix issues. The assistant is backed by Claude Code, and directly passes context from the MLflow UI to Claude. Click on the floating \u0026quot;Assistant\u0026quot; button in the bottom right of the MLflow UI to get started!\u003c/li\u003e\n\u003cli\u003e📈 \u003cstrong\u003eTrace Overview Dashboard\u003c/strong\u003e: You can now get insights into your agent's performance at a glance with the new \u0026quot;Overview\u0026quot; tab in GenAI experiments. Many pre-built statistics are available out of the box, including performance metrics (e.g. latency, request count), quality metrics (based on assessments), and tool call summaries. If there are any additional charts you'd like to see, please feel free to raise an issue in the MLflow repository!\u003c/li\u003e\n\u003cli\u003e✨ \u003cstrong\u003eAI Gateway\u003c/strong\u003e: We're revamping our AI Gateway feature! AI Gateway provides a unified interface for your API requests, allowing you to route queries to your LLM provider(s) of choice. In MLflow 3.9.0rc0, the Gateway server is now located directly in the tracking server, so you don't need to spin up a new process. Additional features such as passthrough endpoints, traffic splits, and fallback models are also available, with more to come soon! For more detailed information, please take a look at the \u003ca href=\"https://mlflow.org/docs/latest/genai/governance/ai-gateway/\"\u003edocs\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔎 \u003cstrong\u003eOnline Monitoring with LLM Judges\u003c/strong\u003e: Configure LLM judges to automatically run on your traces, without having to write a line of code! You can either use one of our \u003ca href=\"https://mlflow.org/docs/latest/genai/eval-monitor/scorers/llm-judge/predefined/\"\u003epre-defined judges\u003c/a\u003e, or provide your own prompt and instructions to create custom metrics. Head to the new \u0026quot;Judges\u0026quot; tab within the GenAI Experiment UI to get started.\u003c/li\u003e\n\u003cli\u003e🤖 \u003cstrong\u003eJudge Builder UI\u003c/strong\u003e: Define and iterate on custom LLM judge prompts directly from the UI! Within the new \u0026quot;Judges\u0026quot; tab, you can create your own prompt for an LLM judge, and test-run it on your traces to see what the output would be. Once you're happy with it, you can either use it for online monitoring (as mentioned above), or use it via the Python SDK for your evals.\u003c/li\u003e\n\u003cli\u003e🔗 \u003cstrong\u003eDistributed Tracing\u003c/strong\u003e: Trace context can now be propagated across different services and processes, allowing you to truly track request lifecycles from end to end. The related APIs are defined in the \u003ccode\u003emlflow.tracing.distributed\u003c/code\u003e module (with more documentation to come soon).\u003c/li\u003e\n\u003cli\u003e📚 \u003cstrong\u003eMemAlign - a new judge optimizer algorithm\u003c/strong\u003e: We're excited to introduce \u003ccode\u003eMemAlignOptimizer\u003c/code\u003e, a new algorithm that makes your judges smarter over time. It learns general guidelines from past feedback while dynamically retrieving relevant examples at runtime, giving you more accurate evaluations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eStay tuned for the full release, which will be packed with even more features and bugfixes.\u003c/p\u003e\n\u003cp\u003eTo try out this release candidate, please run:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003epip install mlflow==3.9.0rc0\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.1 (2025-12-26)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.1 includes several bug fixes and documentation updates.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Tracking] Skip registering sqlalchemy store when sqlalchemy lib is not installed (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19563\"\u003e#19563\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[Models / Scoring] fix(security): prevent command injection via malicious model artifacts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19583\"\u003e#19583\u003c/a\u003e, \u003ca href=\"https://github.com/ColeMurray\"\u003e\u003ccode\u003e@​ColeMurray\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts] Fix prompt registration with model_config on Databricks (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19617\"\u003e#19617\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 UI blank page on plain HTTP by replacing crypto.randomUUID with uuid library (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19644\"\u003e#19644\u003c/a\u003e, \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\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19539\"\u003e#19539\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19451\"\u003e#19451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19409\"\u003e#19409\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/19493\"\u003e#19493\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.0 (2025-12-19)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.0 includes several major features and improvements\u003c/p\u003e\n\u003ch3\u003eMajor Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⚙️ \u003cstrong\u003ePrompt Model Configuration\u003c/strong\u003e: Prompts can now include model configuration, allowing you to associate specific model settings with prompt templates for more reproducible LLM workflows. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18963\"\u003e#18963\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19174\"\u003e#19174\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19279\"\u003e#19279\u003c/a\u003e, \u003ca href=\"https://github.com/chenmoneygithub\"\u003e\u003ccode\u003e@​chenmoneygithub\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⏳ \u003cstrong\u003eIn-Progress Trace Display\u003c/strong\u003e: The Traces UI now supports displaying spans from in-progress traces with auto-polling, enabling real-time debugging and monitoring of long-running LLM applications. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19265\"\u003e#19265\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⚖️ \u003cstrong\u003eDeepEval Judges Integration\u003c/strong\u003e: New \u003ccode\u003eget_judge\u003c/code\u003e API enables using DeepEval's evaluation metrics as MLflow scorers, providing access to 20+ evaluation metrics including answer relevancy, faithfulness, and hallucination detection. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18988\"\u003e#18988\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🛡️ \u003cstrong\u003eConversational Safety Scorer\u003c/strong\u003e: New built-in scorer for evaluating safety of multi-turn conversations, analyzing entire conversation histories for hate speech, harassment, violence, and other safety concerns. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19106\"\u003e#19106\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⚡ \u003cstrong\u003eConversational Tool Call Efficiency Scorer\u003c/strong\u003e: New built-in scorer for evaluating tool call efficiency in multi-turn agent interactions, detecting redundant calls, missing batching opportunities, and poor tool selections. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19245\"\u003e#19245\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImportant Notice\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCollection of UI Telemetry\u003c/strong\u003e. From MLflow 3.8.0 onwards, MLflow will collect anonymized data about UI interactions, similar to the telemetry we collect for the Python SDK. If you manage your own server, UI telemetry is automatically disabled by setting the existing environment variables: \u003ccode\u003eMLFLOW_DISABLE_TELEMETRY=true\u003c/code\u003e or \u003ccode\u003eDO_NOT_TRACK=true\u003c/code\u003e. If you do not manage your own server (e.g. you use a managed service or are not the admin), you can still opt out personally via the new \u0026quot;Settings\u0026quot; tab in the MLflow UI. For more information, please read the documentation on \u003ca href=\"https://mlflow.org/docs/latest/community/usage-tracking/\"\u003eusage tracking\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/mlflow/mlflow/commit/d8c9d8c0bcaedd5133e14e0b2931fdd607c97366\"\u003e\u003ccode\u003ed8c9d8c\u003c/code\u003e\u003c/a\u003e Run \u003ccode\u003epython3 dev/update_mlflow_versions.py pre-release ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/e65f119e02223718e532c3ce6d86a18cc28d9eb6\"\u003e\u003ccode\u003ee65f119\u003c/code\u003e\u003c/a\u003e Run \u003ccode\u003epython3 dev/update_ml_package_versions.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20013\"\u003e#20013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/069244579538d23bac836c61c60076d1a907a96c\"\u003e\u003ccode\u003e0692445\u003c/code\u003e\u003c/a\u003e Move DevTools section from PR description to separate comment (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20012\"\u003e#20012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/089d86963301f50ae52b13caf346fbc249dc9f53\"\u003e\u003ccode\u003e089d869\u003c/code\u003e\u003c/a\u003e Enhance LiteLLMConfig validation and normalize Databricks base URL (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20008\"\u003e#20008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/df01edd6ec77acd646a97eaf8785cef719a29499\"\u003e\u003ccode\u003edf01edd\u003c/code\u003e\u003c/a\u003e Implement telemetry tracking for gateway invocations and CRUD operations (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19\"\u003e#19\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/99b5a3dd85e01160aa4c89559209bb0cce42055c\"\u003e\u003ccode\u003e99b5a3d\u003c/code\u003e\u003c/a\u003e Merge MLflow Assistant branch (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/a58d7d746420257648e33b1fa1bc24e86cc60c40\"\u003e\u003ccode\u003ea58d7d7\u003c/code\u003e\u003c/a\u003e Remove vertical line (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20006\"\u003e#20006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/f4db4c37b17405ae91963c77200d7ef78976474d\"\u003e\u003ccode\u003ef4db4c3\u003c/code\u003e\u003c/a\u003e Remove over time label (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/aba70944127e4db5e4e14004e6a9a9ddd7884070\"\u003e\u003ccode\u003eaba7094\u003c/code\u003e\u003c/a\u003e Distinguish local remote server (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19893\"\u003e#19893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3bc8482544254bec5ccc09e79e554fb05e024d90\"\u003e\u003ccode\u003e3bc8482\u003c/code\u003e\u003c/a\u003e Add coming soon components (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.2.0rc0...v3.9.0rc0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyasn1` from 0.6.1 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyasn1/pyasn1/releases\"\u003epyasn1's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.6.3\u003c/h2\u003e\n\u003cp\u003eIt's a minor release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded nesting depth limit to ASN.1 decoder to prevent stack overflow from deeply nested structures (CVE-2026-30922).\u003c/li\u003e\n\u003cli\u003eFixed OverflowError from oversized BER length field.\u003c/li\u003e\n\u003cli\u003eFixed DeprecationWarning stacklevel for deprecated attributes.\u003c/li\u003e\n\u003cli\u003eFixed asDateTime incorrect fractional seconds parsing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll changes are noted in the \u003ca href=\"https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst\"\u003eCHANGELOG\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRelease 0.6.2\u003c/h2\u003e\n\u003cp\u003eIt's a minor release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed continuation octet limits in OID/RELATIVE-OID decoder (CVE-2026-23490).\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy.\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll changes are noted in the \u003ca href=\"https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst\"\u003eCHANGELOG\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/pyasn1/pyasn1/blob/main/CHANGES.rst\"\u003epyasn1's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRevision 0.6.3, released 16-03-2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-30922 (GHSA-jr27-m4p2-rc6r): Added nesting depth\nlimit to ASN.1 decoder to prevent stack overflow from deeply\nnested structures (thanks for reporting, romanticpragmatism)\u003c/li\u003e\n\u003cli\u003eFixed OverflowError from oversized BER length field\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/54\"\u003e#54\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/54\"\u003epyasn1/pyasn1#54\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/100\"\u003e#100\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/100\"\u003epyasn1/pyasn1#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DeprecationWarning stacklevel for deprecated attributes\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/86\"\u003e#86\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/86\"\u003epyasn1/pyasn1#86\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/101\"\u003e#101\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/101\"\u003epyasn1/pyasn1#101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed asDateTime incorrect fractional seconds parsing\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/81\"\u003e#81\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/81\"\u003epyasn1/pyasn1#81\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/102\"\u003e#102\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/102\"\u003epyasn1/pyasn1#102\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRevision 0.6.2, released 16-01-2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-23490 (GHSA-63vm-454h-vhhq): Fixed continuation octet limits\nin OID/RELATIVE-OID decoder (thanks to tsigouris007)\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/97\"\u003epyasn1/pyasn1#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy\u003c/li\u003e\n\u003cli\u003eFixed unit tests failing due to missing code\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003epyasn1/pyasn1#91\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/92\"\u003epyasn1/pyasn1#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/90\"\u003e#90\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/90\"\u003epyasn1/pyasn1#90\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/pyasn1/pyasn1/commit/af65c3b92e9deeae50db4de390982dd970d87f98\"\u003e\u003ccode\u003eaf65c3b\u003c/code\u003e\u003c/a\u003e Prepare release 0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/5a49bd1fe93b5b866a1210f6bf0a3924f21572c8\"\u003e\u003ccode\u003e5a49bd1\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/5494ba43f738e700ca9f7c7a69ec5c44908c9a9f\"\u003e\u003ccode\u003e5494ba4\u003c/code\u003e\u003c/a\u003e Fix asDateTime incorrect fractional seconds parsing (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/102\"\u003e#102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/71f486e6c32d0f270868aa1b2bb5ceb7d5fd5476\"\u003e\u003ccode\u003e71f486e\u003c/code\u003e\u003c/a\u003e Fix DeprecationWarning stacklevel for deprecated attributes (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/101\"\u003e#101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/d7cb42dcaa9a66e18f14c4609c2ed00c5b65f7e8\"\u003e\u003ccode\u003ed7cb42d\u003c/code\u003e\u003c/a\u003e Fix OverflowError from oversized BER length field (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/100\"\u003e#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/e7356f89cf32c130d65b1a0e903fe7ecce426424\"\u003e\u003ccode\u003ee7356f8\u003c/code\u003e\u003c/a\u003e Prepare release 0.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/3908f144229eed4df24bd569d16e5991ace44970\"\u003e\u003ccode\u003e3908f14\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/0a7e067674b1ec558f9d233a3bc173472fe27c6c\"\u003e\u003ccode\u003e0a7e067\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/33656e986d8e2355123799e7267104ac7d8a6fb1\"\u003e\u003ccode\u003e33656e9\u003c/code\u003e\u003c/a\u003e Create Security Policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/fa62307253f4423effac71a618e20fabaa37e22e\"\u003e\u003ccode\u003efa62307\u003c/code\u003e\u003c/a\u003e fix for issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e: unit tests failing due to missing code (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyasn1/pyasn1/compare/v0.6.1...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlparse` from 0.5.3 to 0.5.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG\"\u003esqlparse's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.5.4 (Nov 28, 2025)\u003c/h2\u003e\n\u003cp\u003eEnhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdd type annotations to top-level API functions and include py.typed marker\nfor PEP 561 compliance, enabling type checking with mypy and other tools\n(issue756).\u003c/li\u003e\n\u003cli\u003eAdd pre-commit hook support. sqlparse can now be used as a pre-commit hook\nto automatically format SQL files. The CLI now supports multiple files and\nan \u003ccode\u003e--in-place\u003c/code\u003e flag for in-place editing (issue537).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eATTACH\u003c/code\u003e and \u003ccode\u003eDETACH\u003c/code\u003e to PostgreSQL keywords (pr808).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eINTERSECT\u003c/code\u003e to close keywords in WHERE clause (pr820).\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eREGEXP BINARY\u003c/code\u003e comparison operator (pr817).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd additional protection against denial of service attacks when parsing\nvery large lists of tuples. This enhances the existing recursion protections\nwith configurable limits for token processing to prevent DoS through\nalgorithmic complexity attacks. The new limits (MAX_GROUPING_DEPTH=100,\nMAX_GROUPING_TOKENS=10000) can be adjusted or disabled (by setting to None)\nif needed for legitimate large SQL statements.\u003c/li\u003e\n\u003cli\u003eRemove shebang from cli.py and remove executable flag (pr818).\u003c/li\u003e\n\u003cli\u003eFix strip_comments not removing all comments when input contains only\ncomments (issue801, pr803 by stropysh).\u003c/li\u003e\n\u003cli\u003eFix splitting statements with IF EXISTS/IF NOT EXISTS inside BEGIN...END\nblocks (issue812).\u003c/li\u003e\n\u003cli\u003eFix splitting on semicolons inside BEGIN...END blocks (issue809).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/14e300b165b14d1a7662a071c6481b503d367528\"\u003e\u003ccode\u003e14e300b\u003c/code\u003e\u003c/a\u003e Bump version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/96a67e286963b2497b1b3f7a1378327af6661998\"\u003e\u003ccode\u003e96a67e2\u003c/code\u003e\u003c/a\u003e Code cleanup.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1a3bfbd50b82c05d9adcc51bacba059671dc1bc7\"\u003e\u003ccode\u003e1a3bfbd\u003c/code\u003e\u003c/a\u003e Fix handling of semicolons inside BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/809\"\u003e#809\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/e92a032c81d51a6645b4f8c32470481894818ba0\"\u003e\u003ccode\u003ee92a032\u003c/code\u003e\u003c/a\u003e Fix handling of IF EXISTS statements in BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/812\"\u003e#812\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/149bebf06c788e93a9b0dbee0e5abbc8e347b8e6\"\u003e\u003ccode\u003e149bebf\u003c/code\u003e\u003c/a\u003e Update Changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/561a67e740e9623cf81ef99f1a6cd94337e24282\"\u003e\u003ccode\u003e561a67e\u003c/code\u003e\u003c/a\u003e Update AUTHORS.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/73c8ba3ae88b608d39740c0776fb15064232258e\"\u003e\u003ccode\u003e73c8ba3\u003c/code\u003e\u003c/a\u003e bugfix ISSUE_801; Remove all comments when only comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1b323879f87207946e4782812e2e1254b1c0c659\"\u003e\u003ccode\u003e1b32387\u003c/code\u003e\u003c/a\u003e Update action to run on all prs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/31903e09db518ee3969110073427196ef9cd46c3\"\u003e\u003ccode\u003e31903e0\u003c/code\u003e\u003c/a\u003e Add pre-commit hook support (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/13577264eb38b88e24825022fea4bd4351449e7c\"\u003e\u003ccode\u003e1357726\u003c/code\u003e\u003c/a\u003e docs: add AGENTS.md for project guidance and development commands\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/andialbrecht/sqlparse/compare/0.5.3...0.5.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-aiplatform` from 1.47.0 to 1.133.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-aiplatform/releases\"\u003egoogle-cloud-aiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.133.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.132.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.131.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\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/googleapis/python-aiplatform/blob/main/CHANGELOG.md\"\u003egoogle-cloud-aiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix RagManagedVertexVectorSearch when using backend_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/df0976ed3195dc8313f4728bc5ecb29dda55d467\"\u003edf0976e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - patch for vulnerability in visualization (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8a00d43dbd24e95dbab6ea32c63ce0a5a1849480\"\u003e8a00d43\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/78f2bdd08bae0696923e61ab73080b5846c67ae0\"\u003e\u003ccode\u003e78f2bdd\u003c/code\u003e\u003c/a\u003e chore(main): release 1.133.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-aiplatform/issues/6211\"\u003e#6211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003e\u003ccode\u003ec8c0f0f\u003c/code\u003e\u003c/a\u003e fix: Add None check for agent_info in evals.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/9952b970b73cfe38e68c48b3699ee4e1df0264df\"\u003e\u003ccode\u003e9952b97\u003c/code\u003e\u003c/a\u003e chore: rollback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e\u003ccode\u003e83f4076\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/937d5af6b9bdbbe3b50181745c99550f124ad8b4\"\u003e\u003ccode\u003e937d5af\u003c/code\u003e\u003c/a\u003e Copybara import of the project:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/aaaf902be02747cd2281196aad6278df0fd11f7e\"\u003e\u003ccode\u003eaaaf902\u003c/code\u003e\u003c/a\u003e chore: bump google-auth lower bound to 2.47.0 in GenAI and Vertex SDKs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e\u003ccode\u003e8c876ef\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e\u003ccode\u003e5448f06\u003c/code\u003e\u003c/a\u003e fix: Require uri or staging bucket configuration for saving model to Vertex E...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e\u003ccode\u003e65717fa\u003c/code\u003e\u003c/a\u003e feat: GenAI SDK client(memory): Add enable_third_person_memories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003e\u003ccode\u003ebe2eaaa\u003c/code\u003e\u003c/a\u003e fix: GenAI client(evals) - Fix TypeError in _build_generate_content_config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.47.0...v1.133.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.10.12 to 3.11.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6 - 2026-01-29\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2 - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ec02024c3837255064f248c0d2d331319b75e9ad\"\u003e\u003ccode\u003eec02024\u003c/code\u003e\u003c/a\u003e 3.11.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d58168733189f82b3fd0c058dff73e05d09202e6\"\u003e\u003ccode\u003ed581687\u003c/code\u003e\u003c/a\u003e build, clippy misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4105b29b2275f200f6fae01349bef02ccf1bc2e2\"\u003e\u003ccode\u003e4105b29\u003c/code\u003e\u003c/a\u003e writer::num\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/62bb185b70785ded49c79c26f8c9781f1e6fe370\"\u003e\u003ccode\u003e62bb185\u003c/code\u003e\u003c/a\u003e Fix sporadic crash on serializing object close\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d860078a973f44401265c5c4ad12a7dbe4f839ad\"\u003e\u003ccode\u003ed860078\u003c/code\u003e\u003c/a\u003e PyRef idiom refactors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/343ae2f148197918aba9f8562db42c364620e4b8\"\u003e\u003ccode\u003e343ae2f\u003c/code\u003e\u003c/a\u003e Deserializer, Utf8Buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/7835f58d1c56947d1cf7a18acdfc07a2bca9b0f2\"\u003e\u003ccode\u003e7835f58\u003c/code\u003e\u003c/a\u003e PyBytesRef and other input refactor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/71e0516424ce1e11613eb1780f18e8cde83989fd\"\u003e\u003ccode\u003e71e0516\u003c/code\u003e\u003c/a\u003e PyStrRef\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1096df42dc585fde837ed0c930a346f5ef7dbb94\"\u003e\u003ccode\u003e1096df4\u003c/code\u003e\u003c/a\u003e MSRV 1.89\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/b718e75b8ba18a707c2b44b6de14d52547573771\"\u003e\u003ccode\u003eb718e75\u003c/code\u003e\u003c/a\u003e Drop support for python3.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.12...3.11.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi-sso` from 0.16.0 to 0.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/releases\"\u003efastapi-sso's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.19.0\u003c/h2\u003e\n\u003cp\u003e️⚠️ A critical OAuth login CSRF vulnerability caused by missing \u003ccode\u003estate\u003c/code\u003e validation was\nreported by \u003ca href=\"https://github.com/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e (Snyk Security Labs)\nin \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e and has been resolved\nin version \u003ccode\u003e0.19.0\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eStarting with \u003ccode\u003efastapi-sso==1.0.0\u003c/code\u003e, OAuth \u003ccode\u003estate\u003c/code\u003e will be backed by a pluggable server-side store\n(in-memory by default, with support for external stores such as \u003ccode\u003eRedis\u003c/code\u003e).\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the all group with 11 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/230\"\u003etomasvotava/fastapi-sso#230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/231\"\u003etomasvotava/fastapi-sso#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 6 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/232\"\u003etomasvotava/fastapi-sso#232\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/233\"\u003etomasvotava/fastapi-sso#233\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/234\"\u003etomasvotava/fastapi-sso#234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/235\"\u003etomasvotava/fastapi-sso#235\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/237\"\u003etomasvotava/fastapi-sso#237\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/239\"\u003etomasvotava/fastapi-sso#239\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/241\"\u003etomasvotava/fastapi-sso#241\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 5 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/242\"\u003etomasvotava/fastapi-sso#242\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 10 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/247\"\u003etomasvotava/fastapi-sso#247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/248\"\u003etomasvotava/fastapi-sso#248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/251\"\u003etomasvotava/fastapi-sso#251\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/252\"\u003etomasvotava/fastapi-sso#252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/253\"\u003etomasvotava/fastapi-sso#253\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/254\"\u003etomasvotava/fastapi-sso#254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 12 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/259\"\u003etomasvotava/fastapi-sso#259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: enforce state validation by \u003ca href=\"https://github.com/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/267\"\u003etomasvotava/fastapi-sso#267\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 7 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/265\"\u003etomasvotava/fastapi-sso#265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e): warn against using state as an arbitrary data transport by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/269\"\u003etomasvotava/fastapi-sso#269\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/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/267\"\u003etomasvotava/fastapi-sso#267\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.18.0...0.19.0\"\u003ehttps://github.com/tomasvotava/fastapi-sso/compare/0.18.0...0.19.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eRemoved support for python 3.8\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore: add Python 3.13 to testing and linting workflows by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/226\"\u003etomasvotava/fastapi-sso#226\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update Python version to 3.12 and improve documentation workflow by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/227\"\u003etomasvotava/fastapi-sso#227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/228\"\u003etomasvotava/fastapi-sso#228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:use id token for linkedin userinfo by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/229\"\u003etomasvotava/fastapi-sso#229\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.17.0...0.18.0\"\u003ehttps://github.com/tomasvotava/fastapi-sso/compare/0.17.0...0.18.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.17.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/c905eafe2d6d7aab5d2b929e53ba98f238fdb21d\"\u003e\u003ccode\u003ec905eaf\u003c/code\u003e\u003c/a\u003e chore: 0.18.0 =\u0026gt; 0.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/94343bf276bed9df0ed0b11fe00661fc65ac57e0\"\u003e\u003ccode\u003e94343bf\u003c/code\u003e\u003c/a\u003e docs(\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e): warn against using state as an arbitrary data transport (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/d057c1d4db151a180668a03784250315cdb0b1e9\"\u003e\u003ccode\u003ed057c1d\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group across 1 directory with 7 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/6117d1a5ad498ba57d671e8a059ebe20db5abe02\"\u003e\u003ccode\u003e6117d1a\u003c/code\u003e\u003c/a\u003e fix: enforce state validation (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/267\"\u003e#267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/da63c19bca7db0fe8a7e66d03fdf07154ec7182a\"\u003e\u003ccode\u003eda63c19\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group across 1 directory with 12 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/0ccaeddf9e95a997a370ec312dc073f8f9920f38\"\u003e\u003ccode\u003e0ccaedd\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group with 2 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/254\"\u003e#254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/a43e62e67dfc40a2f9634bd932a2dfd02fe9e5b8\"\u003e\u003ccode\u003ea43e62e\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 2 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/253\"\u003e#253\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/8cd706d335e134504be46eab3404ff0ca3bdf6f9\"\u003e\u003ccode\u003e8cd706d\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/252\"\u003e#252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/ea769fa223f5b665eb37b9cee998b19d49d52427\"\u003e\u003ccode\u003eea769fa\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/251\"\u003e#251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/7aba1e6ea408be1bce282fce7c3ba3da89e5e7b1\"\u003e\u003ccode\u003e7aba1e6\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/248\"\u003e#248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.16.0...0.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp` from 1.10.1 to 1.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.0\u003c/h2\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release brings us up to speed with the latest MCP spec \u003ccode\u003e2025-11-25\u003c/code\u003e. Take a look at the \u003ca href=\"https://modelcontextprotocol.io/specification/2025-11-25\"\u003elatest spec\u003c/a\u003e as well as the release \u003ca href=\"https://blog.modelcontextprotocol.io/posts/2025-11-25-first-mcp-anniversary/\"\u003eblog post.\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd tests for JSON Schema 2020-12 field preservation (SEP-1613) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1649\"\u003emodelcontextprotocol/python-sdk#1649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd client_secret_basic authentication support by \u003ca href=\"https://github.com/jonshea\"\u003e\u003ccode\u003e@​jonshea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1334\"\u003emodelcontextprotocol/python-sdk#1334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1577 - Sampling With Tools by \u003ca href=\"https://github.com/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1330: Elicitation Enum Schema Improvements and Standards Compliance by \u003ca href=\"https://github.com/chughtapan\"\u003e\u003ccode\u003e@​chughtapan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1246\"\u003emodelcontextprotocol/python-sdk#1246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[auth][conformance] add conformance auth client by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1640\"\u003emodelcontextprotocol/python-sdk#1640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-986: Tool name validation by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1655\"\u003emodelcontextprotocol/python-sdk#1655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: url for spec by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1659\"\u003emodelcontextprotocol/python-sdk#1659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: implement SEP-991 URL-based client ID (CIMD) support by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1652\"\u003emodelcontextprotocol/python-sdk#1652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate doc string on custom_route by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1660\"\u003emodelcontextprotocol/python-sdk#1660\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1036: URL mode elicitation for secure out-of-band interactions by \u003ca href=\"https://github.com/cbcoutinho\"\u003e\u003ccode\u003e@​cbcoutinho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1580\"\u003emodelcontextprotocol/python-sdk#1580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip empty SSE data to avoid parsing errors by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1670\"\u003emodelcontextprotocol/python-sdk#1670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1686: Tasks by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1645\"\u003emodelcontextprotocol/python-sdk#1645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd on_session_created callback option by \u003ca href=\"https://github.com/crondinini-ant\"\u003e\u003ccode\u003e@​crondinini-ant\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1710\"\u003emodelcontextprotocol/python-sdk#1710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd SSE polling support (SEP-1699) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1654\"\u003emodelcontextprotocol/python-sdk#1654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport client_credentials flow with JWT and Basic auth by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1663\"\u003emodelcontextprotocol/python-sdk#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: backwards-compatible create_message overloads for SEP-1577 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1713\"\u003emodelcontextprotocol/python-sdk#1713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-enable DNS rebinding protection for localhost servers by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e  (d3a184119e4479ea6a63590bc41f01dc06e3fa99)\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/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.22.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: Pass through and expose additional parameters in \u003ccode\u003eClientSessionGroup.call_tool\u003c/code\u003e and \u003ccode\u003e.connect_to_server\u003c/code\u003e by \u003ca href=\"https://github.com/inaku-Gyan\"\u003e\u003ccode\u003e@​inaku-Gyan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1576\"\u003emodelcontextprotocol/python-sdk#1576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Lazy import \u003ccode\u003ejsonschema\u003c/code\u003e library by \u003ca href=\"https://github.com/wuliang229\"\u003e\u003ccode\u003e@​wuliang229\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1596\"\u003emodelcontextprotocol/python-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update examples to use stateless HTTP with JSON responses by \u003ca href=\"https://github.com/domdomegg\"\u003e\u003ccode\u003e@​domdomegg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1499\"\u003emodelcontextprotocol/python-sdk#1499\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/wuliang229\"\u003e\u003ccode\u003e@​wuliang229\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1596\"\u003emodelcontextprotocol/python-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.21.1...v1.22.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.21.1...v1.22.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.21.2\u003c/h2\u003e\n\u003ch2\u003eHotfix Release\u003c/h2\u003e\n\u003cp\u003eThis is a hotfix release to address a critical bug in OAuth scope handling that caused failures on 401 responses.\u003c/p\u003e\n\u003ch3\u003eRelated:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1630\"\u003emodelcontextprotocol/python-sdk#1630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1632\"\u003emodelcontextprotocol/python-sdk#1632\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\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/modelcontextprotocol/python-sdk/commit/d3a184119e4479ea6a63590bc41f01dc06e3fa99\"\u003e\u003ccode\u003ed3a1841\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/fa851d93a2036a37cce73e098f7dbc80a6c48765\"\u003e\u003ccode\u003efa851d9\u003c/code\u003e\u003c/a\u003e feat: backwards-compatible create_message overloads for SEP-1577 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1713\"\u003e#1713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/f82b0c937178815c1e96460455778578050c6d1a\"\u003e\u003ccode\u003ef82b0c9\u003c/code\u003e\u003c/a\u003e Support client_credentials flow with JWT and Basic auth (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/...\n\n_Description has been truncated_","html_url":"https://github.com/dporkka/litellm/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dporkka%2Flitellm/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"}},{"old_version":"3.10.12","new_version":"3.11.6","update_type":"minor","path":null,"pr_created_at":"2026-04-03T22:14:24.000Z","version_change":"3.10.12 → 3.11.6","issue":{"uuid":"4202391501","node_id":"PR_kwDOPeG6mc7P4a7I","number":7,"state":"closed","title":"Bump the pip group across 3 directories with 8 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-03T22:18:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-03T22:14:24.000Z","updated_at":"2026-04-03T22:18:14.000Z","time_to_close":229,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip","update_count":8,"packages":[{"name":"mlflow","old_version":"3.2.0","new_version":"3.9.0rc0","repository_url":"https://github.com/mlflow/mlflow"},{"name":"pyasn1","old_version":"0.6.1","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"sqlparse","old_version":"0.5.3","new_version":"0.5.4","repository_url":"https://github.com/andialbrecht/sqlparse"},{"name":"google-cloud-aiplatform","old_version":"1.47.0","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"orjson","old_version":"3.10.12","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"},{"name":"fastapi-sso","old_version":"0.16.0","new_version":"0.19.0","repository_url":"https://github.com/tomasvotava/fastapi-sso"},{"name":"mcp","old_version":"1.10.1","new_version":"1.23.0","repository_url":"https://github.com/modelcontextprotocol/python-sdk"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 4 updates in the / directory: [mlflow](https://github.com/mlflow/mlflow), [pyasn1](https://github.com/pyasn1/pyasn1), [sqlparse](https://github.com/andialbrecht/sqlparse) and [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 4 updates in the /.circleci directory: [orjson](https://github.com/ijl/orjson), [fastapi-sso](https://github.com/tomasvotava/fastapi-sso), [mcp](https://github.com/modelcontextprotocol/python-sdk) and [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 1 update in the /cookbook/litellm-ollama-docker-image directory: [litellm](https://github.com/BerriAI/litellm).\n\nUpdates `mlflow` from 3.2.0 to 3.9.0rc0\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.9.0rc0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.9.0rc0, a pre-release including several notable updates:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMajor New Features\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🔮 \u003cstrong\u003eMLflow Assistant\u003c/strong\u003e: Figuring out the next steps to debug your apps and agents can be challenging. We're excited to introduce the MLflow Assistant, an in-product chatbot that can help you identify, diagnose, and fix issues. The assistant is backed by Claude Code, and directly passes context from the MLflow UI to Claude. Click on the floating \u0026quot;Assistant\u0026quot; button in the bottom right of the MLflow UI to get started!\u003c/li\u003e\n\u003cli\u003e📈 \u003cstrong\u003eTrace Overview Dashboard\u003c/strong\u003e: You can now get insights into your agent's performance at a glance with the new \u0026quot;Overview\u0026quot; tab in GenAI experiments. Many pre-built statistics are available out of the box, including performance metrics (e.g. latency, request count), quality metrics (based on assessments), and tool call summaries. If there are any additional charts you'd like to see, please feel free to raise an issue in the MLflow repository!\u003c/li\u003e\n\u003cli\u003e✨ \u003cstrong\u003eAI Gateway\u003c/strong\u003e: We're revamping our AI Gateway feature! AI Gateway provides a unified interface for your API requests, allowing you to route queries to your LLM provider(s) of choice. In MLflow 3.9.0rc0, the Gateway server is now located directly in the tracking server, so you don't need to spin up a new process. Additional features such as passthrough endpoints, traffic splits, and fallback models are also available, with more to come soon! For more detailed information, please take a look at the \u003ca href=\"https://mlflow.org/docs/latest/genai/governance/ai-gateway/\"\u003edocs\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔎 \u003cstrong\u003eOnline Monitoring with LLM Judges\u003c/strong\u003e: Configure LLM judges to automatically run on your traces, without having to write a line of code! You can either use one of our \u003ca href=\"https://mlflow.org/docs/latest/genai/eval-monitor/scorers/llm-judge/predefined/\"\u003epre-defined judges\u003c/a\u003e, or provide your own prompt and instructions to create custom metrics. Head to the new \u0026quot;Judges\u0026quot; tab within the GenAI Experiment UI to get started.\u003c/li\u003e\n\u003cli\u003e🤖 \u003cstrong\u003eJudge Builder UI\u003c/strong\u003e: Define and iterate on custom LLM judge prompts directly from the UI! Within the new \u0026quot;Judges\u0026quot; tab, you can create your own prompt for an LLM judge, and test-run it on your traces to see what the output would be. Once you're happy with it, you can either use it for online monitoring (as mentioned above), or use it via the Python SDK for your evals.\u003c/li\u003e\n\u003cli\u003e🔗 \u003cstrong\u003eDistributed Tracing\u003c/strong\u003e: Trace context can now be propagated across different services and processes, allowing you to truly track request lifecycles from end to end. The related APIs are defined in the \u003ccode\u003emlflow.tracing.distributed\u003c/code\u003e module (with more documentation to come soon).\u003c/li\u003e\n\u003cli\u003e📚 \u003cstrong\u003eMemAlign - a new judge optimizer algorithm\u003c/strong\u003e: We're excited to introduce \u003ccode\u003eMemAlignOptimizer\u003c/code\u003e, a new algorithm that makes your judges smarter over time. It learns general guidelines from past feedback while dynamically retrieving relevant examples at runtime, giving you more accurate evaluations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eStay tuned for the full release, which will be packed with even more features and bugfixes.\u003c/p\u003e\n\u003cp\u003eTo try out this release candidate, please run:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003epip install mlflow==3.9.0rc0\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003ePlease try it out and report any issues on \u003ca href=\"https://github.com/mlflow/mlflow/issues\"\u003ethe issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev3.8.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.1 includes several bug fixes and documentation updates.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Tracking] Skip registering sqlalchemy store when sqlalchemy lib is not installed (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19563\"\u003e#19563\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[Models / Scoring] fix(security): prevent command injection via malicious model artifacts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19583\"\u003e#19583\u003c/a\u003e, \u003ca href=\"https://github.com/ColeMurray\"\u003e\u003ccode\u003e@​ColeMurray\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts] Fix prompt registration with model_config on Databricks (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19617\"\u003e#19617\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 UI blank page on plain HTTP by replacing crypto.randomUUID with uuid library (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19644\"\u003e#19644\u003c/a\u003e, \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\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19539\"\u003e#19539\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19451\"\u003e#19451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19409\"\u003e#19409\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/19493\"\u003e#19493\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.8.0\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.0 includes several major features and improvements\u003c/p\u003e\n\u003ch3\u003eMajor Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⚙️ \u003cstrong\u003ePrompt Model Configuration\u003c/strong\u003e: Prompts can now include model configuration, allowing you to associate specific model settings with prompt templates for more reproducible LLM workflows. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18963\"\u003e#18963\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19174\"\u003e#19174\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19279\"\u003e#19279\u003c/a\u003e, \u003ca href=\"https://github.com/chenmoneygithub\"\u003e\u003ccode\u003e@​chenmoneygithub\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⏳ \u003cstrong\u003eIn-Progress Trace Display\u003c/strong\u003e: The Traces UI now supports displaying spans from in-progress traces with auto-polling, enabling real-time debugging and monitoring of long-running LLM applications. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19265\"\u003e#19265\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⚖️ \u003cstrong\u003eDeepEval and RAGAS Judges Integration\u003c/strong\u003e: New \u003ccode\u003eget_judge\u003c/code\u003e API enables using DeepEval and RAGAS evaluation metrics as MLflow scorers, providing access to 20+ evaluation metrics including answer relevancy, faithfulness, and hallucination detection. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18988\"\u003e#18988\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/19345\"\u003e#19345\u003c/a\u003e, \u003ca href=\"https://github.com/SomtochiUmeh\"\u003e\u003ccode\u003e@​SomtochiUmeh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e🛡️ \u003cstrong\u003eConversational Safety Scorer\u003c/strong\u003e: New built-in scorer for evaluating safety of multi-turn conversations, analyzing entire conversation histories for hate speech, harassment, violence, and other safety concerns. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19106\"\u003e#19106\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⚡ \u003cstrong\u003eConversational Tool Call Efficiency Scorer\u003c/strong\u003e: New built-in scorer for evaluating tool call efficiency in multi-turn agent interactions, detecting redundant calls, missing batching opportunities, and poor tool selections. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19245\"\u003e#19245\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImportant Notice\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCollection of UI Telemetry\u003c/strong\u003e. From MLflow 3.8.0 onwards, MLflow will collect anonymized data about UI interactions, similar to the telemetry we collect for the Python SDK. If you manage your own server, UI telemetry is automatically disabled by setting the existing environment variables: \u003ccode\u003eMLFLOW_DISABLE_TELEMETRY=true\u003c/code\u003e or \u003ccode\u003eDO_NOT_TRACK=true\u003c/code\u003e. If you do not manage your own server (e.g. you use a managed service or are not the admin), you can still opt out personally via the new \u0026quot;Settings\u0026quot; tab in the MLflow UI. For more information, please read the documentation on \u003ca href=\"https://mlflow.org/docs/latest/community/usage-tracking/\"\u003eusage tracking\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/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.0rc0 (2026-01-15)\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.9.0rc0, a pre-release including several notable updates:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMajor New Features\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🔮 \u003cstrong\u003eMLflow Assistant\u003c/strong\u003e: Figuring out the next steps to debug your apps and agents can be challenging. We're excited to introduce the MLflow Assistant, an in-product chatbot that can help you identify, diagnose, and fix issues. The assistant is backed by Claude Code, and directly passes context from the MLflow UI to Claude. Click on the floating \u0026quot;Assistant\u0026quot; button in the bottom right of the MLflow UI to get started!\u003c/li\u003e\n\u003cli\u003e📈 \u003cstrong\u003eTrace Overview Dashboard\u003c/strong\u003e: You can now get insights into your agent's performance at a glance with the new \u0026quot;Overview\u0026quot; tab in GenAI experiments. Many pre-built statistics are available out of the box, including performance metrics (e.g. latency, request count), quality metrics (based on assessments), and tool call summaries. If there are any additional charts you'd like to see, please feel free to raise an issue in the MLflow repository!\u003c/li\u003e\n\u003cli\u003e✨ \u003cstrong\u003eAI Gateway\u003c/strong\u003e: We're revamping our AI Gateway feature! AI Gateway provides a unified interface for your API requests, allowing you to route queries to your LLM provider(s) of choice. In MLflow 3.9.0rc0, the Gateway server is now located directly in the tracking server, so you don't need to spin up a new process. Additional features such as passthrough endpoints, traffic splits, and fallback models are also available, with more to come soon! For more detailed information, please take a look at the \u003ca href=\"https://mlflow.org/docs/latest/genai/governance/ai-gateway/\"\u003edocs\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔎 \u003cstrong\u003eOnline Monitoring with LLM Judges\u003c/strong\u003e: Configure LLM judges to automatically run on your traces, without having to write a line of code! You can either use one of our \u003ca href=\"https://mlflow.org/docs/latest/genai/eval-monitor/scorers/llm-judge/predefined/\"\u003epre-defined judges\u003c/a\u003e, or provide your own prompt and instructions to create custom metrics. Head to the new \u0026quot;Judges\u0026quot; tab within the GenAI Experiment UI to get started.\u003c/li\u003e\n\u003cli\u003e🤖 \u003cstrong\u003eJudge Builder UI\u003c/strong\u003e: Define and iterate on custom LLM judge prompts directly from the UI! Within the new \u0026quot;Judges\u0026quot; tab, you can create your own prompt for an LLM judge, and test-run it on your traces to see what the output would be. Once you're happy with it, you can either use it for online monitoring (as mentioned above), or use it via the Python SDK for your evals.\u003c/li\u003e\n\u003cli\u003e🔗 \u003cstrong\u003eDistributed Tracing\u003c/strong\u003e: Trace context can now be propagated across different services and processes, allowing you to truly track request lifecycles from end to end. The related APIs are defined in the \u003ccode\u003emlflow.tracing.distributed\u003c/code\u003e module (with more documentation to come soon).\u003c/li\u003e\n\u003cli\u003e📚 \u003cstrong\u003eMemAlign - a new judge optimizer algorithm\u003c/strong\u003e: We're excited to introduce \u003ccode\u003eMemAlignOptimizer\u003c/code\u003e, a new algorithm that makes your judges smarter over time. It learns general guidelines from past feedback while dynamically retrieving relevant examples at runtime, giving you more accurate evaluations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eStay tuned for the full release, which will be packed with even more features and bugfixes.\u003c/p\u003e\n\u003cp\u003eTo try out this release candidate, please run:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003epip install mlflow==3.9.0rc0\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.1 (2025-12-26)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.1 includes several bug fixes and documentation updates.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Tracking] Skip registering sqlalchemy store when sqlalchemy lib is not installed (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19563\"\u003e#19563\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[Models / Scoring] fix(security): prevent command injection via malicious model artifacts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19583\"\u003e#19583\u003c/a\u003e, \u003ca href=\"https://github.com/ColeMurray\"\u003e\u003ccode\u003e@​ColeMurray\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts] Fix prompt registration with model_config on Databricks (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19617\"\u003e#19617\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 UI blank page on plain HTTP by replacing crypto.randomUUID with uuid library (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19644\"\u003e#19644\u003c/a\u003e, \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\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19539\"\u003e#19539\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19451\"\u003e#19451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19409\"\u003e#19409\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/19493\"\u003e#19493\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.0 (2025-12-19)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.0 includes several major features and improvements\u003c/p\u003e\n\u003ch3\u003eMajor Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⚙️ \u003cstrong\u003ePrompt Model Configuration\u003c/strong\u003e: Prompts can now include model configuration, allowing you to associate specific model settings with prompt templates for more reproducible LLM workflows. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18963\"\u003e#18963\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19174\"\u003e#19174\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19279\"\u003e#19279\u003c/a\u003e, \u003ca href=\"https://github.com/chenmoneygithub\"\u003e\u003ccode\u003e@​chenmoneygithub\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⏳ \u003cstrong\u003eIn-Progress Trace Display\u003c/strong\u003e: The Traces UI now supports displaying spans from in-progress traces with auto-polling, enabling real-time debugging and monitoring of long-running LLM applications. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19265\"\u003e#19265\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⚖️ \u003cstrong\u003eDeepEval Judges Integration\u003c/strong\u003e: New \u003ccode\u003eget_judge\u003c/code\u003e API enables using DeepEval's evaluation metrics as MLflow scorers, providing access to 20+ evaluation metrics including answer relevancy, faithfulness, and hallucination detection. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18988\"\u003e#18988\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🛡️ \u003cstrong\u003eConversational Safety Scorer\u003c/strong\u003e: New built-in scorer for evaluating safety of multi-turn conversations, analyzing entire conversation histories for hate speech, harassment, violence, and other safety concerns. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19106\"\u003e#19106\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⚡ \u003cstrong\u003eConversational Tool Call Efficiency Scorer\u003c/strong\u003e: New built-in scorer for evaluating tool call efficiency in multi-turn agent interactions, detecting redundant calls, missing batching opportunities, and poor tool selections. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19245\"\u003e#19245\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImportant Notice\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCollection of UI Telemetry\u003c/strong\u003e. From MLflow 3.8.0 onwards, MLflow will collect anonymized data about UI interactions, similar to the telemetry we collect for the Python SDK. If you manage your own server, UI telemetry is automatically disabled by setting the existing environment variables: \u003ccode\u003eMLFLOW_DISABLE_TELEMETRY=true\u003c/code\u003e or \u003ccode\u003eDO_NOT_TRACK=true\u003c/code\u003e. If you do not manage your own server (e.g. you use a managed service or are not the admin), you can still opt out personally via the new \u0026quot;Settings\u0026quot; tab in the MLflow UI. For more information, please read the documentation on \u003ca href=\"https://mlflow.org/docs/latest/community/usage-tracking/\"\u003eusage tracking\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/mlflow/mlflow/commit/d8c9d8c0bcaedd5133e14e0b2931fdd607c97366\"\u003e\u003ccode\u003ed8c9d8c\u003c/code\u003e\u003c/a\u003e Run \u003ccode\u003epython3 dev/update_mlflow_versions.py pre-release ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/e65f119e02223718e532c3ce6d86a18cc28d9eb6\"\u003e\u003ccode\u003ee65f119\u003c/code\u003e\u003c/a\u003e Run \u003ccode\u003epython3 dev/update_ml_package_versions.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20013\"\u003e#20013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/069244579538d23bac836c61c60076d1a907a96c\"\u003e\u003ccode\u003e0692445\u003c/code\u003e\u003c/a\u003e Move DevTools section from PR description to separate comment (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20012\"\u003e#20012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/089d86963301f50ae52b13caf346fbc249dc9f53\"\u003e\u003ccode\u003e089d869\u003c/code\u003e\u003c/a\u003e Enhance LiteLLMConfig validation and normalize Databricks base URL (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20008\"\u003e#20008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/df01edd6ec77acd646a97eaf8785cef719a29499\"\u003e\u003ccode\u003edf01edd\u003c/code\u003e\u003c/a\u003e Implement telemetry tracking for gateway invocations and CRUD operations (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19\"\u003e#19\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/99b5a3dd85e01160aa4c89559209bb0cce42055c\"\u003e\u003ccode\u003e99b5a3d\u003c/code\u003e\u003c/a\u003e Merge MLflow Assistant branch (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/a58d7d746420257648e33b1fa1bc24e86cc60c40\"\u003e\u003ccode\u003ea58d7d7\u003c/code\u003e\u003c/a\u003e Remove vertical line (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20006\"\u003e#20006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/f4db4c37b17405ae91963c77200d7ef78976474d\"\u003e\u003ccode\u003ef4db4c3\u003c/code\u003e\u003c/a\u003e Remove over time label (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/aba70944127e4db5e4e14004e6a9a9ddd7884070\"\u003e\u003ccode\u003eaba7094\u003c/code\u003e\u003c/a\u003e Distinguish local remote server (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19893\"\u003e#19893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3bc8482544254bec5ccc09e79e554fb05e024d90\"\u003e\u003ccode\u003e3bc8482\u003c/code\u003e\u003c/a\u003e Add coming soon components (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.2.0...v3.9.0rc0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyasn1` from 0.6.1 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyasn1/pyasn1/releases\"\u003epyasn1's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.6.3\u003c/h2\u003e\n\u003cp\u003eIt's a minor release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded nesting depth limit to ASN.1 decoder to prevent stack overflow from deeply nested structures (CVE-2026-30922).\u003c/li\u003e\n\u003cli\u003eFixed OverflowError from oversized BER length field.\u003c/li\u003e\n\u003cli\u003eFixed DeprecationWarning stacklevel for deprecated attributes.\u003c/li\u003e\n\u003cli\u003eFixed asDateTime incorrect fractional seconds parsing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll changes are noted in the \u003ca href=\"https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst\"\u003eCHANGELOG\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRelease 0.6.2\u003c/h2\u003e\n\u003cp\u003eIt's a minor release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed continuation octet limits in OID/RELATIVE-OID decoder (CVE-2026-23490).\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy.\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll changes are noted in the \u003ca href=\"https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst\"\u003eCHANGELOG\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/pyasn1/pyasn1/blob/main/CHANGES.rst\"\u003epyasn1's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRevision 0.6.3, released 16-03-2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-30922 (GHSA-jr27-m4p2-rc6r): Added nesting depth\nlimit to ASN.1 decoder to prevent stack overflow from deeply\nnested structures (thanks for reporting, romanticpragmatism)\u003c/li\u003e\n\u003cli\u003eFixed OverflowError from oversized BER length field\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/54\"\u003e#54\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/54\"\u003epyasn1/pyasn1#54\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/100\"\u003e#100\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/100\"\u003epyasn1/pyasn1#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DeprecationWarning stacklevel for deprecated attributes\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/86\"\u003e#86\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/86\"\u003epyasn1/pyasn1#86\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/101\"\u003e#101\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/101\"\u003epyasn1/pyasn1#101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed asDateTime incorrect fractional seconds parsing\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/81\"\u003e#81\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/81\"\u003epyasn1/pyasn1#81\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/102\"\u003e#102\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/102\"\u003epyasn1/pyasn1#102\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRevision 0.6.2, released 16-01-2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-23490 (GHSA-63vm-454h-vhhq): Fixed continuation octet limits\nin OID/RELATIVE-OID decoder (thanks to tsigouris007)\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/97\"\u003epyasn1/pyasn1#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy\u003c/li\u003e\n\u003cli\u003eFixed unit tests failing due to missing code\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003epyasn1/pyasn1#91\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/92\"\u003epyasn1/pyasn1#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/90\"\u003e#90\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/90\"\u003epyasn1/pyasn1#90\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/pyasn1/pyasn1/commit/af65c3b92e9deeae50db4de390982dd970d87f98\"\u003e\u003ccode\u003eaf65c3b\u003c/code\u003e\u003c/a\u003e Prepare release 0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/5a49bd1fe93b5b866a1210f6bf0a3924f21572c8\"\u003e\u003ccode\u003e5a49bd1\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/5494ba43f738e700ca9f7c7a69ec5c44908c9a9f\"\u003e\u003ccode\u003e5494ba4\u003c/code\u003e\u003c/a\u003e Fix asDateTime incorrect fractional seconds parsing (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/102\"\u003e#102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/71f486e6c32d0f270868aa1b2bb5ceb7d5fd5476\"\u003e\u003ccode\u003e71f486e\u003c/code\u003e\u003c/a\u003e Fix DeprecationWarning stacklevel for deprecated attributes (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/101\"\u003e#101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/d7cb42dcaa9a66e18f14c4609c2ed00c5b65f7e8\"\u003e\u003ccode\u003ed7cb42d\u003c/code\u003e\u003c/a\u003e Fix OverflowError from oversized BER length field (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/100\"\u003e#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/e7356f89cf32c130d65b1a0e903fe7ecce426424\"\u003e\u003ccode\u003ee7356f8\u003c/code\u003e\u003c/a\u003e Prepare release 0.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/3908f144229eed4df24bd569d16e5991ace44970\"\u003e\u003ccode\u003e3908f14\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/0a7e067674b1ec558f9d233a3bc173472fe27c6c\"\u003e\u003ccode\u003e0a7e067\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/33656e986d8e2355123799e7267104ac7d8a6fb1\"\u003e\u003ccode\u003e33656e9\u003c/code\u003e\u003c/a\u003e Create Security Policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/fa62307253f4423effac71a618e20fabaa37e22e\"\u003e\u003ccode\u003efa62307\u003c/code\u003e\u003c/a\u003e fix for issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e: unit tests failing due to missing code (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyasn1/pyasn1/compare/v0.6.1...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlparse` from 0.5.3 to 0.5.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG\"\u003esqlparse's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.5.4 (Nov 28, 2025)\u003c/h2\u003e\n\u003cp\u003eEnhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdd type annotations to top-level API functions and include py.typed marker\nfor PEP 561 compliance, enabling type checking with mypy and other tools\n(issue756).\u003c/li\u003e\n\u003cli\u003eAdd pre-commit hook support. sqlparse can now be used as a pre-commit hook\nto automatically format SQL files. The CLI now supports multiple files and\nan \u003ccode\u003e--in-place\u003c/code\u003e flag for in-place editing (issue537).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eATTACH\u003c/code\u003e and \u003ccode\u003eDETACH\u003c/code\u003e to PostgreSQL keywords (pr808).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eINTERSECT\u003c/code\u003e to close keywords in WHERE clause (pr820).\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eREGEXP BINARY\u003c/code\u003e comparison operator (pr817).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd additional protection against denial of service attacks when parsing\nvery large lists of tuples. This enhances the existing recursion protections\nwith configurable limits for token processing to prevent DoS through\nalgorithmic complexity attacks. The new limits (MAX_GROUPING_DEPTH=100,\nMAX_GROUPING_TOKENS=10000) can be adjusted or disabled (by setting to None)\nif needed for legitimate large SQL statements.\u003c/li\u003e\n\u003cli\u003eRemove shebang from cli.py and remove executable flag (pr818).\u003c/li\u003e\n\u003cli\u003eFix strip_comments not removing all comments when input contains only\ncomments (issue801, pr803 by stropysh).\u003c/li\u003e\n\u003cli\u003eFix splitting statements with IF EXISTS/IF NOT EXISTS inside BEGIN...END\nblocks (issue812).\u003c/li\u003e\n\u003cli\u003eFix splitting on semicolons inside BEGIN...END blocks (issue809).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/14e300b165b14d1a7662a071c6481b503d367528\"\u003e\u003ccode\u003e14e300b\u003c/code\u003e\u003c/a\u003e Bump version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/96a67e286963b2497b1b3f7a1378327af6661998\"\u003e\u003ccode\u003e96a67e2\u003c/code\u003e\u003c/a\u003e Code cleanup.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1a3bfbd50b82c05d9adcc51bacba059671dc1bc7\"\u003e\u003ccode\u003e1a3bfbd\u003c/code\u003e\u003c/a\u003e Fix handling of semicolons inside BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/809\"\u003e#809\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/e92a032c81d51a6645b4f8c32470481894818ba0\"\u003e\u003ccode\u003ee92a032\u003c/code\u003e\u003c/a\u003e Fix handling of IF EXISTS statements in BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/812\"\u003e#812\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/149bebf06c788e93a9b0dbee0e5abbc8e347b8e6\"\u003e\u003ccode\u003e149bebf\u003c/code\u003e\u003c/a\u003e Update Changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/561a67e740e9623cf81ef99f1a6cd94337e24282\"\u003e\u003ccode\u003e561a67e\u003c/code\u003e\u003c/a\u003e Update AUTHORS.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/73c8ba3ae88b608d39740c0776fb15064232258e\"\u003e\u003ccode\u003e73c8ba3\u003c/code\u003e\u003c/a\u003e bugfix ISSUE_801; Remove all comments when only comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1b323879f87207946e4782812e2e1254b1c0c659\"\u003e\u003ccode\u003e1b32387\u003c/code\u003e\u003c/a\u003e Update action to run on all prs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/31903e09db518ee3969110073427196ef9cd46c3\"\u003e\u003ccode\u003e31903e0\u003c/code\u003e\u003c/a\u003e Add pre-commit hook support (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/13577264eb38b88e24825022fea4bd4351449e7c\"\u003e\u003ccode\u003e1357726\u003c/code\u003e\u003c/a\u003e docs: add AGENTS.md for project guidance and development commands\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/andialbrecht/sqlparse/compare/0.5.3...0.5.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-aiplatform` from 1.47.0 to 1.133.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-aiplatform/releases\"\u003egoogle-cloud-aiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.133.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.132.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.131.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\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/googleapis/python-aiplatform/blob/main/CHANGELOG.md\"\u003egoogle-cloud-aiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix RagManagedVertexVectorSearch when using backend_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/df0976ed3195dc8313f4728bc5ecb29dda55d467\"\u003edf0976e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - patch for vulnerability in visualization (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8a00d43dbd24e95dbab6ea32c63ce0a5a1849480\"\u003e8a00d43\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/78f2bdd08bae0696923e61ab73080b5846c67ae0\"\u003e\u003ccode\u003e78f2bdd\u003c/code\u003e\u003c/a\u003e chore(main): release 1.133.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-aiplatform/issues/6211\"\u003e#6211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003e\u003ccode\u003ec8c0f0f\u003c/code\u003e\u003c/a\u003e fix: Add None check for agent_info in evals.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/9952b970b73cfe38e68c48b3699ee4e1df0264df\"\u003e\u003ccode\u003e9952b97\u003c/code\u003e\u003c/a\u003e chore: rollback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e\u003ccode\u003e83f4076\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/937d5af6b9bdbbe3b50181745c99550f124ad8b4\"\u003e\u003ccode\u003e937d5af\u003c/code\u003e\u003c/a\u003e Copybara import of the project:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/aaaf902be02747cd2281196aad6278df0fd11f7e\"\u003e\u003ccode\u003eaaaf902\u003c/code\u003e\u003c/a\u003e chore: bump google-auth lower bound to 2.47.0 in GenAI and Vertex SDKs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e\u003ccode\u003e8c876ef\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e\u003ccode\u003e5448f06\u003c/code\u003e\u003c/a\u003e fix: Require uri or staging bucket configuration for saving model to Vertex E...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e\u003ccode\u003e65717fa\u003c/code\u003e\u003c/a\u003e feat: GenAI SDK client(memory): Add enable_third_person_memories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003e\u003ccode\u003ebe2eaaa\u003c/code\u003e\u003c/a\u003e fix: GenAI client(evals) - Fix TypeError in _build_generate_content_config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.47.0...v1.133.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.10.12 to 3.11.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6 - 2026-01-29\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2 - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ec02024c3837255064f248c0d2d331319b75e9ad\"\u003e\u003ccode\u003eec02024\u003c/code\u003e\u003c/a\u003e 3.11.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d58168733189f82b3fd0c058dff73e05d09202e6\"\u003e\u003ccode\u003ed581687\u003c/code\u003e\u003c/a\u003e build, clippy misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4105b29b2275f200f6fae01349bef02ccf1bc2e2\"\u003e\u003ccode\u003e4105b29\u003c/code\u003e\u003c/a\u003e writer::num\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/62bb185b70785ded49c79c26f8c9781f1e6fe370\"\u003e\u003ccode\u003e62bb185\u003c/code\u003e\u003c/a\u003e Fix sporadic crash on serializing object close\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d860078a973f44401265c5c4ad12a7dbe4f839ad\"\u003e\u003ccode\u003ed860078\u003c/code\u003e\u003c/a\u003e PyRef idiom refactors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/343ae2f148197918aba9f8562db42c364620e4b8\"\u003e\u003ccode\u003e343ae2f\u003c/code\u003e\u003c/a\u003e Deserializer, Utf8Buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/7835f58d1c56947d1cf7a18acdfc07a2bca9b0f2\"\u003e\u003ccode\u003e7835f58\u003c/code\u003e\u003c/a\u003e PyBytesRef and other input refactor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/71e0516424ce1e11613eb1780f18e8cde83989fd\"\u003e\u003ccode\u003e71e0516\u003c/code\u003e\u003c/a\u003e PyStrRef\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1096df42dc585fde837ed0c930a346f5ef7dbb94\"\u003e\u003ccode\u003e1096df4\u003c/code\u003e\u003c/a\u003e MSRV 1.89\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/b718e75b8ba18a707c2b44b6de14d52547573771\"\u003e\u003ccode\u003eb718e75\u003c/code\u003e\u003c/a\u003e Drop support for python3.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.12...3.11.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi-sso` from 0.16.0 to 0.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/releases\"\u003efastapi-sso's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.19.0\u003c/h2\u003e\n\u003cp\u003e️⚠️ A critical OAuth login CSRF vulnerability caused by missing \u003ccode\u003estate\u003c/code\u003e validation was\nreported by \u003ca href=\"https://github.com/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e (Snyk Security Labs)\nin \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e and has been resolved\nin version \u003ccode\u003e0.19.0\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eStarting with \u003ccode\u003efastapi-sso==1.0.0\u003c/code\u003e, OAuth \u003ccode\u003estate\u003c/code\u003e will be backed by a pluggable server-side store\n(in-memory by default, with support for external stores such as \u003ccode\u003eRedis\u003c/code\u003e).\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the all group with 11 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/230\"\u003etomasvotava/fastapi-sso#230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/231\"\u003etomasvotava/fastapi-sso#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 6 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/232\"\u003etomasvotava/fastapi-sso#232\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/233\"\u003etomasvotava/fastapi-sso#233\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/234\"\u003etomasvotava/fastapi-sso#234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/235\"\u003etomasvotava/fastapi-sso#235\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/237\"\u003etomasvotava/fastapi-sso#237\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/239\"\u003etomasvotava/fastapi-sso#239\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/241\"\u003etomasvotava/fastapi-sso#241\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 5 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/242\"\u003etomasvotava/fastapi-sso#242\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 10 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/247\"\u003etomasvotava/fastapi-sso#247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/248\"\u003etomasvotava/fastapi-sso#248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/251\"\u003etomasvotava/fastapi-sso#251\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/252\"\u003etomasvotava/fastapi-sso#252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/253\"\u003etomasvotava/fastapi-sso#253\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/254\"\u003etomasvotava/fastapi-sso#254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 12 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/259\"\u003etomasvotava/fastapi-sso#259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: enforce state validation by \u003ca href=\"https://github.com/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/267\"\u003etomasvotava/fastapi-sso#267\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 7 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/265\"\u003etomasvotava/fastapi-sso#265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e): warn against using state as an arbitrary data transport by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/269\"\u003etomasvotava/fastapi-sso#269\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/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/267\"\u003etomasvotava/fastapi-sso#267\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.18.0...0.19.0\"\u003ehttps://github.com/tomasvotava/fastapi-sso/compare/0.18.0...0.19.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eRemoved support for python 3.8\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore: add Python 3.13 to testing and linting workflows by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/226\"\u003etomasvotava/fastapi-sso#226\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update Python version to 3.12 and improve documentation workflow by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/227\"\u003etomasvotava/fastapi-sso#227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/228\"\u003etomasvotava/fastapi-sso#228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:use id token for linkedin userinfo by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/229\"\u003etomasvotava/fastapi-sso#229\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.17.0...0.18.0\"\u003ehttps://github.com/tomasvotava/fastapi-sso/compare/0.17.0...0.18.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.17.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/c905eafe2d6d7aab5d2b929e53ba98f238fdb21d\"\u003e\u003ccode\u003ec905eaf\u003c/code\u003e\u003c/a\u003e chore: 0.18.0 =\u0026gt; 0.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/94343bf276bed9df0ed0b11fe00661fc65ac57e0\"\u003e\u003ccode\u003e94343bf\u003c/code\u003e\u003c/a\u003e docs(\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e): warn against using state as an arbitrary data transport (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/d057c1d4db151a180668a03784250315cdb0b1e9\"\u003e\u003ccode\u003ed057c1d\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group across 1 directory with 7 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/6117d1a5ad498ba57d671e8a059ebe20db5abe02\"\u003e\u003ccode\u003e6117d1a\u003c/code\u003e\u003c/a\u003e fix: enforce state validation (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/267\"\u003e#267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/da63c19bca7db0fe8a7e66d03fdf07154ec7182a\"\u003e\u003ccode\u003eda63c19\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group across 1 directory with 12 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/0ccaeddf9e95a997a370ec312dc073f8f9920f38\"\u003e\u003ccode\u003e0ccaedd\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group with 2 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/254\"\u003e#254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/a43e62e67dfc40a2f9634bd932a2dfd02fe9e5b8\"\u003e\u003ccode\u003ea43e62e\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 2 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/253\"\u003e#253\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/8cd706d335e134504be46eab3404ff0ca3bdf6f9\"\u003e\u003ccode\u003e8cd706d\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/252\"\u003e#252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/ea769fa223f5b665eb37b9cee998b19d49d52427\"\u003e\u003ccode\u003eea769fa\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/251\"\u003e#251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/7aba1e6ea408be1bce282fce7c3ba3da89e5e7b1\"\u003e\u003ccode\u003e7aba1e6\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/248\"\u003e#248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.16.0...0.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp` from 1.10.1 to 1.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.0\u003c/h2\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release brings us up to speed with the latest MCP spec \u003ccode\u003e2025-11-25\u003c/code\u003e. Take a look at the \u003ca href=\"https://modelcontextprotocol.io/specification/2025-11-25\"\u003elatest spec\u003c/a\u003e as well as the release \u003ca href=\"https://blog.modelcontextprotocol.io/posts/2025-11-25-first-mcp-anniversary/\"\u003eblog post.\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd tests for JSON Schema 2020-12 field preservation (SEP-1613) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1649\"\u003emodelcontextprotocol/python-sdk#1649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd client_secret_basic authentication support by \u003ca href=\"https://github.com/jonshea\"\u003e\u003ccode\u003e@​jonshea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1334\"\u003emodelcontextprotocol/python-sdk#1334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1577 - Sampling With Tools by \u003ca href=\"https://github.com/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1330: Elicitation Enum Schema Improvements and Standards Compliance by \u003ca href=\"https://github.com/chughtapan\"\u003e\u003ccode\u003e@​chughtapan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1246\"\u003emodelcontextprotocol/python-sdk#1246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[auth][conformance] add conformance auth client by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1640\"\u003emodelcontextprotocol/python-sdk#1640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-986: Tool name validation by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1655\"\u003emodelcontextprotocol/python-sdk#1655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: url for spec by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1659\"\u003emodelcontextprotocol/python-sdk#1659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: implement SEP-991 URL-based client ID (CIMD) support by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1652\"\u003emodelcontextprotocol/python-sdk#1652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate doc string on custom_route by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1660\"\u003emodelcontextprotocol/python-sdk#1660\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1036: URL mode elicitation for secure out-of-band interactions by \u003ca href=\"https://github.com/cbcoutinho\"\u003e\u003ccode\u003e@​cbcoutinho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1580\"\u003emodelcontextprotocol/python-sdk#1580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip empty SSE data to avoid parsing errors by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1670\"\u003emodelcontextprotocol/python-sdk#1670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1686: Tasks by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1645\"\u003emodelcontextprotocol/python-sdk#1645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd on_session_created callback option by \u003ca href=\"https://github.com/crondinini-ant\"\u003e\u003ccode\u003e@​crondinini-ant\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1710\"\u003emodelcontextprotocol/python-sdk#1710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd SSE polling support (SEP-1699) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1654\"\u003emodelcontextprotocol/python-sdk#1654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport client_credentials flow with JWT and Basic auth by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1663\"\u003emodelcontextprotocol/python-sdk#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: backwards-compatible create_message overloads for SEP-1577 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1713\"\u003emodelcontextprotocol/python-sdk#1713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-enable DNS rebinding protection for localhost servers by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e  (d3a184119e4479ea6a63590bc41f01dc06e3fa99)\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/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.22.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: Pass through and expose additional parameters in \u003ccode\u003eClientSessionGroup.call_tool\u003c/code\u003e and \u003ccode\u003e.connect_to_server\u003c/code\u003e by \u003ca href=\"https://github.com/inaku-Gyan\"\u003e\u003ccode\u003e@​inaku-Gyan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1576\"\u003emodelcontextprotocol/python-sdk#1576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Lazy import \u003ccode\u003ejsonschema\u003c/code\u003e library by \u003ca href=\"https://github.com/wuliang229\"\u003e\u003ccode\u003e@​wuliang229\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1596\"\u003emodelcontextprotocol/python-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update examples to use stateless HTTP with JSON responses by \u003ca href=\"https://github.com/domdomegg\"\u003e\u003ccode\u003e@​domdomegg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1499\"\u003emodelcontextprotocol/python-sdk#1499\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/wuliang229\"\u003e\u003ccode\u003e@​wuliang229\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1596\"\u003emodelcontextprotocol/python-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.21.1...v1.22.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.21.1...v1.22.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.21.2\u003c/h2\u003e\n\u003ch2\u003eHotfix Release\u003c/h2\u003e\n\u003cp\u003eThis is a hotfix release to address a critical bug in OAuth scope handling that caused failures on 401 responses.\u003c/p\u003e\n\u003ch3\u003eRelated:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1630\"\u003emodelcontextprotocol/python-sdk#1630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1632\"\u003emodelcontextprotocol/python-sdk#1632\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\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/modelcontextprotocol/python-sdk/commit/d3a184119e4479ea6a63590bc41f01dc06e3fa99\"\u003e\u003ccode\u003ed3a1841\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/fa851d93a2036a37cce73e098f7dbc80a6c48765\"\u003e\u003ccode\u003efa851d9\u003c/code\u003e\u003c/a\u003e feat: backwards-compatible create_message overloads for SEP-1577 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1713\"\u003e#1713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/f82b0c937178815c1e96460455778578050c6d1a\"\u003e\u003ccode\u003ef82b0c9\u003c/code\u003e\u003c/a\u003e Support client_credentials flow with JWT and Basic auth (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python...\n\n_Description has been truncated_","html_url":"https://github.com/Sunriseaiteam/litellm/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sunriseaiteam%2Flitellm/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}},{"old_version":"3.10.12","new_version":"3.11.6","update_type":"minor","path":null,"pr_created_at":"2026-04-03T22:11:09.000Z","version_change":"3.10.12 → 3.11.6","issue":{"uuid":"4202384091","node_id":"PR_kwDOOq-inM7P4Zdl","number":9,"state":"closed","title":"build(deps): bump the pip group across 3 directories with 6 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-03T22:14:15.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-03T22:11:09.000Z","updated_at":"2026-04-03T22:14:17.000Z","time_to_close":186,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pip","update_count":6,"packages":[{"name":"pyasn1","old_version":"0.6.1","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"google-cloud-aiplatform","old_version":"1.47.0","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"orjson","old_version":"3.10.12","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"},{"name":"fastapi-sso","old_version":"0.16.0","new_version":"0.19.0","repository_url":"https://github.com/tomasvotava/fastapi-sso"},{"name":"mcp","old_version":"1.5.0","new_version":"1.23.0","repository_url":"https://github.com/modelcontextprotocol/python-sdk"},{"name":"google-cloud-aiplatform","old_version":"1.43.0","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"litellm","old_version":"1.61.15","new_version":"1.83.0","repository_url":"https://github.com/BerriAI/litellm"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 2 updates in the / directory: [pyasn1](https://github.com/pyasn1/pyasn1) and [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 4 updates in the /.circleci directory: [orjson](https://github.com/ijl/orjson), [fastapi-sso](https://github.com/tomasvotava/fastapi-sso), [mcp](https://github.com/modelcontextprotocol/python-sdk) and [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 1 update in the /cookbook/litellm-ollama-docker-image directory: [litellm](https://github.com/BerriAI/litellm).\n\nUpdates `pyasn1` from 0.6.1 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyasn1/pyasn1/releases\"\u003epyasn1's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.6.3\u003c/h2\u003e\n\u003cp\u003eIt's a minor release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded nesting depth limit to ASN.1 decoder to prevent stack overflow from deeply nested structures (CVE-2026-30922).\u003c/li\u003e\n\u003cli\u003eFixed OverflowError from oversized BER length field.\u003c/li\u003e\n\u003cli\u003eFixed DeprecationWarning stacklevel for deprecated attributes.\u003c/li\u003e\n\u003cli\u003eFixed asDateTime incorrect fractional seconds parsing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll changes are noted in the \u003ca href=\"https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst\"\u003eCHANGELOG\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRelease 0.6.2\u003c/h2\u003e\n\u003cp\u003eIt's a minor release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed continuation octet limits in OID/RELATIVE-OID decoder (CVE-2026-23490).\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy.\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll changes are noted in the \u003ca href=\"https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst\"\u003eCHANGELOG\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/pyasn1/pyasn1/blob/main/CHANGES.rst\"\u003epyasn1's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRevision 0.6.3, released 16-03-2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-30922 (GHSA-jr27-m4p2-rc6r): Added nesting depth\nlimit to ASN.1 decoder to prevent stack overflow from deeply\nnested structures (thanks for reporting, romanticpragmatism)\u003c/li\u003e\n\u003cli\u003eFixed OverflowError from oversized BER length field\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/54\"\u003e#54\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/54\"\u003epyasn1/pyasn1#54\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/100\"\u003e#100\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/100\"\u003epyasn1/pyasn1#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DeprecationWarning stacklevel for deprecated attributes\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/86\"\u003e#86\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/86\"\u003epyasn1/pyasn1#86\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/101\"\u003e#101\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/101\"\u003epyasn1/pyasn1#101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed asDateTime incorrect fractional seconds parsing\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/81\"\u003e#81\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/81\"\u003epyasn1/pyasn1#81\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/102\"\u003e#102\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/102\"\u003epyasn1/pyasn1#102\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRevision 0.6.2, released 16-01-2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-23490 (GHSA-63vm-454h-vhhq): Fixed continuation octet limits\nin OID/RELATIVE-OID decoder (thanks to tsigouris007)\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/97\"\u003epyasn1/pyasn1#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy\u003c/li\u003e\n\u003cli\u003eFixed unit tests failing due to missing code\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003epyasn1/pyasn1#91\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/92\"\u003epyasn1/pyasn1#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/90\"\u003e#90\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/90\"\u003epyasn1/pyasn1#90\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/pyasn1/pyasn1/commit/af65c3b92e9deeae50db4de390982dd970d87f98\"\u003e\u003ccode\u003eaf65c3b\u003c/code\u003e\u003c/a\u003e Prepare release 0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/5a49bd1fe93b5b866a1210f6bf0a3924f21572c8\"\u003e\u003ccode\u003e5a49bd1\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/5494ba43f738e700ca9f7c7a69ec5c44908c9a9f\"\u003e\u003ccode\u003e5494ba4\u003c/code\u003e\u003c/a\u003e Fix asDateTime incorrect fractional seconds parsing (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/102\"\u003e#102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/71f486e6c32d0f270868aa1b2bb5ceb7d5fd5476\"\u003e\u003ccode\u003e71f486e\u003c/code\u003e\u003c/a\u003e Fix DeprecationWarning stacklevel for deprecated attributes (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/101\"\u003e#101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/d7cb42dcaa9a66e18f14c4609c2ed00c5b65f7e8\"\u003e\u003ccode\u003ed7cb42d\u003c/code\u003e\u003c/a\u003e Fix OverflowError from oversized BER length field (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/100\"\u003e#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/e7356f89cf32c130d65b1a0e903fe7ecce426424\"\u003e\u003ccode\u003ee7356f8\u003c/code\u003e\u003c/a\u003e Prepare release 0.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/3908f144229eed4df24bd569d16e5991ace44970\"\u003e\u003ccode\u003e3908f14\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/0a7e067674b1ec558f9d233a3bc173472fe27c6c\"\u003e\u003ccode\u003e0a7e067\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/33656e986d8e2355123799e7267104ac7d8a6fb1\"\u003e\u003ccode\u003e33656e9\u003c/code\u003e\u003c/a\u003e Create Security Policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/fa62307253f4423effac71a618e20fabaa37e22e\"\u003e\u003ccode\u003efa62307\u003c/code\u003e\u003c/a\u003e fix for issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e: unit tests failing due to missing code (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyasn1/pyasn1/compare/v0.6.1...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-aiplatform` from 1.47.0 to 1.133.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-aiplatform/releases\"\u003egoogle-cloud-aiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.133.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.132.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.131.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\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/googleapis/python-aiplatform/blob/main/CHANGELOG.md\"\u003egoogle-cloud-aiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix RagManagedVertexVectorSearch when using backend_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/df0976ed3195dc8313f4728bc5ecb29dda55d467\"\u003edf0976e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - patch for vulnerability in visualization (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8a00d43dbd24e95dbab6ea32c63ce0a5a1849480\"\u003e8a00d43\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/78f2bdd08bae0696923e61ab73080b5846c67ae0\"\u003e\u003ccode\u003e78f2bdd\u003c/code\u003e\u003c/a\u003e chore(main): release 1.133.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-aiplatform/issues/6211\"\u003e#6211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003e\u003ccode\u003ec8c0f0f\u003c/code\u003e\u003c/a\u003e fix: Add None check for agent_info in evals.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/9952b970b73cfe38e68c48b3699ee4e1df0264df\"\u003e\u003ccode\u003e9952b97\u003c/code\u003e\u003c/a\u003e chore: rollback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e\u003ccode\u003e83f4076\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/937d5af6b9bdbbe3b50181745c99550f124ad8b4\"\u003e\u003ccode\u003e937d5af\u003c/code\u003e\u003c/a\u003e Copybara import of the project:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/aaaf902be02747cd2281196aad6278df0fd11f7e\"\u003e\u003ccode\u003eaaaf902\u003c/code\u003e\u003c/a\u003e chore: bump google-auth lower bound to 2.47.0 in GenAI and Vertex SDKs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e\u003ccode\u003e8c876ef\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e\u003ccode\u003e5448f06\u003c/code\u003e\u003c/a\u003e fix: Require uri or staging bucket configuration for saving model to Vertex E...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e\u003ccode\u003e65717fa\u003c/code\u003e\u003c/a\u003e feat: GenAI SDK client(memory): Add enable_third_person_memories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003e\u003ccode\u003ebe2eaaa\u003c/code\u003e\u003c/a\u003e fix: GenAI client(evals) - Fix TypeError in _build_generate_content_config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.47.0...v1.133.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.10.12 to 3.11.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6 - 2026-01-29\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2 - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ec02024c3837255064f248c0d2d331319b75e9ad\"\u003e\u003ccode\u003eec02024\u003c/code\u003e\u003c/a\u003e 3.11.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d58168733189f82b3fd0c058dff73e05d09202e6\"\u003e\u003ccode\u003ed581687\u003c/code\u003e\u003c/a\u003e build, clippy misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4105b29b2275f200f6fae01349bef02ccf1bc2e2\"\u003e\u003ccode\u003e4105b29\u003c/code\u003e\u003c/a\u003e writer::num\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/62bb185b70785ded49c79c26f8c9781f1e6fe370\"\u003e\u003ccode\u003e62bb185\u003c/code\u003e\u003c/a\u003e Fix sporadic crash on serializing object close\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d860078a973f44401265c5c4ad12a7dbe4f839ad\"\u003e\u003ccode\u003ed860078\u003c/code\u003e\u003c/a\u003e PyRef idiom refactors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/343ae2f148197918aba9f8562db42c364620e4b8\"\u003e\u003ccode\u003e343ae2f\u003c/code\u003e\u003c/a\u003e Deserializer, Utf8Buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/7835f58d1c56947d1cf7a18acdfc07a2bca9b0f2\"\u003e\u003ccode\u003e7835f58\u003c/code\u003e\u003c/a\u003e PyBytesRef and other input refactor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/71e0516424ce1e11613eb1780f18e8cde83989fd\"\u003e\u003ccode\u003e71e0516\u003c/code\u003e\u003c/a\u003e PyStrRef\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1096df42dc585fde837ed0c930a346f5ef7dbb94\"\u003e\u003ccode\u003e1096df4\u003c/code\u003e\u003c/a\u003e MSRV 1.89\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/b718e75b8ba18a707c2b44b6de14d52547573771\"\u003e\u003ccode\u003eb718e75\u003c/code\u003e\u003c/a\u003e Drop support for python3.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.12...3.11.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi-sso` from 0.16.0 to 0.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/releases\"\u003efastapi-sso's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.19.0\u003c/h2\u003e\n\u003cp\u003e️⚠️ A critical OAuth login CSRF vulnerability caused by missing \u003ccode\u003estate\u003c/code\u003e validation was\nreported by \u003ca href=\"https://github.com/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e (Snyk Security Labs)\nin \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e and has been resolved\nin version \u003ccode\u003e0.19.0\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eStarting with \u003ccode\u003efastapi-sso==1.0.0\u003c/code\u003e, OAuth \u003ccode\u003estate\u003c/code\u003e will be backed by a pluggable server-side store\n(in-memory by default, with support for external stores such as \u003ccode\u003eRedis\u003c/code\u003e).\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the all group with 11 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/230\"\u003etomasvotava/fastapi-sso#230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/231\"\u003etomasvotava/fastapi-sso#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 6 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/232\"\u003etomasvotava/fastapi-sso#232\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/233\"\u003etomasvotava/fastapi-sso#233\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/234\"\u003etomasvotava/fastapi-sso#234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/235\"\u003etomasvotava/fastapi-sso#235\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/237\"\u003etomasvotava/fastapi-sso#237\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/239\"\u003etomasvotava/fastapi-sso#239\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/241\"\u003etomasvotava/fastapi-sso#241\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 5 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/242\"\u003etomasvotava/fastapi-sso#242\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 10 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/247\"\u003etomasvotava/fastapi-sso#247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/248\"\u003etomasvotava/fastapi-sso#248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/251\"\u003etomasvotava/fastapi-sso#251\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/252\"\u003etomasvotava/fastapi-sso#252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/253\"\u003etomasvotava/fastapi-sso#253\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/254\"\u003etomasvotava/fastapi-sso#254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 12 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/259\"\u003etomasvotava/fastapi-sso#259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: enforce state validation by \u003ca href=\"https://github.com/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/267\"\u003etomasvotava/fastapi-sso#267\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 7 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/265\"\u003etomasvotava/fastapi-sso#265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e): warn against using state as an arbitrary data transport by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/269\"\u003etomasvotava/fastapi-sso#269\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/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/267\"\u003etomasvotava/fastapi-sso#267\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.18.0...0.19.0\"\u003ehttps://github.com/tomasvotava/fastapi-sso/compare/0.18.0...0.19.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eRemoved support for python 3.8\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore: add Python 3.13 to testing and linting workflows by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/226\"\u003etomasvotava/fastapi-sso#226\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update Python version to 3.12 and improve documentation workflow by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/227\"\u003etomasvotava/fastapi-sso#227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/228\"\u003etomasvotava/fastapi-sso#228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:use id token for linkedin userinfo by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/229\"\u003etomasvotava/fastapi-sso#229\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.17.0...0.18.0\"\u003ehttps://github.com/tomasvotava/fastapi-sso/compare/0.17.0...0.18.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.17.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/c905eafe2d6d7aab5d2b929e53ba98f238fdb21d\"\u003e\u003ccode\u003ec905eaf\u003c/code\u003e\u003c/a\u003e chore: 0.18.0 =\u0026gt; 0.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/94343bf276bed9df0ed0b11fe00661fc65ac57e0\"\u003e\u003ccode\u003e94343bf\u003c/code\u003e\u003c/a\u003e docs(\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e): warn against using state as an arbitrary data transport (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/d057c1d4db151a180668a03784250315cdb0b1e9\"\u003e\u003ccode\u003ed057c1d\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group across 1 directory with 7 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/6117d1a5ad498ba57d671e8a059ebe20db5abe02\"\u003e\u003ccode\u003e6117d1a\u003c/code\u003e\u003c/a\u003e fix: enforce state validation (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/267\"\u003e#267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/da63c19bca7db0fe8a7e66d03fdf07154ec7182a\"\u003e\u003ccode\u003eda63c19\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group across 1 directory with 12 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/0ccaeddf9e95a997a370ec312dc073f8f9920f38\"\u003e\u003ccode\u003e0ccaedd\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group with 2 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/254\"\u003e#254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/a43e62e67dfc40a2f9634bd932a2dfd02fe9e5b8\"\u003e\u003ccode\u003ea43e62e\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 2 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/253\"\u003e#253\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/8cd706d335e134504be46eab3404ff0ca3bdf6f9\"\u003e\u003ccode\u003e8cd706d\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/252\"\u003e#252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/ea769fa223f5b665eb37b9cee998b19d49d52427\"\u003e\u003ccode\u003eea769fa\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/251\"\u003e#251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/7aba1e6ea408be1bce282fce7c3ba3da89e5e7b1\"\u003e\u003ccode\u003e7aba1e6\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/248\"\u003e#248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.16.0...0.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp` from 1.5.0 to 1.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.0\u003c/h2\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release brings us up to speed with the latest MCP spec \u003ccode\u003e2025-11-25\u003c/code\u003e. Take a look at the \u003ca href=\"https://modelcontextprotocol.io/specification/2025-11-25\"\u003elatest spec\u003c/a\u003e as well as the release \u003ca href=\"https://blog.modelcontextprotocol.io/posts/2025-11-25-first-mcp-anniversary/\"\u003eblog post.\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd tests for JSON Schema 2020-12 field preservation (SEP-1613) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1649\"\u003emodelcontextprotocol/python-sdk#1649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd client_secret_basic authentication support by \u003ca href=\"https://github.com/jonshea\"\u003e\u003ccode\u003e@​jonshea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1334\"\u003emodelcontextprotocol/python-sdk#1334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1577 - Sampling With Tools by \u003ca href=\"https://github.com/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1330: Elicitation Enum Schema Improvements and Standards Compliance by \u003ca href=\"https://github.com/chughtapan\"\u003e\u003ccode\u003e@​chughtapan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1246\"\u003emodelcontextprotocol/python-sdk#1246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[auth][conformance] add conformance auth client by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1640\"\u003emodelcontextprotocol/python-sdk#1640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-986: Tool name validation by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1655\"\u003emodelcontextprotocol/python-sdk#1655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: url for spec by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1659\"\u003emodelcontextprotocol/python-sdk#1659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: implement SEP-991 URL-based client ID (CIMD) support by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1652\"\u003emodelcontextprotocol/python-sdk#1652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate doc string on custom_route by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1660\"\u003emodelcontextprotocol/python-sdk#1660\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1036: URL mode elicitation for secure out-of-band interactions by \u003ca href=\"https://github.com/cbcoutinho\"\u003e\u003ccode\u003e@​cbcoutinho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1580\"\u003emodelcontextprotocol/python-sdk#1580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip empty SSE data to avoid parsing errors by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1670\"\u003emodelcontextprotocol/python-sdk#1670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1686: Tasks by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1645\"\u003emodelcontextprotocol/python-sdk#1645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd on_session_created callback option by \u003ca href=\"https://github.com/crondinini-ant\"\u003e\u003ccode\u003e@​crondinini-ant\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1710\"\u003emodelcontextprotocol/python-sdk#1710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd SSE polling support (SEP-1699) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1654\"\u003emodelcontextprotocol/python-sdk#1654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport client_credentials flow with JWT and Basic auth by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1663\"\u003emodelcontextprotocol/python-sdk#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: backwards-compatible create_message overloads for SEP-1577 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1713\"\u003emodelcontextprotocol/python-sdk#1713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-enable DNS rebinding protection for localhost servers by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e  (d3a184119e4479ea6a63590bc41f01dc06e3fa99)\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/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.22.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: Pass through and expose additional parameters in \u003ccode\u003eClientSessionGroup.call_tool\u003c/code\u003e and \u003ccode\u003e.connect_to_server\u003c/code\u003e by \u003ca href=\"https://github.com/inaku-Gyan\"\u003e\u003ccode\u003e@​inaku-Gyan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1576\"\u003emodelcontextprotocol/python-sdk#1576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Lazy import \u003ccode\u003ejsonschema\u003c/code\u003e library by \u003ca href=\"https://github.com/wuliang229\"\u003e\u003ccode\u003e@​wuliang229\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1596\"\u003emodelcontextprotocol/python-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update examples to use stateless HTTP with JSON responses by \u003ca href=\"https://github.com/domdomegg\"\u003e\u003ccode\u003e@​domdomegg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1499\"\u003emodelcontextprotocol/python-sdk#1499\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/wuliang229\"\u003e\u003ccode\u003e@​wuliang229\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1596\"\u003emodelcontextprotocol/python-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.21.1...v1.22.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.21.1...v1.22.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.21.2\u003c/h2\u003e\n\u003ch2\u003eHotfix Release\u003c/h2\u003e\n\u003cp\u003eThis is a hotfix release to address a critical bug in OAuth scope handling that caused failures on 401 responses.\u003c/p\u003e\n\u003ch3\u003eRelated:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1630\"\u003emodelcontextprotocol/python-sdk#1630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1632\"\u003emodelcontextprotocol/python-sdk#1632\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\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/modelcontextprotocol/python-sdk/commit/d3a184119e4479ea6a63590bc41f01dc06e3fa99\"\u003e\u003ccode\u003ed3a1841\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/fa851d93a2036a37cce73e098f7dbc80a6c48765\"\u003e\u003ccode\u003efa851d9\u003c/code\u003e\u003c/a\u003e feat: backwards-compatible create_message overloads for SEP-1577 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1713\"\u003e#1713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/f82b0c937178815c1e96460455778578050c6d1a\"\u003e\u003ccode\u003ef82b0c9\u003c/code\u003e\u003c/a\u003e Support client_credentials flow with JWT and Basic auth (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1663\"\u003e#1663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/281fd4765e0fc2efaf2039d248c3bc0698416a8a\"\u003e\u003ccode\u003e281fd47\u003c/code\u003e\u003c/a\u003e Add SSE polling support (SEP-1699) (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1654\"\u003e#1654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/2cd178a962ab454e3add228ecd721784b7b36e99\"\u003e\u003ccode\u003e2cd178a\u003c/code\u003e\u003c/a\u003e Add on_session_created callback option (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1710\"\u003e#1710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c92bb2f7ffaa61813d7cc350887f4ece38307769\"\u003e\u003ccode\u003ec92bb2f\u003c/code\u003e\u003c/a\u003e SEP-1686: Tasks (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1645\"\u003e#1645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/5983a650cc07d2dc6c6ba098e99d3545889157a9\"\u003e\u003ccode\u003e5983a65\u003c/code\u003e\u003c/a\u003e Skip empty SSE data to avoid parsing errors (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1670\"\u003e#1670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/02b78899296ce3631565345501e3d956b83ffe94\"\u003e\u003ccode\u003e02b7889\u003c/code\u003e\u003c/a\u003e Implement SEP-1036: URL mode elicitation for secure out-of-band interactions ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/27279bc157cbc03f7fe7758fd55a4b34c5652f42\"\u003e\u003ccode\u003e27279bc\u003c/code\u003e\u003c/a\u003e Update doc string on custom_route (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/f22501315eab5b8358c603ac7f730f77bb09e4c4\"\u003e\u003ccode\u003ef225013\u003c/code\u003e\u003c/a\u003e feat: implement SEP-991 URL-based client ID (CIMD) support (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1652\"\u003e#1652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.5.0...v1.23.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-aiplatform` from 1.43.0 to 1.133.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-aiplatform/releases\"\u003egoogle-cloud-aiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.133.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.132.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.131.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\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/googleapis/python-aiplatform/blob/main/CHANGELOG.md\"\u003egoogle-cloud-aiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix RagManagedVertexVectorSearch when using backend_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/df0976ed3195dc8313f4728bc5ecb29dda55d467\"\u003edf0976e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - patch for vulnerability in visualization (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8a00d43dbd24e95dbab6ea32c63ce0a5a1849480\"\u003e8a00d43\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/78f2bdd08bae0696923e61ab73080b5846c67ae0\"\u003e\u003ccode\u003e78f2bdd\u003c/code\u003e\u003c/a\u003e chore(main): release 1.133.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-aiplatform/issues/6211\"\u003e#6211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003e\u003ccode\u003ec8c0f0f\u003c/code\u003e\u003c/a\u003e fix: Add None check for agent_info in evals.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/9952b970b73cfe38e68c48b3699ee4e1df0264df\"\u003e\u003ccode\u003e9952b97\u003c/code\u003e\u003c/a\u003e chore: rollback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e\u003ccode\u003e83f4076\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/937d5af6b9bdbbe3b50181745c99550f124ad8b4\"\u003e\u003ccode\u003e937d5af\u003c/code\u003e\u003c/a\u003e Copybara import of the project:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/aaaf902be02747cd2281196aad6278df0fd11f7e\"\u003e\u003ccode\u003eaaaf902\u003c/code\u003e\u003c/a\u003e chore: bump google-auth lower bound to 2.47.0 in GenAI and Vertex SDKs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e\u003ccode\u003e8c876ef\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e\u003ccode\u003e5448f06\u003c/code\u003e\u003c/a\u003e fix: Require uri or staging bucket configuration for saving model to Vertex E...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e\u003ccode\u003e65717fa\u003c/code\u003e\u003c/a\u003e feat: GenAI SDK client(memory): Add enable_third_person_memories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003e\u003ccode\u003ebe2eaaa\u003c/code\u003e\u003c/a\u003e fix: GenAI client(evals) - Fix TypeError in _build_generate_content_config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.47.0...v1.133.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `litellm` from 1.61.15 to 1.83.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/BerriAI/litellm/releases\"\u003elitellm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elitellm-trace-dev-v1.81.16\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(vertex): add gemini-3.1-flash-image-preview to model DB by \u003ca href=\"https://github.com/emerzon\"\u003e\u003ccode\u003e@​emerzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22223\"\u003eBerriAI/litellm#22223\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(spendlogs): optimize old spendlog deletion cron job by \u003ca href=\"https://github.com/Harshit28j\"\u003e\u003ccode\u003e@​Harshit28j\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/21930\"\u003eBerriAI/litellm#21930\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix converse handling for parallel_tool_calls by \u003ca href=\"https://github.com/Sameerlite\"\u003e\u003ccode\u003e@​Sameerlite\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22267\"\u003eBerriAI/litellm#22267\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Fix]Preserve forwarding server side called tools by \u003ca href=\"https://github.com/Sameerlite\"\u003e\u003ccode\u003e@​Sameerlite\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22260\"\u003eBerriAI/litellm#22260\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix free models working from UI by \u003ca href=\"https://github.com/Sameerlite\"\u003e\u003ccode\u003e@​Sameerlite\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22258\"\u003eBerriAI/litellm#22258\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd v1 for anthropic responses transformation by \u003ca href=\"https://github.com/Sameerlite\"\u003e\u003ccode\u003e@​Sameerlite\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22087\"\u003eBerriAI/litellm#22087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Bug]Add ChatCompletionImageObject in OpenAIChatCompletionAssistantMessage by \u003ca href=\"https://github.com/Sameerlite\"\u003e\u003ccode\u003e@​Sameerlite\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22155\"\u003eBerriAI/litellm#22155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: poetry lock by \u003ca href=\"https://github.com/Sameerlite\"\u003e\u003ccode\u003e@​Sameerlite\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22293\"\u003eBerriAI/litellm#22293\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable local file support for OCR by \u003ca href=\"https://github.com/noahnistler\"\u003e\u003ccode\u003e@​noahnistler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22133\"\u003eBerriAI/litellm#22133\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(mcp): Strip stale mcp-session-id to prevent 400 errors across proxy workers by \u003ca href=\"https://github.com/gavksingh\"\u003e\u003ccode\u003e@​gavksingh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/21417\"\u003eBerriAI/litellm#21417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Feature] Access group CRUD: Bidirectional team/key sync by \u003ca href=\"https://github.com/yuneng-jiang\"\u003e\u003ccode\u003e@​yuneng-jiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22253\"\u003eBerriAI/litellm#22253\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd LLMClientCache regression tests for httpx client eviction safety by \u003ca href=\"https://github.com/ryan-crabbe\"\u003e\u003ccode\u003e@​ryan-crabbe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22306\"\u003eBerriAI/litellm#22306\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(models): add gpt-audio-1.5 to model cost map by \u003ca href=\"https://github.com/Chesars\"\u003e\u003ccode\u003e@​Chesars\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22303\"\u003eBerriAI/litellm#22303\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(models): add gpt-realtime-1.5 to model cost map by \u003ca href=\"https://github.com/Chesars\"\u003e\u003ccode\u003e@​Chesars\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22304\"\u003eBerriAI/litellm#22304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(models): function calling for PublicAI Apertus models by \u003ca href=\"https://github.com/Chesars\"\u003e\u003ccode\u003e@​Chesars\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/21582\"\u003eBerriAI/litellm#21582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTests: add llmclientcache regression tests by \u003ca href=\"https://github.com/ryan-crabbe\"\u003e\u003ccode\u003e@​ryan-crabbe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22313\"\u003eBerriAI/litellm#22313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd deprecation dates for xAI grok-2-vision-1212 and grok-3-mini models by \u003ca href=\"https://github.com/Chesars\"\u003e\u003ccode\u003e@​Chesars\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/20102\"\u003eBerriAI/litellm#20102\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(model_prices): add OpenRouter native models to model cost map by \u003ca href=\"https://github.com/Chesars\"\u003e\u003ccode\u003e@​Chesars\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/20520\"\u003eBerriAI/litellm#20520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add OpenRouter Opus 4.6 to model map and update Claude Opus 4.6 docs by \u003ca href=\"https://github.com/Chesars\"\u003e\u003ccode\u003e@​Chesars\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/20525\"\u003eBerriAI/litellm#20525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Fix] Include timestamps in /project/list response by \u003ca href=\"https://github.com/yuneng-jiang\"\u003e\u003ccode\u003e@​yuneng-jiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22323\"\u003eBerriAI/litellm#22323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Feature] UI - Projects: Add Projects page with list and create flows by \u003ca href=\"https://github.com/yuneng-jiang\"\u003e\u003ccode\u003e@​yuneng-jiang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22315\"\u003eBerriAI/litellm#22315\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix/claude code plugin schema by \u003ca href=\"https://github.com/rahulrd25\"\u003e\u003ccode\u003e@​rahulrd25\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22271\"\u003eBerriAI/litellm#22271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Prometheus child_exit cleanup for gunicorn workers by \u003ca href=\"https://github.com/ryan-crabbe\"\u003e\u003ccode\u003e@​ryan-crabbe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22324\"\u003eBerriAI/litellm#22324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update AssemblyAI docs with Universal-3 Pro, Speech Understanding, and LLM Gateway by \u003ca href=\"https://github.com/dylan-duan-aai\"\u003e\u003ccode\u003e@​dylan-duan-aai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/21130\"\u003eBerriAI/litellm#21130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add in_flight_requests metric to /health/backlog + prometheus by \u003ca href=\"https://github.com/ishaan-jaff\"\u003e\u003ccode\u003e@​ishaan-jaff\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22319\"\u003eBerriAI/litellm#22319\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(test): update realtime guardrail test assertions for voice violation behavior by \u003ca href=\"https://github.com/jquinter\"\u003e\u003ccode\u003e@​jquinter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22332\"\u003eBerriAI/litellm#22332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(test): update Azure pass-through test after Responses API routing change by \u003ca href=\"https://github.com/jquinter\"\u003e\u003ccode\u003e@​jquinter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22334\"\u003eBerriAI/litellm#22334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(db): add missing migration for LiteLLM_ClaudeCodePluginTable by \u003ca href=\"https://github.com/jquinter\"\u003e\u003ccode\u003e@​jquinter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22335\"\u003eBerriAI/litellm#22335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(bedrock): restore parallel_tool_calls mapping in map_openai_params by \u003ca href=\"https://github.com/jquinter\"\u003e\u003ccode\u003e@​jquinter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22333\"\u003eBerriAI/litellm#22333\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Feat] Agent RBAC Permission Fix - Ensure Internal Users cannot create agents by \u003ca href=\"https://github.com/ishaan-jaff\"\u003e\u003ccode\u003e@​ishaan-jaff\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22329\"\u003eBerriAI/litellm#22329\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(mcp): update test mocks for renamed filter_server_ids_by_ip_with_info by \u003ca href=\"https://github.com/jquinter\"\u003e\u003ccode\u003e@​jquinter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22327\"\u003eBerriAI/litellm#22327\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Add PROXY_ADMIN role to system user for key rotation by \u003ca href=\"https://github.com/milan-berri\"\u003e\u003ccode\u003e@​milan-berri\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/21896\"\u003eBerriAI/litellm#21896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: populate user_id and user_info for admin users in /user/info by \u003ca href=\"https://github.com/milan-berri\"\u003e\u003ccode\u003e@​milan-berri\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22239\"\u003eBerriAI/litellm#22239\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(caching): store task references in LLMClientCache._remove_key by \u003ca href=\"https://github.com/shivaaang\"\u003e\u003ccode\u003e@​shivaaang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22143\"\u003eBerriAI/litellm#22143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(image_generation): propagate extra_headers to Upstream by \u003ca href=\"https://github.com/ZeroClover\"\u003e\u003ccode\u003e@​ZeroClover\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22026\"\u003eBerriAI/litellm#22026\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Fix] Pass MCP auth headers from request into tool fetch for /v1/responses and chat completions by \u003ca href=\"https://github.com/shivamrawat1\"\u003e\u003ccode\u003e@​shivamrawat1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22291\"\u003eBerriAI/litellm#22291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: shorten guardrail benchmark result filenames for Windows long path support by \u003ca href=\"https://github.com/demoray\"\u003e\u003ccode\u003e@​demoray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22039\"\u003eBerriAI/litellm#22039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove Apache 2 license from SKILL.md by \u003ca href=\"https://github.com/rasmi\"\u003e\u003ccode\u003e@​rasmi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pull/22322\"\u003eBerriAI/litellm#22322\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(mcp): default available_on_public_internet to true by \u003ca href=\"https://github.com/ishaan-jaff\"\u003e\u003ccode\u003e@​ishaan-jaff\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/BerriAI/litellm/pul...\n\n_Description has been truncated_","html_url":"https://github.com/thomcost/litellm/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomcost%2Flitellm/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":"3.11.6","new_version":"3.11.7","update_type":"patch","path":null,"pr_created_at":"2026-04-03T19:04:31.000Z","version_change":"3.11.6 → 3.11.7","issue":{"uuid":"4201834116","node_id":"PR_kwDOBo4nzs7P2xBL","number":1687,"state":"closed","title":"build(deps-dev): bump the package-deps group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-04-03T19:50:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-03T19:04:31.000Z","updated_at":"2026-04-03T19:50:37.000Z","time_to_close":2758,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): bump","group_name":"package-deps","update_count":12,"packages":[{"name":"orjson","old_version":"3.11.6","new_version":"3.11.7","repository_url":"https://github.com/ijl/orjson"},{"name":"jsonschema","old_version":"4.25.0","new_version":"4.26.0","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"asv","old_version":"0.6.4","new_version":"0.6.5","repository_url":"https://github.com/airspeed-velocity/asv"},{"name":"codespell","old_version":"2.2.6","new_version":"2.4.2","repository_url":"https://github.com/codespell-project/codespell"},{"name":"coverage","old_version":"7.10.1","new_version":"7.13.5","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"mypy","old_version":"1.17.0","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"pytest-mock","old_version":"3.14.1","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"boto3","old_version":"1.39.15","new_version":"1.42.74","repository_url":"https://github.com/boto/boto3"},{"name":"jupyterlab","old_version":"4.5.1","new_version":"4.5.6","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"name":"nbsphinx","old_version":"0.9.7","new_version":"0.9.8","repository_url":"https://github.com/spatialaudio/nbsphinx"},{"name":"odc-stac","old_version":"0.4.0","new_version":"0.5.2","repository_url":"https://github.com/opendatacube/odc-stac"},{"name":"shapely","old_version":"2.1.1","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the package-deps group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [orjson](https://github.com/ijl/orjson) | `3.11.6` | `3.11.7` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.25.0` | `4.26.0` |\n| [asv](https://github.com/airspeed-velocity/asv) | `0.6.4` | `0.6.5` |\n| [codespell](https://github.com/codespell-project/codespell) | `2.2.6` | `2.4.2` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.1` | `7.13.5` |\n| [mypy](https://github.com/python/mypy) | `1.17.0` | `1.19.1` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.1` | `3.15.1` |\n| [boto3](https://github.com/boto/boto3) | `1.39.15` | `1.42.74` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.5.1` | `4.5.6` |\n| [nbsphinx](https://github.com/spatialaudio/nbsphinx) | `0.9.7` | `0.9.8` |\n| [odc-stac](https://github.com/opendatacube/odc-stac) | `0.4.0` | `0.5.2` |\n| [shapely](https://github.com/shapely/shapely) | `2.1.1` | `2.1.2` |\n\n\nUpdates `orjson` from 3.11.6 to 3.11.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.7\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a faster library to serialize \u003ccode\u003efloat\u003c/code\u003e. Users with byte-exact regression\ntests should note positive exponents are now written using a \u003ccode\u003e+\u003c/code\u003e, e.g.,\n\u003ccode\u003e1.2e+30\u003c/code\u003e instead of \u003ccode\u003e1.2e30\u003c/code\u003e. Both formats are spec-compliant.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5 free-threading.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.7 - 2026-02-02\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a faster library to serialize \u003ccode\u003efloat\u003c/code\u003e. Users with byte-exact regression\ntests should note positive exponents are now written using a \u003ccode\u003e+\u003c/code\u003e, e.g.,\n\u003ccode\u003e1.2e+30\u003c/code\u003e instead of \u003ccode\u003e1.2e30\u003c/code\u003e. Both formats are spec-compliant.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5 free-threading.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ec2b066cae79ae4a90ed126ac5723335dd99e408\"\u003e\u003ccode\u003eec2b066\u003c/code\u003e\u003c/a\u003e 3.11.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1ca01f78cf4198ec37407d83713afa6e5c53dbf9\"\u003e\u003ccode\u003e1ca01f7\u003c/code\u003e\u003c/a\u003e zmij\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1716a226bd1f38db01503f30cd37b0efec48d88e\"\u003e\u003ccode\u003e1716a22\u003c/code\u003e\u003c/a\u003e cargo update\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.6...3.11.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsonschema` from 4.25.0 to 4.26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.26.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1400\"\u003epython-jsonschema/jsonschema#1400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1405\"\u003epython-jsonschema/jsonschema#1405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.5.0 to 6.6.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1406\"\u003epython-jsonschema/jsonschema#1406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1407\"\u003epython-jsonschema/jsonschema#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1413\"\u003epython-jsonschema/jsonschema#1413\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.6.0 to 6.6.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1412\"\u003epython-jsonschema/jsonschema#1412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1410\"\u003epython-jsonschema/jsonschema#1410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.2 to 2.3.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1409\"\u003epython-jsonschema/jsonschema#1409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1411\"\u003epython-jsonschema/jsonschema#1411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003evalidators: avoid \u003ccode\u003eurllib.request\u003c/code\u003e at import-time by \u003ca href=\"https://github.com/gudnimg\"\u003e\u003ccode\u003e@​gudnimg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1416\"\u003epython-jsonschema/jsonschema#1416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.6.1 to 6.8.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1417\"\u003epython-jsonschema/jsonschema#1417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.3 to 2.3.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1418\"\u003epython-jsonschema/jsonschema#1418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1415\"\u003epython-jsonschema/jsonschema#1415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.4 to 2.4.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1419\"\u003epython-jsonschema/jsonschema#1419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1420\"\u003epython-jsonschema/jsonschema#1420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.8.0 to 7.1.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1421\"\u003epython-jsonschema/jsonschema#1421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1424\"\u003epython-jsonschema/jsonschema#1424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.0 to 7.1.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1423\"\u003epython-jsonschema/jsonschema#1423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1425\"\u003epython-jsonschema/jsonschema#1425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1429\"\u003epython-jsonschema/jsonschema#1429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1431\"\u003epython-jsonschema/jsonschema#1431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.4.1 to 2.4.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1432\"\u003epython-jsonschema/jsonschema#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.1 to 7.1.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1430\"\u003epython-jsonschema/jsonschema#1430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1434\"\u003epython-jsonschema/jsonschema#1434\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.2 to 7.1.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1435\"\u003epython-jsonschema/jsonschema#1435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1436\"\u003epython-jsonschema/jsonschema#1436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1437\"\u003epython-jsonschema/jsonschema#1437\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.4.2 to 2.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1438\"\u003epython-jsonschema/jsonschema#1438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1439\"\u003epython-jsonschema/jsonschema#1439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument \u003ccode\u003euuid\u003c/code\u003e format by \u003ca href=\"https://github.com/sim642\"\u003e\u003ccode\u003e@​sim642\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1440\"\u003epython-jsonschema/jsonschema#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1441\"\u003epython-jsonschema/jsonschema#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.4 to 7.1.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1442\"\u003epython-jsonschema/jsonschema#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1443\"\u003epython-jsonschema/jsonschema#1443\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/gudnimg\"\u003e\u003ccode\u003e@​gudnimg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1416\"\u003epython-jsonschema/jsonschema#1416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sim642\"\u003e\u003ccode\u003e@​sim642\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1440\"\u003epython-jsonschema/jsonschema#1440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.1...v4.26.0\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.25.1...v4.26.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1396\"\u003epython-jsonschema/jsonschema#1396\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.26.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDecrease import time by delaying importing of \u003ccode\u003eurllib.request\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1416\"\u003e#1416\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.25.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix an incorrect required argument in the \u003ccode\u003eValidator\u003c/code\u003e protocol's type annotations (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\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/python-jsonschema/jsonschema/commit/a7277432b0f7bcd0551f6e589d30457017125df4\"\u003e\u003ccode\u003ea727743\u003c/code\u003e\u003c/a\u003e Add a changelog entry for 4.26.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6d28c13efbbd6cf136143fdbb18f79d4476091f6\"\u003e\u003ccode\u003e6d28c13\u003c/code\u003e\u003c/a\u003e Update the lockfile.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/739499edc33c007ff62180c9fef61dbf5480bb7b\"\u003e\u003ccode\u003e739499e\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/cb2d77980713577f65cc7e7c7c115932206393fd\"\u003e\u003ccode\u003ecb2d779\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1443\"\u003e#1443\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/e6bbbb7c5bcdb32a654572d17bfce264aefd1f9d\"\u003e\u003ccode\u003ee6bbbb7\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/d56037a88faac4881214c6674a785b4abd428617\"\u003e\u003ccode\u003ed56037a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1442\"\u003e#1442\u003c/a\u003e from python-jsonschema/dependabot/github_actions/ast...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/e54ce13fb590a5c17fb702431598a382de6e68f9\"\u003e\u003ccode\u003ee54ce13\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 7.1.4 to 7.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1f7c9fbd01d9c2f8ddd98065324062f7e122dbe1\"\u003e\u003ccode\u003e1f7c9fb\u003c/code\u003e\u003c/a\u003e Partially update docs requirements.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/241aec982bc8c867f276779faf20d49d9774532f\"\u003e\u003ccode\u003e241aec9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1441\"\u003e#1441\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/2818efb4fa446ed4fa7815b4e09a7b4b7c633852\"\u003e\u003ccode\u003e2818efb\u003c/code\u003e\u003c/a\u003e Apache-2.0 -\u0026gt; nongpl\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `asv` from 0.6.4 to 0.6.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/airspeed-velocity/asv/releases\"\u003easv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.5\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003erattler\u003c/code\u003e support and UX/UI assistance.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBUG: fix JSONC support by \u003ca href=\"https://github.com/lucascolley\"\u003e\u003ccode\u003e@​lucascolley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1426\"\u003eairspeed-velocity/asv#1426\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBUG: fix extraction of conda version by \u003ca href=\"https://github.com/sfmig\"\u003e\u003ccode\u003e@​sfmig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1428\"\u003eairspeed-velocity/asv#1428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Clean and update documentation by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1429\"\u003eairspeed-velocity/asv#1429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update CI configurations and handle sanity checks by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1440\"\u003eairspeed-velocity/asv#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBUG: Fix multiple Python version usage by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1444\"\u003eairspeed-velocity/asv#1444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eENH: Add \u003ccode\u003epy-rattler\u003c/code\u003e by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1445\"\u003eairspeed-velocity/asv#1445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document pitfalls of changing \u003ccode\u003ebenchmark_name\u003c/code\u003e benchmark attribute by \u003ca href=\"https://github.com/JuroOravec\"\u003e\u003ccode\u003e@​JuroOravec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1470\"\u003eairspeed-velocity/asv#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document the \u003ccode\u003eversion\u003c/code\u003e field in \u003ccode\u003easv.conf.json.rst\u003c/code\u003e by \u003ca href=\"https://github.com/JuroOravec\"\u003e\u003ccode\u003e@​JuroOravec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1467\"\u003eairspeed-velocity/asv#1467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDOC: Minor assorted fixes by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1483\"\u003eairspeed-velocity/asv#1483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDOC: platform → sys_platform by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1477\"\u003eairspeed-velocity/asv#1477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: fix virtualenv setup for py3.9+ by \u003ca href=\"https://github.com/JuroOravec\"\u003e\u003ccode\u003e@​JuroOravec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1485\"\u003eairspeed-velocity/asv#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: Use a decently recent version of ruff by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1478\"\u003eairspeed-velocity/asv#1478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff isort rules (I) and get rid of isort by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1488\"\u003eairspeed-velocity/asv#1488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Do not list wheel as a build-dep by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1494\"\u003eairspeed-velocity/asv#1494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDOC: Add a space after Python command line option \u003ccode\u003e-m\u003c/code\u003e by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1487\"\u003eairspeed-velocity/asv#1487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply ruff/flake8-logging rules (LOG) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1481\"\u003eairspeed-velocity/asv#1481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply assorted ruff/pyupgrade rules (UP) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1480\"\u003eairspeed-velocity/asv#1480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply ruff/pycodestyle rules (W) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1490\"\u003eairspeed-velocity/asv#1490\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Add timeouts to asv.conf.json reference by \u003ca href=\"https://github.com/Jacob-Stevens-Haas\"\u003e\u003ccode\u003e@​Jacob-Stevens-Haas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1476\"\u003eairspeed-velocity/asv#1476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eENH: Add a gitignore template by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1274\"\u003eairspeed-velocity/asv#1274\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply ruff/Pylint rules (PLE) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1482\"\u003eairspeed-velocity/asv#1482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd TAGS as range parameter, fixes \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/488\"\u003e#488\u003c/a\u003e fixes \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1027\"\u003e#1027\u003c/a\u003e by \u003ca href=\"https://github.com/timkpaine\"\u003e\u003ccode\u003e@​timkpaine\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1418\"\u003eairspeed-velocity/asv#1418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply assorted ruff rules (RUF) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1491\"\u003eairspeed-velocity/asv#1491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply assorted ruff/flake8-comprehensions rules (C4) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1489\"\u003eairspeed-velocity/asv#1489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff/flake8-comprehensions rules (C4) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1498\"\u003eairspeed-velocity/asv#1498\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff/pygrep-hooks rules (PGH) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1499\"\u003eairspeed-velocity/asv#1499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReport the last error when failing to discover benchmarks by \u003ca href=\"https://github.com/TalAmuyal\"\u003e\u003ccode\u003e@​TalAmuyal\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1505\"\u003eairspeed-velocity/asv#1505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update pre-commit ruff legacy alias by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1510\"\u003eairspeed-velocity/asv#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update GitHub Actions by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1504\"\u003eairspeed-velocity/asv#1504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pass python version when creating mamba/conda env by \u003ca href=\"https://github.com/jder\"\u003e\u003ccode\u003e@​jder\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1495\"\u003eairspeed-velocity/asv#1495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff/pyupgrade rules (UP) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1501\"\u003eairspeed-velocity/asv#1501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update pre-commit configuration by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1503\"\u003eairspeed-velocity/asv#1503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff/flake8-bugbear rules (B) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1502\"\u003eairspeed-velocity/asv#1502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update \u003ccode\u003epyproject.toml\u003c/code\u003e by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1506\"\u003eairspeed-velocity/asv#1506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: bump pre-commit hooks by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1514\"\u003eairspeed-velocity/asv#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eresolve conflicts for \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1450\"\u003egh-1450\u003c/a\u003e by \u003ca href=\"https://github.com/lucascolley\"\u003e\u003ccode\u003e@​lucascolley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1516\"\u003eairspeed-velocity/asv#1516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTST: Fix testsuite rattler by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1450\"\u003eairspeed-velocity/asv#1450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBUG: Apply ASV_PYTHONPATH to discovery by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1462\"\u003eairspeed-velocity/asv#1462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update the license by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1291\"\u003eairspeed-velocity/asv#1291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse pypy3.11 in CI by \u003ca href=\"https://github.com/mattip\"\u003e\u003ccode\u003e@​mattip\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1512\"\u003eairspeed-velocity/asv#1512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Standardize style with ruff by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1513\"\u003eairspeed-velocity/asv#1513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ruff errors in CI by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1524\"\u003eairspeed-velocity/asv#1524\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[REL] \u003ccode\u003ev0.6.5\u003c/code\u003e final cleanup by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1521\"\u003eairspeed-velocity/asv#1521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply more flake8-bugbear rules by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1526\"\u003eairspeed-velocity/asv#1526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] Kill \u003ccode\u003elibmambapy\u003c/code\u003e by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1525\"\u003eairspeed-velocity/asv#1525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply Scientific Python Library Development Guide suggestions by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1527\"\u003eairspeed-velocity/asv#1527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply Scientific Python Library Development Guide Repo-Review suggestions by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1528\"\u003eairspeed-velocity/asv#1528\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/airspeed-velocity/asv/blob/main/CHANGES.rst\"\u003easv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003easv 0.6.5 (2025-09-12)\u003c/h2\u003e\n\u003cp\u003eNew Features\n^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eASV supports the \u003ccode\u003epy-rattler\u003c/code\u003e backend through the \u003ccode\u003erattler\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eASV_USE_CONDARC\u003c/code\u003e can be set to load the options in the \u003ccode\u003eCONDARC\u003c/code\u003e\nenvironment variable\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\n^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJSONC fixes (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMultiple python versions are now handled correctly (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnvironment types can be specified for pytest (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eASV_PYTHONPATH is now applied for the discovery phase. (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix virtualenv setup for virtualenv 20.31 (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1485\"\u003e#1485\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther Changes and Additions\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIndicate when benchmarks start passing with *\u003c/li\u003e\n\u003cli\u003eInternally consistent with ScientificPython guidelines (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1528\"\u003e#1528\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1527\"\u003e#1527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1526\"\u003e#1526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRuff used for styles (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1513\"\u003e#1513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew documentation design\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003emamba\u003c/code\u003e backend has been removed, with \u003ccode\u003erattler\u003c/code\u003e as the suggested replacement\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erattler\u003c/code\u003e is also expected to be the default in the next release\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/22320297cd81127bab49293ac240a25491839889\"\u003e\u003ccode\u003e2232029\u003c/code\u003e\u003c/a\u003e REL: Finalize v0.6.5 log [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/5ea038a55621d28d355a821af167ae5e9609898d\"\u003e\u003ccode\u003e5ea038a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1528\"\u003e#1528\u003c/a\u003e from DimitriPapadopoulos/repo-review\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/eea30a6dbf01caab0ce2d333c418eccf40473e3c\"\u003e\u003ccode\u003eeea30a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1527\"\u003e#1527\u003c/a\u003e from DimitriPapadopoulos/Scientific_Python_Library_D...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/edd4bec7646a48f8109567b82953faf1ec2c721a\"\u003e\u003ccode\u003eedd4bec\u003c/code\u003e\u003c/a\u003e Style and static checks: PyGrep hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/d67e24b97d0fed7616c47e3ef1c335f32ab38324\"\u003e\u003ccode\u003ed67e24b\u003c/code\u003e\u003c/a\u003e Enforce ruff rules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/9cfb7814871071fb3fe6a5afe414ec6b690ecc7a\"\u003e\u003ccode\u003e9cfb781\u003c/code\u003e\u003c/a\u003e Apply ruff rule RUF100\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/3325dec2ca94346599fb7f53194621fa8e05d8f0\"\u003e\u003ccode\u003e3325dec\u003c/code\u003e\u003c/a\u003e Apply ruff rule RUF015\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/1dcb273d0febb702ee9fe1a613a19784ad104154\"\u003e\u003ccode\u003e1dcb273\u003c/code\u003e\u003c/a\u003e Apply ruff rule RUF010\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/4b7308f90c711d5079660038b80bf4d55a7e7356\"\u003e\u003ccode\u003e4b7308f\u003c/code\u003e\u003c/a\u003e Enforce ruff/flake8-import-conventions rules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/10d214d69485d07a87c54eae968e5befa015f730\"\u003e\u003ccode\u003e10d214d\u003c/code\u003e\u003c/a\u003e Apply ruff/flake8-import-conventions rule ICN001\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/airspeed-velocity/asv/compare/v0.6.4...v0.6.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `codespell` from 2.2.6 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/codespell-project/codespell/releases\"\u003ecodespell's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed compatibility with chardet 7+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix and clarify cases in ignore patterns by \u003ca href=\"https://github.com/DanielYang59\"\u003e\u003ccode\u003e@​DanielYang59\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3583\"\u003ecodespell-project/codespell#3583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecodespell-private.yml: Do not codespell digital signature files by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3623\"\u003ecodespell-project/codespell#3623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3634\"\u003ecodespell-project/codespell#3634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003enumbes-\u0026gt;numbers and numbesr-\u0026gt;numbers by \u003ca href=\"https://github.com/skshetry\"\u003e\u003ccode\u003e@​skshetry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3635\"\u003ecodespell-project/codespell#3635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd spelling corrections for disclose and variables. by \u003ca href=\"https://github.com/cfi-gb\"\u003e\u003ccode\u003e@​cfi-gb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3622\"\u003ecodespell-project/codespell#3622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd spelling correction for Vulnererability and variants. by \u003ca href=\"https://github.com/cfi-gb\"\u003e\u003ccode\u003e@​cfi-gb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3625\"\u003ecodespell-project/codespell#3625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove lets-\u0026gt;let's by \u003ca href=\"https://github.com/Piedone\"\u003e\u003ccode\u003e@​Piedone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3633\"\u003ecodespell-project/codespell#3633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd corrections for \u0026quot;dictate\u0026quot; by \u003ca href=\"https://github.com/jdufresne\"\u003e\u003ccode\u003e@​jdufresne\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3636\"\u003ecodespell-project/codespell#3636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd specicification (and pl) typo by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3639\"\u003ecodespell-project/codespell#3639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u0026quot;blueish\u0026quot; correction by \u003ca href=\"https://github.com/hadess\"\u003e\u003ccode\u003e@​hadess\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3510\"\u003ecodespell-project/codespell#3510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u0026quot;lighting\u0026quot; as an option to fix \u0026quot;lighning\u0026quot; by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3648\"\u003ecodespell-project/codespell#3648\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert adding \u003ccode\u003elien\u003c/code\u003e to the rare dictionary  by \u003ca href=\"https://github.com/nikolaik\"\u003e\u003ccode\u003e@​nikolaik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3631\"\u003ecodespell-project/codespell#3631\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u0026quot;ane\u0026quot; could have been \u0026quot;one\u0026quot; by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3645\"\u003ecodespell-project/codespell#3645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd spelling correction for \u0026quot;priort\u0026quot; by \u003ca href=\"https://github.com/cfi-gb\"\u003e\u003ccode\u003e@​cfi-gb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3647\"\u003ecodespell-project/codespell#3647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u0026quot;fix\u0026quot; of \u0026quot;deques\u0026quot; - it is quite legit by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3649\"\u003ecodespell-project/codespell#3649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSeveral new suggestions by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3621\"\u003ecodespell-project/codespell#3621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd proposal constraints to containts by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3652\"\u003ecodespell-project/codespell#3652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditions dleay,infp,practive,utiliy by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3643\"\u003ecodespell-project/codespell#3643\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd calncelled and its variations by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3650\"\u003ecodespell-project/codespell#3650\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse raw strings for regex by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3654\"\u003ecodespell-project/codespell#3654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow multiple spaces before codespell:ignore by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3653\"\u003ecodespell-project/codespell#3653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded correction from \u003ccode\u003etimeour\u003c/code\u003e to \u003ccode\u003etimeout\u003c/code\u003e by \u003ca href=\"https://github.com/jamesbraza\"\u003e\u003ccode\u003e@​jamesbraza\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3656\"\u003ecodespell-project/codespell#3656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd typos found in various software projects by \u003ca href=\"https://github.com/luzpaz\"\u003e\u003ccode\u003e@​luzpaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3640\"\u003ecodespell-project/codespell#3640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3659\"\u003ecodespell-project/codespell#3659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd codespell suggestions for enabke and friends by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3657\"\u003ecodespell-project/codespell#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEND: add \u0026quot;queues\u0026quot; (plural from queue) as possible fix for ques by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3591\"\u003ecodespell-project/codespell#3591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eagreegate, lesda, realod, colouer by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3665\"\u003ecodespell-project/codespell#3665\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit version in documentation by \u003ca href=\"https://github.com/prchoward\"\u003e\u003ccode\u003e@​prchoward\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3666\"\u003ecodespell-project/codespell#3666\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Rename CI file and run name by \u003ca href=\"https://github.com/larsoner\"\u003e\u003ccode\u003e@​larsoner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3667\"\u003ecodespell-project/codespell#3667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epreoccuption-\u0026gt;preoccupation; occuption-\u0026gt;occupation by \u003ca href=\"https://github.com/TheGiraffe3\"\u003e\u003ccode\u003e@​TheGiraffe3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3668\"\u003ecodespell-project/codespell#3668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuggestions for: checkto, diminsion, waitfor by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3670\"\u003ecodespell-project/codespell#3670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypos found in sigstore-python by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3664\"\u003ecodespell-project/codespell#3664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eusgin-\u0026gt;using by \u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3672\"\u003ecodespell-project/codespell#3672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd typos found in various software projects by \u003ca href=\"https://github.com/luzpaz\"\u003e\u003ccode\u003e@​luzpaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3669\"\u003ecodespell-project/codespell#3669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd coered -\u0026gt; coerced by \u003ca href=\"https://github.com/effigies\"\u003e\u003ccode\u003e@​effigies\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3680\"\u003ecodespell-project/codespell#3680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebackwward(s)-\u0026gt;backward(s), onwward(s)-\u0026gt;onward(s) by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3682\"\u003ecodespell-project/codespell#3682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3685\"\u003ecodespell-project/codespell#3685\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etelemetery-\u0026gt;telemetry by \u003ca href=\"https://github.com/august-soderberg\"\u003e\u003ccode\u003e@​august-soderberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3686\"\u003ecodespell-project/codespell#3686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd hexedacimal and similar typos by \u003ca href=\"https://github.com/Akuli\"\u003e\u003ccode\u003e@​Akuli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3692\"\u003ecodespell-project/codespell#3692\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd rounted-\u0026gt;routed, rounded and friends by \u003ca href=\"https://github.com/peternewman\"\u003e\u003ccode\u003e@​peternewman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3693\"\u003ecodespell-project/codespell#3693\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd symmectric and similar typos by \u003ca href=\"https://github.com/Akuli\"\u003e\u003ccode\u003e@​Akuli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3694\"\u003ecodespell-project/codespell#3694\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI on Windows: pip upgrade pip by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3698\"\u003ecodespell-project/codespell#3698\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/codespell-project/codespell/commit/2ccb47ff45ad361a21071a7eedda4c37e6ae8c5a\"\u003e\u003ccode\u003e2ccb47f\u003c/code\u003e\u003c/a\u003e Compat with chardet 7 (\u003ca href=\"https://redirect.github.com/codespell-project/codespell/issues/3886\"\u003e#3886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/4ec53bf6a3e510c64900d5ee838abd99d49b2910\"\u003e\u003ccode\u003e4ec53bf\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/2a4acba3f282f1b5ccb7ad8b57bc991810663a44\"\u003e\u003ccode\u003e2a4acba\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/codespell-project/codespell/commit/be17cacc96a5ee3f014e048f5962cfdb7145e096\"\u003e\u003ccode\u003ebe17cac\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/04a071280d56148cab14249ccc8d4181c0066b3c\"\u003e\u003ccode\u003e04a0712\u003c/code\u003e\u003c/a\u003e Bump ruff (\u003ca href=\"https://redirect.github.com/codespell-project/codespell/issues/3879\"\u003e#3879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/583d8796d92eb58e15072db03e5b756be45f638a\"\u003e\u003ccode\u003e583d879\u003c/code\u003e\u003c/a\u003e avoide-\u0026gt;avoid, avoided, avoids,\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/1f59f34d7c6d1642fdb325d9dfa49cf9eb5f692a\"\u003e\u003ccode\u003e1f59f34\u003c/code\u003e\u003c/a\u003e Add correction for 'foudation' to 'foundation'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/e047fdafb8620b08a86349014487886bcd9c2205\"\u003e\u003ccode\u003ee047fda\u003c/code\u003e\u003c/a\u003e Add spelling correction for gather and variants.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/b5cd66de14b8f65b0f45fabbe1c89bd69ea60939\"\u003e\u003ccode\u003eb5cd66d\u003c/code\u003e\u003c/a\u003e respondant-\u0026gt;respondent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/92125a3814fa6e86cd2055385916ce5186d3e5df\"\u003e\u003ccode\u003e92125a3\u003c/code\u003e\u003c/a\u003e Add detection of ivoice and variants.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/codespell-project/codespell/compare/v2.2.6...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.10.1 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\u003ch2\u003eVersion 7.13.4 — 2026-02-09\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the third-party code fix in 7.13.3 required examining the parent\ndirectories where coverage was run. In the unusual situation that one of the\nparent directories is unreadable, a PermissionError would occur, as\ndescribed in \u003ccode\u003eissue 2129\u003c/code\u003e_. This is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: in test suites that change sys.path, coverage.py could fail with\n\u0026quot;RuntimeError: Set changed size during iteration\u0026quot; as described and fixed in\n\u003ccode\u003epull 2130\u003c/code\u003e_. Thanks, Noah Fatsi.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe now publish ppc64le wheels, thanks to \u003ccode\u003ePankhudi Jain \u0026lt;pull 2121_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _pull 2121: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2121\"\u003ecoveragepy/coveragepy#2121\u003c/a\u003e\n.. _issue 2129: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2129\"\u003ecoveragepy/coveragepy#2129\u003c/a\u003e\n.. _pull 2130: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2130\"\u003ecoveragepy/coveragepy#2130\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-3:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.3 — 2026-02-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: in some situations, third-party code was measured when it shouldn't have\nbeen, slowing down test execution. This happened with layered virtual\nenvironments such as uv sometimes makes. The problem is fixed, closing \u003ccode\u003eissue 2082\u003c/code\u003e_. Now any directory on sys.path that is inside a virtualenv is\nconsidered third-party code.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/2a53705f5fe588158b8a8d37ff3beee86388b9e4\"\u003e\u003ccode\u003e2a53705\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group across 1 directory with 4 updates (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/e7c878d201db819416b978150944d9a842d22b18\"\u003e\u003ccode\u003ee7c878d\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/ab4db406a9c35acf977cf3ddb94a78d696b77bc5\"\u003e\u003ccode\u003eab4db40\u003c/code\u003e\u003c/a\u003e build: use --generate-hashes when pinning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a438753eef870441044cef588e29ce4b9a28adf1\"\u003e\u003ccode\u003ea438753\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/7b33457d2c6367dfd5a563239998b3980444e090\"\u003e\u003ccode\u003e7b33457\u003c/code\u003e\u003c/a\u003e refactor: some leftover pyupgrade 3.10 bits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/2ff968db91a7cdafe6f6569ac7659a3a93a2da07\"\u003e\u003ccode\u003e2ff968d\u003c/code\u003e\u003c/a\u003e refactor: this type wasn't used anywhere\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.10.1...7.13.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.17.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.17.0...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-mock` from 3.14.1 to 3.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-mock/releases\"\u003epytest-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.15.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-16\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/529\"\u003e#529\u003c/a\u003e: Fixed \u003ccode\u003eitertools._tee object has no attribute error\u003c/code\u003e -- now \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e must be passed to \u003ccode\u003emocker.spy\u003c/code\u003e to duplicate iterators.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.15.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-04\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 (EOL) is no longer supported.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/524\"\u003e#524\u003c/a\u003e: Added \u003ccode\u003espy_return_iter\u003c/code\u003e to \u003ccode\u003emocker.spy\u003c/code\u003e, which contains a duplicate of the return value of the spied method if it is an \u003ccode\u003eIterator\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/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst\"\u003epytest-mock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.15.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-16\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#529](https://github.com/pytest-dev/pytest-mock/issues/529) \u0026lt;https://github.com/pytest-dev/pytest-mock/issues/529\u0026gt;\u003c/code\u003e_: Fixed \u003ccode\u003eitertools._tee object has no attribute error\u003c/code\u003e -- now \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e must be passed to \u003ccode\u003emocker.spy\u003c/code\u003e to duplicate iterators.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.15.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-04\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 (EOL) is no longer supported.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#524](https://github.com/pytest-dev/pytest-mock/issues/524) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/524\u0026gt;\u003c/code\u003e_: Added \u003ccode\u003espy_return_iter\u003c/code\u003e to \u003ccode\u003emocker.spy\u003c/code\u003e, which contains a duplicate of the return value of the spied method if it is an \u003ccode\u003eIterator\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/pytest-dev/pytest-mock/commit/e1b5c62a38c5a05cae614aef3847f240ba50d269\"\u003e\u003ccode\u003ee1b5c62\u003c/code\u003e\u003c/a\u003e Release 3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/184eb190d6be417f5f33727bcbc9704909479498\"\u003e\u003ccode\u003e184eb19\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003espy_return_iter\u003c/code\u003e only when explicitly requested (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/4fa0088a0aa85eefb1313bd97adf43889bf1f647\"\u003e\u003ccode\u003e4fa0088\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/536\"\u003e#536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/f5aff33ce71ed4620acc43dc41cb3b198bcf4cb0\"\u003e\u003ccode\u003ef5aff33\u003c/code\u003e\u003c/a\u003e Fix test failure with pytest 8+ and verbose mode (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/535\"\u003e#535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/adc41873c9d6aa69b87e3f108c93a29c847869aa\"\u003e\u003ccode\u003eadc4187\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/95ad5700609aae73c6f767b8cc2ccfb2483e0f5c\"\u003e\u003ccode\u003e95ad570\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/532\"\u003e#532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/e696bf02c199b1f7d0c48adb450f40e5a75b699a\"\u003e\u003ccode\u003ee696bf0\u003c/code\u003e\u003c/a\u003e Fix standalone mock support (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/531\"\u003e#531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/5b29b03ce9581cfcd867dd6c04a970fb2c861291\"\u003e\u003ccode\u003e5b29b03\u003c/code\u003e\u003c/a\u003e Fix gen-release-notes script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/7d22ef4e560351832e60687d8bd15ebe2785ff3b\"\u003e\u003ccode\u003e7d22ef4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/528\"\u003e#528\u003c/a\u003e from pytest-dev/release-3.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/90b29f89e2086c139a7b4fea89202faa192ee5a9\"\u003e\u003ccode\u003e90b29f8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 3.15.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-mock/compare/v3.14.1...v3.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.39.15 to 1.42.74\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/efb76df8dc38a5bf5211094547ab7671760bf34f\"\u003e\u003ccode\u003eefb76df\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.74'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/8d8ff13febb16f2539043581fb59568cee7463f8\"\u003e\u003ccode\u003e8d8ff13\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.74\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/56e766922154a5fd62349fe8c0211834728bdda8\"\u003e\u003ccode\u003e56e7669\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/3a06d635c79baf1597439dde9244d3f28f6b6eb2\"\u003e\u003ccode\u003e3a06d63\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.73'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/04dfc51bfc4d6288ad581aa7dc8677e67bd0f762\"\u003e\u003ccode\u003e04dfc51\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.73' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ca7b0438074715c38ede4b8c0ab4401700bddf70\"\u003e\u003ccode\u003eca7b043\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.73\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ef6697c5aad3cbbe962fb63c9335db0e0a705480\"\u003e\u003ccode\u003eef6697c\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/3c02c15e37930f95537d5b173c0ffc19b1201b16\"\u003e\u003ccode\u003e3c02c15\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.72'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b7e01e94ab81d564b365e55b0a60c3c5d1e889ab\"\u003e\u003ccode\u003eb7e01e9\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.72' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fcc3fe3ff503eecbbd713678771e02654eb27c9a\"\u003e\u003ccode\u003efcc3fe3\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.72\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.39.15...1.42.74\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jupyterlab` from 4.5.1 to 4.5.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyterlab/jupyterlab/releases\"\u003ejupyterlab's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.5.6\u003c/h2\u003e\n\u003ch2\u003e4.5.6\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyterlab/jupyterlab/compare/v4.5.5...a6dda8829b2d6b670de634081d26c1a39be145c4\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace scrollback implementation with scroll anchoring outside of \u003ccode\u003efull\u003c/code\u003e windowing mode \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18522\"\u003e#18522\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHarmonize translation wrappers in Python files to use \u003ccode\u003egettext\u003c/code\u003e methods \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18597\"\u003e#18597\u003c/a\u003e (\u003ca href=\"https://github.com/tmetzl\"\u003e\u003ccode\u003e@​tmetzl\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unimplemented \u003ccode\u003efilebrowser:search\u003c/code\u003e command \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18593\"\u003e#18593\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix status bar focus outlines \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18585\"\u003e#18585\u003c/a\u003e (\u003ca href=\"https://github.com/IsabelParedes\"\u003e\u003ccode\u003e@​IsabelParedes\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efilebrowser:create-new-file\u003c/code\u003e context menu selector \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18588\"\u003e#18588\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix single-character code blocks rendering as empty \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18572\"\u003e#18572\u003c/a\u003e (\u003ca href=\"https://github.com/soniya-malviy\"\u003e\u003ccode\u003e@​soniya-malviy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003ecode\u003c/code\u003e input in \u003ccode\u003eCodeConsole\u003c/code\u003e when configured \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18554\"\u003e#18554\u003c/a\u003e (\u003ca href=\"https://github.com/agriyakhetarpal\"\u003e\u003ccode\u003e@​agriyakhetarpal\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\u003eUpdate benchmark snapshots even if base snapshots require changes \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18549\"\u003e#18549\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/jupyterlab/jupyterlab/graphs/contributors?from=2026-02-23\u0026amp;to=2026-03-11\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/agriyakhetarpal\"\u003e\u003ccode\u003e@​agriyakhetarpal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aagriyakhetarpal+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/IsabelParedes\"\u003e\u003ccode\u003e@​IsabelParedes\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AIsabelParedes+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajtpio+updated%3A2026-02-23..2026-03-11\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%3Ajupyterlab%2Fjupyterlab+involves%3Akrassowski+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/soniya-malviy\"\u003e\u003ccode\u003e@​soniya-malviy\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Asoniya-malviy+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/tmetzl\"\u003e\u003ccode\u003e@​tmetzl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Atmetzl+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003ev4.5.5\u003c/h2\u003e\n\u003ch2\u003e4.5.5\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyterlab/jupyterlab/compare/v4.5.4...4a223c0dbe53f47f03cdff3573fd7e9ccbb2605b\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix theme settings broken in non-English locales \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18530\"\u003e#18530\u003c/a\u003e (\u003ca href=\"https://github.com/apoorvdarshan\"\u003e\u003ccode\u003e@​apoorvdarshan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix comms subshell resource management on disposal and when changing settings \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18531\"\u003e#18531\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003e@codemirror/view\u003c/code\u003e, fixing slow selection when line wrapping is enabled \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18479\"\u003e#18479\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly turn off overflow anchor when windowing is active \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18503\"\u003e#18503\u003c/a\u003e (\u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix table of contents navigation for Markdown files \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18411\"\u003e#18411\u003c/a\u003e (\u003ca href=\"https://github.com/itsmevichu\"\u003e\u003ccode\u003e@​itsmevichu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n...\n\n_Description has been truncated_","html_url":"https://github.com/stac-utils/pystac/pull/1687","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/stac-utils%2Fpystac/issues/1687","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1687/packages"}},{"old_version":"3.11.6","new_version":"3.11.7","update_type":"patch","path":null,"pr_created_at":"2026-04-03T18:51:54.000Z","version_change":"3.11.6 → 3.11.7","issue":{"uuid":"4201783968","node_id":"PR_kwDOBo4nzs7P2nTS","number":1683,"state":"closed","title":"build(deps-dev): bump the package-deps group with 13 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-04-03T19:00:42.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-03T18:51:54.000Z","updated_at":"2026-04-03T19:00:44.000Z","time_to_close":528,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): bump","group_name":"package-deps","update_count":13,"packages":[{"name":"orjson","old_version":"3.11.6","new_version":"3.11.7","repository_url":"https://github.com/ijl/orjson"},{"name":"jsonschema","old_version":"4.25.0","new_version":"4.26.0","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"asv","old_version":"0.6.4","new_version":"0.6.5","repository_url":"https://github.com/airspeed-velocity/asv"},{"name":"codespell","old_version":"2.2.6","new_version":"2.4.2","repository_url":"https://github.com/codespell-project/codespell"},{"name":"coverage","old_version":"7.10.1","new_version":"7.13.5","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"mypy","old_version":"1.17.0","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"pytest-mock","old_version":"3.14.1","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"boto3","old_version":"1.39.15","new_version":"1.42.74","repository_url":"https://github.com/boto/boto3"},{"name":"jupyterlab","old_version":"4.5.1","new_version":"4.5.6","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"name":"nbsphinx","old_version":"0.9.7","new_version":"0.9.8","repository_url":"https://github.com/spatialaudio/nbsphinx"},{"name":"odc-stac","old_version":"0.4.0","new_version":"0.5.2","repository_url":"https://github.com/opendatacube/odc-stac"},{"name":"rasterio","old_version":"1.4.3","new_version":"1.4.4","repository_url":"https://github.com/rasterio/rasterio"},{"name":"shapely","old_version":"2.1.1","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"}],"path":null,"ecosystem":"pip"},"body":"Bumps the package-deps group with 13 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [orjson](https://github.com/ijl/orjson) | `3.11.6` | `3.11.7` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.25.0` | `4.26.0` |\n| [asv](https://github.com/airspeed-velocity/asv) | `0.6.4` | `0.6.5` |\n| [codespell](https://github.com/codespell-project/codespell) | `2.2.6` | `2.4.2` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.1` | `7.13.5` |\n| [mypy](https://github.com/python/mypy) | `1.17.0` | `1.19.1` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.14.1` | `3.15.1` |\n| [boto3](https://github.com/boto/boto3) | `1.39.15` | `1.42.74` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.5.1` | `4.5.6` |\n| [nbsphinx](https://github.com/spatialaudio/nbsphinx) | `0.9.7` | `0.9.8` |\n| [odc-stac](https://github.com/opendatacube/odc-stac) | `0.4.0` | `0.5.2` |\n| [rasterio](https://github.com/rasterio/rasterio) | `1.4.3` | `1.4.4` |\n| [shapely](https://github.com/shapely/shapely) | `2.1.1` | `2.1.2` |\n\nUpdates `orjson` from 3.11.6 to 3.11.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.7\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a faster library to serialize \u003ccode\u003efloat\u003c/code\u003e. Users with byte-exact regression\ntests should note positive exponents are now written using a \u003ccode\u003e+\u003c/code\u003e, e.g.,\n\u003ccode\u003e1.2e+30\u003c/code\u003e instead of \u003ccode\u003e1.2e30\u003c/code\u003e. Both formats are spec-compliant.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5 free-threading.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.7 - 2026-02-02\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a faster library to serialize \u003ccode\u003efloat\u003c/code\u003e. Users with byte-exact regression\ntests should note positive exponents are now written using a \u003ccode\u003e+\u003c/code\u003e, e.g.,\n\u003ccode\u003e1.2e+30\u003c/code\u003e instead of \u003ccode\u003e1.2e30\u003c/code\u003e. Both formats are spec-compliant.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5 free-threading.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ec2b066cae79ae4a90ed126ac5723335dd99e408\"\u003e\u003ccode\u003eec2b066\u003c/code\u003e\u003c/a\u003e 3.11.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1ca01f78cf4198ec37407d83713afa6e5c53dbf9\"\u003e\u003ccode\u003e1ca01f7\u003c/code\u003e\u003c/a\u003e zmij\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1716a226bd1f38db01503f30cd37b0efec48d88e\"\u003e\u003ccode\u003e1716a22\u003c/code\u003e\u003c/a\u003e cargo update\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.6...3.11.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsonschema` from 4.25.0 to 4.26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.26.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1400\"\u003epython-jsonschema/jsonschema#1400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1405\"\u003epython-jsonschema/jsonschema#1405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.5.0 to 6.6.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1406\"\u003epython-jsonschema/jsonschema#1406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1407\"\u003epython-jsonschema/jsonschema#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1413\"\u003epython-jsonschema/jsonschema#1413\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.6.0 to 6.6.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1412\"\u003epython-jsonschema/jsonschema#1412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1410\"\u003epython-jsonschema/jsonschema#1410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.2 to 2.3.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1409\"\u003epython-jsonschema/jsonschema#1409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1411\"\u003epython-jsonschema/jsonschema#1411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003evalidators: avoid \u003ccode\u003eurllib.request\u003c/code\u003e at import-time by \u003ca href=\"https://github.com/gudnimg\"\u003e\u003ccode\u003e@​gudnimg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1416\"\u003epython-jsonschema/jsonschema#1416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.6.1 to 6.8.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1417\"\u003epython-jsonschema/jsonschema#1417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.3 to 2.3.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1418\"\u003epython-jsonschema/jsonschema#1418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1415\"\u003epython-jsonschema/jsonschema#1415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.4 to 2.4.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1419\"\u003epython-jsonschema/jsonschema#1419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1420\"\u003epython-jsonschema/jsonschema#1420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.8.0 to 7.1.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1421\"\u003epython-jsonschema/jsonschema#1421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1424\"\u003epython-jsonschema/jsonschema#1424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.0 to 7.1.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1423\"\u003epython-jsonschema/jsonschema#1423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1425\"\u003epython-jsonschema/jsonschema#1425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1429\"\u003epython-jsonschema/jsonschema#1429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1431\"\u003epython-jsonschema/jsonschema#1431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.4.1 to 2.4.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1432\"\u003epython-jsonschema/jsonschema#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.1 to 7.1.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1430\"\u003epython-jsonschema/jsonschema#1430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1434\"\u003epython-jsonschema/jsonschema#1434\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.2 to 7.1.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1435\"\u003epython-jsonschema/jsonschema#1435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1436\"\u003epython-jsonschema/jsonschema#1436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1437\"\u003epython-jsonschema/jsonschema#1437\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.4.2 to 2.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1438\"\u003epython-jsonschema/jsonschema#1438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1439\"\u003epython-jsonschema/jsonschema#1439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument \u003ccode\u003euuid\u003c/code\u003e format by \u003ca href=\"https://github.com/sim642\"\u003e\u003ccode\u003e@​sim642\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1440\"\u003epython-jsonschema/jsonschema#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1441\"\u003epython-jsonschema/jsonschema#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.4 to 7.1.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1442\"\u003epython-jsonschema/jsonschema#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1443\"\u003epython-jsonschema/jsonschema#1443\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/gudnimg\"\u003e\u003ccode\u003e@​gudnimg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1416\"\u003epython-jsonschema/jsonschema#1416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sim642\"\u003e\u003ccode\u003e@​sim642\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1440\"\u003epython-jsonschema/jsonschema#1440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.1...v4.26.0\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.25.1...v4.26.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1396\"\u003epython-jsonschema/jsonschema#1396\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.26.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDecrease import time by delaying importing of \u003ccode\u003eurllib.request\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1416\"\u003e#1416\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.25.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix an incorrect required argument in the \u003ccode\u003eValidator\u003c/code\u003e protocol's type annotations (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\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/python-jsonschema/jsonschema/commit/a7277432b0f7bcd0551f6e589d30457017125df4\"\u003e\u003ccode\u003ea727743\u003c/code\u003e\u003c/a\u003e Add a changelog entry for 4.26.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6d28c13efbbd6cf136143fdbb18f79d4476091f6\"\u003e\u003ccode\u003e6d28c13\u003c/code\u003e\u003c/a\u003e Update the lockfile.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/739499edc33c007ff62180c9fef61dbf5480bb7b\"\u003e\u003ccode\u003e739499e\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/cb2d77980713577f65cc7e7c7c115932206393fd\"\u003e\u003ccode\u003ecb2d779\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1443\"\u003e#1443\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/e6bbbb7c5bcdb32a654572d17bfce264aefd1f9d\"\u003e\u003ccode\u003ee6bbbb7\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/d56037a88faac4881214c6674a785b4abd428617\"\u003e\u003ccode\u003ed56037a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1442\"\u003e#1442\u003c/a\u003e from python-jsonschema/dependabot/github_actions/ast...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/e54ce13fb590a5c17fb702431598a382de6e68f9\"\u003e\u003ccode\u003ee54ce13\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 7.1.4 to 7.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1f7c9fbd01d9c2f8ddd98065324062f7e122dbe1\"\u003e\u003ccode\u003e1f7c9fb\u003c/code\u003e\u003c/a\u003e Partially update docs requirements.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/241aec982bc8c867f276779faf20d49d9774532f\"\u003e\u003ccode\u003e241aec9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1441\"\u003e#1441\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/2818efb4fa446ed4fa7815b4e09a7b4b7c633852\"\u003e\u003ccode\u003e2818efb\u003c/code\u003e\u003c/a\u003e Apache-2.0 -\u0026gt; nongpl\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `asv` from 0.6.4 to 0.6.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/airspeed-velocity/asv/releases\"\u003easv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.5\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003erattler\u003c/code\u003e support and UX/UI assistance.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBUG: fix JSONC support by \u003ca href=\"https://github.com/lucascolley\"\u003e\u003ccode\u003e@​lucascolley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1426\"\u003eairspeed-velocity/asv#1426\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBUG: fix extraction of conda version by \u003ca href=\"https://github.com/sfmig\"\u003e\u003ccode\u003e@​sfmig\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1428\"\u003eairspeed-velocity/asv#1428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Clean and update documentation by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1429\"\u003eairspeed-velocity/asv#1429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update CI configurations and handle sanity checks by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1440\"\u003eairspeed-velocity/asv#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBUG: Fix multiple Python version usage by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1444\"\u003eairspeed-velocity/asv#1444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eENH: Add \u003ccode\u003epy-rattler\u003c/code\u003e by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1445\"\u003eairspeed-velocity/asv#1445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document pitfalls of changing \u003ccode\u003ebenchmark_name\u003c/code\u003e benchmark attribute by \u003ca href=\"https://github.com/JuroOravec\"\u003e\u003ccode\u003e@​JuroOravec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1470\"\u003eairspeed-velocity/asv#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document the \u003ccode\u003eversion\u003c/code\u003e field in \u003ccode\u003easv.conf.json.rst\u003c/code\u003e by \u003ca href=\"https://github.com/JuroOravec\"\u003e\u003ccode\u003e@​JuroOravec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1467\"\u003eairspeed-velocity/asv#1467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDOC: Minor assorted fixes by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1483\"\u003eairspeed-velocity/asv#1483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDOC: platform → sys_platform by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1477\"\u003eairspeed-velocity/asv#1477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: fix virtualenv setup for py3.9+ by \u003ca href=\"https://github.com/JuroOravec\"\u003e\u003ccode\u003e@​JuroOravec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1485\"\u003eairspeed-velocity/asv#1485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: Use a decently recent version of ruff by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1478\"\u003eairspeed-velocity/asv#1478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff isort rules (I) and get rid of isort by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1488\"\u003eairspeed-velocity/asv#1488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Do not list wheel as a build-dep by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1494\"\u003eairspeed-velocity/asv#1494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDOC: Add a space after Python command line option \u003ccode\u003e-m\u003c/code\u003e by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1487\"\u003eairspeed-velocity/asv#1487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply ruff/flake8-logging rules (LOG) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1481\"\u003eairspeed-velocity/asv#1481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply assorted ruff/pyupgrade rules (UP) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1480\"\u003eairspeed-velocity/asv#1480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply ruff/pycodestyle rules (W) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1490\"\u003eairspeed-velocity/asv#1490\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Add timeouts to asv.conf.json reference by \u003ca href=\"https://github.com/Jacob-Stevens-Haas\"\u003e\u003ccode\u003e@​Jacob-Stevens-Haas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1476\"\u003eairspeed-velocity/asv#1476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eENH: Add a gitignore template by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1274\"\u003eairspeed-velocity/asv#1274\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply ruff/Pylint rules (PLE) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1482\"\u003eairspeed-velocity/asv#1482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd TAGS as range parameter, fixes \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/488\"\u003e#488\u003c/a\u003e fixes \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1027\"\u003e#1027\u003c/a\u003e by \u003ca href=\"https://github.com/timkpaine\"\u003e\u003ccode\u003e@​timkpaine\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1418\"\u003eairspeed-velocity/asv#1418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply assorted ruff rules (RUF) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1491\"\u003eairspeed-velocity/asv#1491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Apply assorted ruff/flake8-comprehensions rules (C4) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1489\"\u003eairspeed-velocity/asv#1489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff/flake8-comprehensions rules (C4) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1498\"\u003eairspeed-velocity/asv#1498\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff/pygrep-hooks rules (PGH) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1499\"\u003eairspeed-velocity/asv#1499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReport the last error when failing to discover benchmarks by \u003ca href=\"https://github.com/TalAmuyal\"\u003e\u003ccode\u003e@​TalAmuyal\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1505\"\u003eairspeed-velocity/asv#1505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update pre-commit ruff legacy alias by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1510\"\u003eairspeed-velocity/asv#1510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update GitHub Actions by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1504\"\u003eairspeed-velocity/asv#1504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways pass python version when creating mamba/conda env by \u003ca href=\"https://github.com/jder\"\u003e\u003ccode\u003e@​jder\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1495\"\u003eairspeed-velocity/asv#1495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff/pyupgrade rules (UP) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1501\"\u003eairspeed-velocity/asv#1501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update pre-commit configuration by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1503\"\u003eairspeed-velocity/asv#1503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Enforce ruff/flake8-bugbear rules (B) by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1502\"\u003eairspeed-velocity/asv#1502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update \u003ccode\u003epyproject.toml\u003c/code\u003e by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1506\"\u003eairspeed-velocity/asv#1506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: bump pre-commit hooks by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1514\"\u003eairspeed-velocity/asv#1514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eresolve conflicts for \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1450\"\u003egh-1450\u003c/a\u003e by \u003ca href=\"https://github.com/lucascolley\"\u003e\u003ccode\u003e@​lucascolley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1516\"\u003eairspeed-velocity/asv#1516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTST: Fix testsuite rattler by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1450\"\u003eairspeed-velocity/asv#1450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBUG: Apply ASV_PYTHONPATH to discovery by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1462\"\u003eairspeed-velocity/asv#1462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Update the license by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1291\"\u003eairspeed-velocity/asv#1291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse pypy3.11 in CI by \u003ca href=\"https://github.com/mattip\"\u003e\u003ccode\u003e@​mattip\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1512\"\u003eairspeed-velocity/asv#1512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Standardize style with ruff by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1513\"\u003eairspeed-velocity/asv#1513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ruff errors in CI by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1524\"\u003eairspeed-velocity/asv#1524\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[REL] \u003ccode\u003ev0.6.5\u003c/code\u003e final cleanup by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1521\"\u003eairspeed-velocity/asv#1521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply more flake8-bugbear rules by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1526\"\u003eairspeed-velocity/asv#1526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] Kill \u003ccode\u003elibmambapy\u003c/code\u003e by \u003ca href=\"https://github.com/HaoZeke\"\u003e\u003ccode\u003e@​HaoZeke\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1525\"\u003eairspeed-velocity/asv#1525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply Scientific Python Library Development Guide suggestions by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1527\"\u003eairspeed-velocity/asv#1527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply Scientific Python Library Development Guide Repo-Review suggestions by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/pull/1528\"\u003eairspeed-velocity/asv#1528\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/airspeed-velocity/asv/blob/main/CHANGES.rst\"\u003easv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003easv 0.6.5 (2025-09-12)\u003c/h2\u003e\n\u003cp\u003eNew Features\n^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eASV supports the \u003ccode\u003epy-rattler\u003c/code\u003e backend through the \u003ccode\u003erattler\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eASV_USE_CONDARC\u003c/code\u003e can be set to load the options in the \u003ccode\u003eCONDARC\u003c/code\u003e\nenvironment variable\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\n^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJSONC fixes (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMultiple python versions are now handled correctly (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnvironment types can be specified for pytest (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eASV_PYTHONPATH is now applied for the discovery phase. (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix virtualenv setup for virtualenv 20.31 (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1485\"\u003e#1485\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther Changes and Additions\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIndicate when benchmarks start passing with *\u003c/li\u003e\n\u003cli\u003eInternally consistent with ScientificPython guidelines (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1528\"\u003e#1528\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1527\"\u003e#1527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1526\"\u003e#1526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRuff used for styles (\u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1513\"\u003e#1513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew documentation design\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003emamba\u003c/code\u003e backend has been removed, with \u003ccode\u003erattler\u003c/code\u003e as the suggested replacement\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erattler\u003c/code\u003e is also expected to be the default in the next release\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/22320297cd81127bab49293ac240a25491839889\"\u003e\u003ccode\u003e2232029\u003c/code\u003e\u003c/a\u003e REL: Finalize v0.6.5 log [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/5ea038a55621d28d355a821af167ae5e9609898d\"\u003e\u003ccode\u003e5ea038a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1528\"\u003e#1528\u003c/a\u003e from DimitriPapadopoulos/repo-review\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/eea30a6dbf01caab0ce2d333c418eccf40473e3c\"\u003e\u003ccode\u003eeea30a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/airspeed-velocity/asv/issues/1527\"\u003e#1527\u003c/a\u003e from DimitriPapadopoulos/Scientific_Python_Library_D...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/edd4bec7646a48f8109567b82953faf1ec2c721a\"\u003e\u003ccode\u003eedd4bec\u003c/code\u003e\u003c/a\u003e Style and static checks: PyGrep hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/d67e24b97d0fed7616c47e3ef1c335f32ab38324\"\u003e\u003ccode\u003ed67e24b\u003c/code\u003e\u003c/a\u003e Enforce ruff rules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/9cfb7814871071fb3fe6a5afe414ec6b690ecc7a\"\u003e\u003ccode\u003e9cfb781\u003c/code\u003e\u003c/a\u003e Apply ruff rule RUF100\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/3325dec2ca94346599fb7f53194621fa8e05d8f0\"\u003e\u003ccode\u003e3325dec\u003c/code\u003e\u003c/a\u003e Apply ruff rule RUF015\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/1dcb273d0febb702ee9fe1a613a19784ad104154\"\u003e\u003ccode\u003e1dcb273\u003c/code\u003e\u003c/a\u003e Apply ruff rule RUF010\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/4b7308f90c711d5079660038b80bf4d55a7e7356\"\u003e\u003ccode\u003e4b7308f\u003c/code\u003e\u003c/a\u003e Enforce ruff/flake8-import-conventions rules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/airspeed-velocity/asv/commit/10d214d69485d07a87c54eae968e5befa015f730\"\u003e\u003ccode\u003e10d214d\u003c/code\u003e\u003c/a\u003e Apply ruff/flake8-import-conventions rule ICN001\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/airspeed-velocity/asv/compare/v0.6.4...v0.6.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `codespell` from 2.2.6 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/codespell-project/codespell/releases\"\u003ecodespell's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed compatibility with chardet 7+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix and clarify cases in ignore patterns by \u003ca href=\"https://github.com/DanielYang59\"\u003e\u003ccode\u003e@​DanielYang59\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3583\"\u003ecodespell-project/codespell#3583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecodespell-private.yml: Do not codespell digital signature files by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3623\"\u003ecodespell-project/codespell#3623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3634\"\u003ecodespell-project/codespell#3634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003enumbes-\u0026gt;numbers and numbesr-\u0026gt;numbers by \u003ca href=\"https://github.com/skshetry\"\u003e\u003ccode\u003e@​skshetry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3635\"\u003ecodespell-project/codespell#3635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd spelling corrections for disclose and variables. by \u003ca href=\"https://github.com/cfi-gb\"\u003e\u003ccode\u003e@​cfi-gb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3622\"\u003ecodespell-project/codespell#3622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd spelling correction for Vulnererability and variants. by \u003ca href=\"https://github.com/cfi-gb\"\u003e\u003ccode\u003e@​cfi-gb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3625\"\u003ecodespell-project/codespell#3625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove lets-\u0026gt;let's by \u003ca href=\"https://github.com/Piedone\"\u003e\u003ccode\u003e@​Piedone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3633\"\u003ecodespell-project/codespell#3633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd corrections for \u0026quot;dictate\u0026quot; by \u003ca href=\"https://github.com/jdufresne\"\u003e\u003ccode\u003e@​jdufresne\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3636\"\u003ecodespell-project/codespell#3636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd specicification (and pl) typo by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3639\"\u003ecodespell-project/codespell#3639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u0026quot;blueish\u0026quot; correction by \u003ca href=\"https://github.com/hadess\"\u003e\u003ccode\u003e@​hadess\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3510\"\u003ecodespell-project/codespell#3510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u0026quot;lighting\u0026quot; as an option to fix \u0026quot;lighning\u0026quot; by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3648\"\u003ecodespell-project/codespell#3648\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert adding \u003ccode\u003elien\u003c/code\u003e to the rare dictionary  by \u003ca href=\"https://github.com/nikolaik\"\u003e\u003ccode\u003e@​nikolaik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3631\"\u003ecodespell-project/codespell#3631\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u0026quot;ane\u0026quot; could have been \u0026quot;one\u0026quot; by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3645\"\u003ecodespell-project/codespell#3645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd spelling correction for \u0026quot;priort\u0026quot; by \u003ca href=\"https://github.com/cfi-gb\"\u003e\u003ccode\u003e@​cfi-gb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3647\"\u003ecodespell-project/codespell#3647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u0026quot;fix\u0026quot; of \u0026quot;deques\u0026quot; - it is quite legit by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3649\"\u003ecodespell-project/codespell#3649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSeveral new suggestions by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3621\"\u003ecodespell-project/codespell#3621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd proposal constraints to containts by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3652\"\u003ecodespell-project/codespell#3652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditions dleay,infp,practive,utiliy by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3643\"\u003ecodespell-project/codespell#3643\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd calncelled and its variations by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3650\"\u003ecodespell-project/codespell#3650\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse raw strings for regex by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3654\"\u003ecodespell-project/codespell#3654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow multiple spaces before codespell:ignore by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3653\"\u003ecodespell-project/codespell#3653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded correction from \u003ccode\u003etimeour\u003c/code\u003e to \u003ccode\u003etimeout\u003c/code\u003e by \u003ca href=\"https://github.com/jamesbraza\"\u003e\u003ccode\u003e@​jamesbraza\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3656\"\u003ecodespell-project/codespell#3656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd typos found in various software projects by \u003ca href=\"https://github.com/luzpaz\"\u003e\u003ccode\u003e@​luzpaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3640\"\u003ecodespell-project/codespell#3640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3659\"\u003ecodespell-project/codespell#3659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd codespell suggestions for enabke and friends by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3657\"\u003ecodespell-project/codespell#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEND: add \u0026quot;queues\u0026quot; (plural from queue) as possible fix for ques by \u003ca href=\"https://github.com/yarikoptic\"\u003e\u003ccode\u003e@​yarikoptic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3591\"\u003ecodespell-project/codespell#3591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eagreegate, lesda, realod, colouer by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3665\"\u003ecodespell-project/codespell#3665\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit version in documentation by \u003ca href=\"https://github.com/prchoward\"\u003e\u003ccode\u003e@​prchoward\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3666\"\u003ecodespell-project/codespell#3666\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: Rename CI file and run name by \u003ca href=\"https://github.com/larsoner\"\u003e\u003ccode\u003e@​larsoner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3667\"\u003ecodespell-project/codespell#3667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epreoccuption-\u0026gt;preoccupation; occuption-\u0026gt;occupation by \u003ca href=\"https://github.com/TheGiraffe3\"\u003e\u003ccode\u003e@​TheGiraffe3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3668\"\u003ecodespell-project/codespell#3668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuggestions for: checkto, diminsion, waitfor by \u003ca href=\"https://github.com/mdeweerd\"\u003e\u003ccode\u003e@​mdeweerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3670\"\u003ecodespell-project/codespell#3670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypos found in sigstore-python by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3664\"\u003ecodespell-project/codespell#3664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eusgin-\u0026gt;using by \u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3672\"\u003ecodespell-project/codespell#3672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd typos found in various software projects by \u003ca href=\"https://github.com/luzpaz\"\u003e\u003ccode\u003e@​luzpaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3669\"\u003ecodespell-project/codespell#3669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd coered -\u0026gt; coerced by \u003ca href=\"https://github.com/effigies\"\u003e\u003ccode\u003e@​effigies\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3680\"\u003ecodespell-project/codespell#3680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebackwward(s)-\u0026gt;backward(s), onwward(s)-\u0026gt;onward(s) by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3682\"\u003ecodespell-project/codespell#3682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3685\"\u003ecodespell-project/codespell#3685\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etelemetery-\u0026gt;telemetry by \u003ca href=\"https://github.com/august-soderberg\"\u003e\u003ccode\u003e@​august-soderberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3686\"\u003ecodespell-project/codespell#3686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd hexedacimal and similar typos by \u003ca href=\"https://github.com/Akuli\"\u003e\u003ccode\u003e@​Akuli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3692\"\u003ecodespell-project/codespell#3692\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd rounted-\u0026gt;routed, rounded and friends by \u003ca href=\"https://github.com/peternewman\"\u003e\u003ccode\u003e@​peternewman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3693\"\u003ecodespell-project/codespell#3693\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd symmectric and similar typos by \u003ca href=\"https://github.com/Akuli\"\u003e\u003ccode\u003e@​Akuli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3694\"\u003ecodespell-project/codespell#3694\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI on Windows: pip upgrade pip by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/codespell-project/codespell/pull/3698\"\u003ecodespell-project/codespell#3698\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/codespell-project/codespell/commit/2ccb47ff45ad361a21071a7eedda4c37e6ae8c5a\"\u003e\u003ccode\u003e2ccb47f\u003c/code\u003e\u003c/a\u003e Compat with chardet 7 (\u003ca href=\"https://redirect.github.com/codespell-project/codespell/issues/3886\"\u003e#3886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/4ec53bf6a3e510c64900d5ee838abd99d49b2910\"\u003e\u003ccode\u003e4ec53bf\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/2a4acba3f282f1b5ccb7ad8b57bc991810663a44\"\u003e\u003ccode\u003e2a4acba\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/codespell-project/codespell/commit/be17cacc96a5ee3f014e048f5962cfdb7145e096\"\u003e\u003ccode\u003ebe17cac\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/04a071280d56148cab14249ccc8d4181c0066b3c\"\u003e\u003ccode\u003e04a0712\u003c/code\u003e\u003c/a\u003e Bump ruff (\u003ca href=\"https://redirect.github.com/codespell-project/codespell/issues/3879\"\u003e#3879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/583d8796d92eb58e15072db03e5b756be45f638a\"\u003e\u003ccode\u003e583d879\u003c/code\u003e\u003c/a\u003e avoide-\u0026gt;avoid, avoided, avoids,\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/1f59f34d7c6d1642fdb325d9dfa49cf9eb5f692a\"\u003e\u003ccode\u003e1f59f34\u003c/code\u003e\u003c/a\u003e Add correction for 'foudation' to 'foundation'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/e047fdafb8620b08a86349014487886bcd9c2205\"\u003e\u003ccode\u003ee047fda\u003c/code\u003e\u003c/a\u003e Add spelling correction for gather and variants.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/b5cd66de14b8f65b0f45fabbe1c89bd69ea60939\"\u003e\u003ccode\u003eb5cd66d\u003c/code\u003e\u003c/a\u003e respondant-\u0026gt;respondent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/codespell-project/codespell/commit/92125a3814fa6e86cd2055385916ce5186d3e5df\"\u003e\u003ccode\u003e92125a3\u003c/code\u003e\u003c/a\u003e Add detection of ivoice and variants.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/codespell-project/codespell/compare/v2.2.6...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.10.1 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\u003ch2\u003eVersion 7.13.4 — 2026-02-09\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the third-party code fix in 7.13.3 required examining the parent\ndirectories where coverage was run. In the unusual situation that one of the\nparent directories is unreadable, a PermissionError would occur, as\ndescribed in \u003ccode\u003eissue 2129\u003c/code\u003e_. This is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: in test suites that change sys.path, coverage.py could fail with\n\u0026quot;RuntimeError: Set changed size during iteration\u0026quot; as described and fixed in\n\u003ccode\u003epull 2130\u003c/code\u003e_. Thanks, Noah Fatsi.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe now publish ppc64le wheels, thanks to \u003ccode\u003ePankhudi Jain \u0026lt;pull 2121_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _pull 2121: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2121\"\u003ecoveragepy/coveragepy#2121\u003c/a\u003e\n.. _issue 2129: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2129\"\u003ecoveragepy/coveragepy#2129\u003c/a\u003e\n.. _pull 2130: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2130\"\u003ecoveragepy/coveragepy#2130\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-3:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.3 — 2026-02-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: in some situations, third-party code was measured when it shouldn't have\nbeen, slowing down test execution. This happened with layered virtual\nenvironments such as uv sometimes makes. The problem is fixed, closing \u003ccode\u003eissue 2082\u003c/code\u003e_. Now any directory on sys.path that is inside a virtualenv is\nconsidered third-party code.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/2a53705f5fe588158b8a8d37ff3beee86388b9e4\"\u003e\u003ccode\u003e2a53705\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group across 1 directory with 4 updates (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/e7c878d201db819416b978150944d9a842d22b18\"\u003e\u003ccode\u003ee7c878d\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/ab4db406a9c35acf977cf3ddb94a78d696b77bc5\"\u003e\u003ccode\u003eab4db40\u003c/code\u003e\u003c/a\u003e build: use --generate-hashes when pinning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a438753eef870441044cef588e29ce4b9a28adf1\"\u003e\u003ccode\u003ea438753\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/7b33457d2c6367dfd5a563239998b3980444e090\"\u003e\u003ccode\u003e7b33457\u003c/code\u003e\u003c/a\u003e refactor: some leftover pyupgrade 3.10 bits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/2ff968db91a7cdafe6f6569ac7659a3a93a2da07\"\u003e\u003ccode\u003e2ff968d\u003c/code\u003e\u003c/a\u003e refactor: this type wasn't used anywhere\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.10.1...7.13.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.17.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.17.0...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-mock` from 3.14.1 to 3.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-mock/releases\"\u003epytest-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.15.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-16\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/529\"\u003e#529\u003c/a\u003e: Fixed \u003ccode\u003eitertools._tee object has no attribute error\u003c/code\u003e -- now \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e must be passed to \u003ccode\u003emocker.spy\u003c/code\u003e to duplicate iterators.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.15.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-04\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 (EOL) is no longer supported.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/pull/524\"\u003e#524\u003c/a\u003e: Added \u003ccode\u003espy_return_iter\u003c/code\u003e to \u003ccode\u003emocker.spy\u003c/code\u003e, which contains a duplicate of the return value of the spied method if it is an \u003ccode\u003eIterator\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/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst\"\u003epytest-mock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.15.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-16\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#529](https://github.com/pytest-dev/pytest-mock/issues/529) \u0026lt;https://github.com/pytest-dev/pytest-mock/issues/529\u0026gt;\u003c/code\u003e_: Fixed \u003ccode\u003eitertools._tee object has no attribute error\u003c/code\u003e -- now \u003ccode\u003eduplicate_iterators=True\u003c/code\u003e must be passed to \u003ccode\u003emocker.spy\u003c/code\u003e to duplicate iterators.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.15.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-04\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 (EOL) is no longer supported.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#524](https://github.com/pytest-dev/pytest-mock/issues/524) \u0026lt;https://github.com/pytest-dev/pytest-mock/pull/524\u0026gt;\u003c/code\u003e_: Added \u003ccode\u003espy_return_iter\u003c/code\u003e to \u003ccode\u003emocker.spy\u003c/code\u003e, which contains a duplicate of the return value of the spied method if it is an \u003ccode\u003eIterator\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/pytest-dev/pytest-mock/commit/e1b5c62a38c5a05cae614aef3847f240ba50d269\"\u003e\u003ccode\u003ee1b5c62\u003c/code\u003e\u003c/a\u003e Release 3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/184eb190d6be417f5f33727bcbc9704909479498\"\u003e\u003ccode\u003e184eb19\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003espy_return_iter\u003c/code\u003e only when explicitly requested (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/4fa0088a0aa85eefb1313bd97adf43889bf1f647\"\u003e\u003ccode\u003e4fa0088\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/536\"\u003e#536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/f5aff33ce71ed4620acc43dc41cb3b198bcf4cb0\"\u003e\u003ccode\u003ef5aff33\u003c/code\u003e\u003c/a\u003e Fix test failure with pytest 8+ and verbose mode (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/535\"\u003e#535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/adc41873c9d6aa69b87e3f108c93a29c847869aa\"\u003e\u003ccode\u003eadc4187\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/95ad5700609aae73c6f767b8cc2ccfb2483e0f5c\"\u003e\u003ccode\u003e95ad570\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/532\"\u003e#532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/e696bf02c199b1f7d0c48adb450f40e5a75b699a\"\u003e\u003ccode\u003ee696bf0\u003c/code\u003e\u003c/a\u003e Fix standalone mock support (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/531\"\u003e#531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/5b29b03ce9581cfcd867dd6c04a970fb2c861291\"\u003e\u003ccode\u003e5b29b03\u003c/code\u003e\u003c/a\u003e Fix gen-release-notes script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/7d22ef4e560351832e60687d8bd15ebe2785ff3b\"\u003e\u003ccode\u003e7d22ef4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-mock/issues/528\"\u003e#528\u003c/a\u003e from pytest-dev/release-3.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-mock/commit/90b29f89e2086c139a7b4fea89202faa192ee5a9\"\u003e\u003ccode\u003e90b29f8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 3.15.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-mock/compare/v3.14.1...v3.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.39.15 to 1.42.74\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/efb76df8dc38a5bf5211094547ab7671760bf34f\"\u003e\u003ccode\u003eefb76df\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.74'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/8d8ff13febb16f2539043581fb59568cee7463f8\"\u003e\u003ccode\u003e8d8ff13\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.74\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/56e766922154a5fd62349fe8c0211834728bdda8\"\u003e\u003ccode\u003e56e7669\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/3a06d635c79baf1597439dde9244d3f28f6b6eb2\"\u003e\u003ccode\u003e3a06d63\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.73'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/04dfc51bfc4d6288ad581aa7dc8677e67bd0f762\"\u003e\u003ccode\u003e04dfc51\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.73' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ca7b0438074715c38ede4b8c0ab4401700bddf70\"\u003e\u003ccode\u003eca7b043\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.73\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ef6697c5aad3cbbe962fb63c9335db0e0a705480\"\u003e\u003ccode\u003eef6697c\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/3c02c15e37930f95537d5b173c0ffc19b1201b16\"\u003e\u003ccode\u003e3c02c15\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.72'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b7e01e94ab81d564b365e55b0a60c3c5d1e889ab\"\u003e\u003ccode\u003eb7e01e9\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.72' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fcc3fe3ff503eecbbd713678771e02654eb27c9a\"\u003e\u003ccode\u003efcc3fe3\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.72\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.39.15...1.42.74\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jupyterlab` from 4.5.1 to 4.5.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyterlab/jupyterlab/releases\"\u003ejupyterlab's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.5.6\u003c/h2\u003e\n\u003ch2\u003e4.5.6\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyterlab/jupyterlab/compare/v4.5.5...a6dda8829b2d6b670de634081d26c1a39be145c4\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace scrollback implementation with scroll anchoring outside of \u003ccode\u003efull\u003c/code\u003e windowing mode \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18522\"\u003e#18522\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHarmonize translation wrappers in Python files to use \u003ccode\u003egettext\u003c/code\u003e methods \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18597\"\u003e#18597\u003c/a\u003e (\u003ca href=\"https://github.com/tmetzl\"\u003e\u003ccode\u003e@​tmetzl\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unimplemented \u003ccode\u003efilebrowser:search\u003c/code\u003e command \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18593\"\u003e#18593\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix status bar focus outlines \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18585\"\u003e#18585\u003c/a\u003e (\u003ca href=\"https://github.com/IsabelParedes\"\u003e\u003ccode\u003e@​IsabelParedes\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efilebrowser:create-new-file\u003c/code\u003e context menu selector \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18588\"\u003e#18588\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix single-character code blocks rendering as empty \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18572\"\u003e#18572\u003c/a\u003e (\u003ca href=\"https://github.com/soniya-malviy\"\u003e\u003ccode\u003e@​soniya-malviy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003ecode\u003c/code\u003e input in \u003ccode\u003eCodeConsole\u003c/code\u003e when configured \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18554\"\u003e#18554\u003c/a\u003e (\u003ca href=\"https://github.com/agriyakhetarpal\"\u003e\u003ccode\u003e@​agriyakhetarpal\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\u003eUpdate benchmark snapshots even if base snapshots require changes \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18549\"\u003e#18549\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/jupyterlab/jupyterlab/graphs/contributors?from=2026-02-23\u0026amp;to=2026-03-11\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/agriyakhetarpal\"\u003e\u003ccode\u003e@​agriyakhetarpal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aagriyakhetarpal+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/IsabelParedes\"\u003e\u003ccode\u003e@​IsabelParedes\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AIsabelParedes+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajtpio+updated%3A2026-02-23..2026-03-11\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%3Ajupyterlab%2Fjupyterlab+involves%3Akrassowski+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/soniya-malviy\"\u003e\u003ccode\u003e@​soniya-malviy\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Asoniya-malviy+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/tmetzl\"\u003e\u003ccode\u003e@​tmetzl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Atmetzl+updated%3A2026-02-23..2026-03-11\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003ev4.5.5\u003c/h2\u003e\n\u003ch2\u003e4.5.5\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyterlab/jupyterlab/compare/v4.5.4...4a223c0dbe53f47f03cdff3573fd7e9ccbb2605b\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix theme settings broken in non-English locales \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18530\"\u003e#18530\u003c/a\u003e (\u003ca href=\"https://github.com/apoorvdarshan\"\u003e\u003ccode\u003e@​apoorvdarshan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix comms subshell resource management on disposal and when changing settings \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18531\"\u003e#18531\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003e@codemirror/view\u003c/code\u003e, fixing slow selection when line wrapping is enabled \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18479\"\u003e#18479\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly turn off overflow anchor when windowing is active \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18503\"\u003e#18503\u003c/a\u003e (\u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix table of contents navigation for Markdown files \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18411\"\u003e#18411\u003c/a\u003e (\u003ca href=\"https://github...\n\n_Description has been truncated_","html_url":"https://github.com/stac-utils/pystac/pull/1683","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/stac-utils%2Fpystac/issues/1683","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1683/packages"}},{"old_version":"3.10.16","new_version":"3.11.6","update_type":"minor","path":"/python/sklearnserver","pr_created_at":"2026-04-02T17:05:31.000Z","version_change":"3.10.16 → 3.11.6","issue":{"uuid":"4195855069","node_id":"PR_kwDOJqAGgc7PnkLX","number":1350,"state":"open","title":"build(deps): bump orjson from 3.10.16 to 3.11.6 in /python/sklearnserver","user":"dependabot[bot]","labels":["needs-ok-to-test","dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-02T17:05:31.000Z","updated_at":"2026-04-02T17:05:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"orjson","old_version":"3.10.16","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"}],"path":"/python/sklearnserver","ecosystem":"pip"},"body":"Bumps [orjson](https://github.com/ijl/orjson) from 3.10.16 to 3.11.6.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6 - 2026-01-29\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2 - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ec02024c3837255064f248c0d2d331319b75e9ad\"\u003e\u003ccode\u003eec02024\u003c/code\u003e\u003c/a\u003e 3.11.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d58168733189f82b3fd0c058dff73e05d09202e6\"\u003e\u003ccode\u003ed581687\u003c/code\u003e\u003c/a\u003e build, clippy misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4105b29b2275f200f6fae01349bef02ccf1bc2e2\"\u003e\u003ccode\u003e4105b29\u003c/code\u003e\u003c/a\u003e writer::num\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/62bb185b70785ded49c79c26f8c9781f1e6fe370\"\u003e\u003ccode\u003e62bb185\u003c/code\u003e\u003c/a\u003e Fix sporadic crash on serializing object close\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d860078a973f44401265c5c4ad12a7dbe4f839ad\"\u003e\u003ccode\u003ed860078\u003c/code\u003e\u003c/a\u003e PyRef idiom refactors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/343ae2f148197918aba9f8562db42c364620e4b8\"\u003e\u003ccode\u003e343ae2f\u003c/code\u003e\u003c/a\u003e Deserializer, Utf8Buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/7835f58d1c56947d1cf7a18acdfc07a2bca9b0f2\"\u003e\u003ccode\u003e7835f58\u003c/code\u003e\u003c/a\u003e PyBytesRef and other input refactor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/71e0516424ce1e11613eb1780f18e8cde83989fd\"\u003e\u003ccode\u003e71e0516\u003c/code\u003e\u003c/a\u003e PyStrRef\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1096df42dc585fde837ed0c930a346f5ef7dbb94\"\u003e\u003ccode\u003e1096df4\u003c/code\u003e\u003c/a\u003e MSRV 1.89\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/b718e75b8ba18a707c2b44b6de14d52547573771\"\u003e\u003ccode\u003eb718e75\u003c/code\u003e\u003c/a\u003e Drop support for python3.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.16...3.11.6\"\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=orjson\u0026package-manager=uv\u0026previous-version=3.10.16\u0026new-version=3.11.6)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/opendatahub-io/kserve/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/opendatahub-io/kserve/pull/1350","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/opendatahub-io%2Fkserve/issues/1350","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1350/packages"}},{"old_version":"3.10.13","new_version":"3.11.8","update_type":"minor","path":"/apps/api","pr_created_at":"2026-04-01T22:38:25.000Z","version_change":"3.10.13 → 3.11.8","issue":{"uuid":"4190312214","node_id":"PR_kwDORrihus7PZf9N","number":43,"state":"open","title":"chore(deps): bump orjson from 3.10.13 to 3.11.8 in /apps/api","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-01T22:38:25.000Z","updated_at":"2026-04-01T22:38:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"orjson","old_version":"3.10.13","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"}],"path":"/apps/api","ecosystem":"pip"},"body":"Bumps [orjson](https://github.com/ijl/orjson) from 3.10.13 to 3.11.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.7\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a faster library to serialize \u003ccode\u003efloat\u003c/code\u003e. Users with byte-exact regression\ntests should note positive exponents are now written using a \u003ccode\u003e+\u003c/code\u003e, e.g.,\n\u003ccode\u003e1.2e+30\u003c/code\u003e instead of \u003ccode\u003e1.2e30\u003c/code\u003e. Both formats are spec-compliant.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5 free-threading.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.6\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8 - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.7 - 2026-02-02\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a faster library to serialize \u003ccode\u003efloat\u003c/code\u003e. Users with byte-exact regression\ntests should note positive exponents are now written using a \u003ccode\u003e+\u003c/code\u003e, e.g.,\n\u003ccode\u003e1.2e+30\u003c/code\u003e instead of \u003ccode\u003e1.2e30\u003c/code\u003e. Both formats are spec-compliant.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5 free-threading.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.6 - 2026-01-29\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\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/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78\"\u003e\u003ccode\u003e5cbb3d0\u003c/code\u003e\u003c/a\u003e 3.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e\"\u003e\u003ccode\u003e4195d7f\u003c/code\u003e\u003c/a\u003e writer::half\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b\"\u003e\u003ccode\u003ed00641b\u003c/code\u003e\u003c/a\u003e writer::uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84\"\u003e\u003ccode\u003ec84d9b4\u003c/code\u003e\u003c/a\u003e build and compatibility misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43\"\u003e\u003ccode\u003e4547234\u003c/code\u003e\u003c/a\u003e ffi::numpy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb\"\u003e\u003ccode\u003e0d4a5ad\u003c/code\u003e\u003c/a\u003e datetime PyRef idiom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85\"\u003e\u003ccode\u003ee93a13d\u003c/code\u003e\u003c/a\u003e Cross-compile avoids maturin v1.12 build-details.json error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ec2b066cae79ae4a90ed126ac5723335dd99e408\"\u003e\u003ccode\u003eec2b066\u003c/code\u003e\u003c/a\u003e 3.11.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1ca01f78cf4198ec37407d83713afa6e5c53dbf9\"\u003e\u003ccode\u003e1ca01f7\u003c/code\u003e\u003c/a\u003e zmij\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1716a226bd1f38db01503f30cd37b0efec48d88e\"\u003e\u003ccode\u003e1716a22\u003c/code\u003e\u003c/a\u003e cargo update\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.13...3.11.8\"\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=orjson\u0026package-manager=pip\u0026previous-version=3.10.13\u0026new-version=3.11.8)](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/0nde/petrole3/pull/43","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/0nde%2Fpetrole3/issues/43","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/43/packages"}},{"old_version":"3.11.7","new_version":"3.11.8","update_type":"patch","path":null,"pr_created_at":"2026-04-01T22:07:40.000Z","version_change":"3.11.7 → 3.11.8","issue":{"uuid":"4190170633","node_id":"PR_kwDOQJdjYc7PZJPw","number":278,"state":"open","title":"chore(deps): bump orjson from 3.11.7 to 3.11.8","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-01T22:07:40.000Z","updated_at":"2026-04-01T22:07:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"orjson","old_version":"3.11.7","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"}],"path":null,"ecosystem":"pip"},"body":"Bumps [orjson](https://github.com/ijl/orjson) from 3.11.7 to 3.11.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8 - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78\"\u003e\u003ccode\u003e5cbb3d0\u003c/code\u003e\u003c/a\u003e 3.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e\"\u003e\u003ccode\u003e4195d7f\u003c/code\u003e\u003c/a\u003e writer::half\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b\"\u003e\u003ccode\u003ed00641b\u003c/code\u003e\u003c/a\u003e writer::uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84\"\u003e\u003ccode\u003ec84d9b4\u003c/code\u003e\u003c/a\u003e build and compatibility misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43\"\u003e\u003ccode\u003e4547234\u003c/code\u003e\u003c/a\u003e ffi::numpy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb\"\u003e\u003ccode\u003e0d4a5ad\u003c/code\u003e\u003c/a\u003e datetime PyRef idiom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85\"\u003e\u003ccode\u003ee93a13d\u003c/code\u003e\u003c/a\u003e Cross-compile avoids maturin v1.12 build-details.json error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.7...3.11.8\"\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=orjson\u0026package-manager=pip\u0026previous-version=3.11.7\u0026new-version=3.11.8)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/fil04331/FilAgent/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/fil04331/FilAgent/pull/278","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/fil04331%2FFilAgent/issues/278","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/278/packages"}},{"old_version":"3.11.7","new_version":"3.11.8","update_type":"patch","path":null,"pr_created_at":"2026-04-01T06:34:49.000Z","version_change":"3.11.7 → 3.11.8","issue":{"uuid":"4184502995","node_id":"PR_kwDOKFU0lc7PKGmD","number":7377,"state":"open","title":"chore(deps): bump the minor-and-patch group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies","python:uv","internal"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-01T06:34:49.000Z","updated_at":"2026-04-04T03:30:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"minor-and-patch","update_count":4,"packages":[{"name":"orjson","old_version":"3.11.7","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"},{"name":"ruff","old_version":"0.15.6","new_version":"0.15.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"mypy","old_version":"1.19.1","new_version":"1.20.0","repository_url":"https://github.com/python/mypy"},{"name":"ty","old_version":"0.0.23","new_version":"0.0.27","repository_url":"https://github.com/astral-sh/ty"}],"path":null,"ecosystem":"pip"},"body":"Bumps the minor-and-patch group with 4 updates in the /libs/sdk-py directory: [orjson](https://github.com/ijl/orjson), [ruff](https://github.com/astral-sh/ruff), [mypy](https://github.com/python/mypy) and [ty](https://github.com/astral-sh/ty).\n\nUpdates `orjson` from 3.11.7 to 3.11.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8 - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78\"\u003e\u003ccode\u003e5cbb3d0\u003c/code\u003e\u003c/a\u003e 3.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e\"\u003e\u003ccode\u003e4195d7f\u003c/code\u003e\u003c/a\u003e writer::half\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b\"\u003e\u003ccode\u003ed00641b\u003c/code\u003e\u003c/a\u003e writer::uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84\"\u003e\u003ccode\u003ec84d9b4\u003c/code\u003e\u003c/a\u003e build and compatibility misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43\"\u003e\u003ccode\u003e4547234\u003c/code\u003e\u003c/a\u003e ffi::numpy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb\"\u003e\u003ccode\u003e0d4a5ad\u003c/code\u003e\u003c/a\u003e datetime PyRef idiom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85\"\u003e\u003ccode\u003ee93a13d\u003c/code\u003e\u003c/a\u003e Cross-compile avoids maturin v1.12 build-details.json error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.7...3.11.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.6 to 0.15.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c2a8815842f9dc5d24ec19385eae0f1a7188b0d9\"\u003e\u003ccode\u003ec2a8815\u003c/code\u003e\u003c/a\u003e Release 0.15.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24217\"\u003e#24217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d444d52e2b9cc8bc9a078c2bd4ff6ff993290209\"\u003e\u003ccode\u003ed444d52\u003c/code\u003e\u003c/a\u003e [ty] Infer lambda expressions with \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22633\"\u003e#22633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9622285ed0081fc688149f6efca87f127d9b18dd\"\u003e\u003ccode\u003e9622285\u003c/code\u003e\u003c/a\u003e [ty] Autocomplete arguments if in arguments node (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24167\"\u003e#24167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d81266252aaf0820346d55edbed79c4f25ba13d2\"\u003e\u003ccode\u003ed812662\u003c/code\u003e\u003c/a\u003e Use the \u003ccode\u003erelease\u003c/code\u003e environment in \u003ccode\u003epublish-docs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24214\"\u003e#24214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/eda2355832f7a9c58aef6febd3e061dc9c87509a\"\u003e\u003ccode\u003eeda2355\u003c/code\u003e\u003c/a\u003e [ty] Show \u003ccode\u003eFinal\u003c/code\u003e source in final assignment diagnostic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24194\"\u003e#24194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/929eb5238c82bfadad4549ff526f02efc0163dd0\"\u003e\u003ccode\u003e929eb52\u003c/code\u003e\u003c/a\u003e [ty] Enforce Final attribute assignment rules for annotated and augmented wri...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/34998be22ec3a77d398bbd55234ef8740f768329\"\u003e\u003ccode\u003e34998be\u003c/code\u003e\u003c/a\u003e [ty] Fix typo in comment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24211\"\u003e#24211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/560aca0b2828ee2ff1b4bcc5c5ef1ef4ced229d2\"\u003e\u003ccode\u003e560aca0\u003c/code\u003e\u003c/a\u003e [ty] Minor simplifications to some benchmark code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24209\"\u003e#24209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/683bae512d03d3727a7bcdbc5a0170dafa049583\"\u003e\u003ccode\u003e683bae5\u003c/code\u003e\u003c/a\u003e [ty] Track non-terminal-call constraints in global scope (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23245\"\u003e#23245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4704c2a4ff3dde2fd29324346720e9516b4fe387\"\u003e\u003ccode\u003e4704c2a\u003c/code\u003e\u003c/a\u003e [ty] Remove unnecessary intermediate collection in `StaticClassLiteral::field...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.6...0.15.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.19.1 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch2\u003eMypy 1.20\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.20.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePlanned Changes to Defaults and Flags in Mypy 2.0\u003c/h3\u003e\n\u003cp\u003eAs a reminder, we are planning to enable \u003ccode\u003e--local-partial-types\u003c/code\u003e by default in mypy 2.0, which\nwill likely be the next feature release. This will often require at least minor code changes. This\noption is implicitly enabled by mypy daemon, so this makes the behavior of daemon and non-daemon\nmodes consistent.\u003c/p\u003e\n\u003cp\u003eNote that this release improves the compatibility of \u003ccode\u003e--local-partial-types\u003c/code\u003e significantly to\nmake the switch easier (see below for more).\u003c/p\u003e\n\u003cp\u003eThis can also be configured in a mypy configuration file (use \u003ccode\u003eFalse\u003c/code\u003e to disable):\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003elocal_partial_types = True\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eFor more information, refer to the\n\u003ca href=\"https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-local-partial-types\"\u003edocumentation\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe will also enable \u003ccode\u003e--strict-bytes\u003c/code\u003e by default in mypy 2.0. This usually requires at most\nminor code changes to adopt. For more information, refer to the\n\u003ca href=\"https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-strict-bytes\"\u003edocumentation\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eFinally, \u003ccode\u003e--allow-redefinition-new\u003c/code\u003e will be renamed to \u003ccode\u003e--allow-redefinition\u003c/code\u003e. If you want\nto continue using the older \u003ccode\u003e--allow-redefinition\u003c/code\u003e semantics which are less flexible (e.g.\nlimited support for conditional redefinitions), you can switch to \u003ccode\u003e--allow-redefinition-old\u003c/code\u003e,\nwhich is currently supported as an alias to the legacy \u003ccode\u003e--allow-redefinition\u003c/code\u003e behavior.\nTo use \u003ccode\u003e--allow-redefinition\u003c/code\u003e in the upcoming mypy 2.0, you can't use \u003ccode\u003e--no-local-partial-types\u003c/code\u003e.\nFor more information, refer to the\n\u003ca href=\"https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-allow-redefinition-new\"\u003edocumentation\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eBetter Type Narrowing\u003c/h3\u003e\n\u003cp\u003eMypy's implementation of narrowing has been substantially reworked. Mypy will now narrow more\naggressively, more consistently, and more correctly. In particular, you are likely to notice new\nnarrowing behavior in equality expressions (\u003ccode\u003e==\u003c/code\u003e), containment expressions (\u003ccode\u003ein\u003c/code\u003e),\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/770d3ca4997032dc3a1c4f0b468e9f58e8f38505\"\u003e\u003ccode\u003e770d3ca\u003c/code\u003e\u003c/a\u003e Remove +dev from version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/4738ffafc56a0d175cba06e893ffa62e756fc7e0\"\u003e\u003ccode\u003e4738ffa\u003c/code\u003e\u003c/a\u003e Changelog updates for 1.20 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21109\"\u003e#21109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b4f07a717c3a239a9c77808c5550fff5f2638c96\"\u003e\u003ccode\u003eb4f07a7\u003c/code\u003e\u003c/a\u003e Use 'native-parser' instead of 'native-parse' for optional dependency (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21115\"\u003e#21115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/7bec7b7f791790b1c925cdcc573ced564fbbf065\"\u003e\u003ccode\u003e7bec7b7\u003c/code\u003e\u003c/a\u003e [mypyc] Document librt and librt.base64 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21114\"\u003e#21114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c4825969450385cf3eb91a4fc02f273b369bc301\"\u003e\u003ccode\u003ec482596\u003c/code\u003e\u003c/a\u003e --allow-redefinition-new is no longer experimental (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21110\"\u003e#21110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c916ca3fa79d9324dcbe130b18e24e2b5e2d1eb5\"\u003e\u003ccode\u003ec916ca3\u003c/code\u003e\u003c/a\u003e sdist: include \u003ccode\u003emisc/{diff-cache,apply-cache-diff}.py\u003c/code\u003e for `mypy/test/test_di...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b137e4ed41d6178f6dbd0e609db56b8c1ad5384a\"\u003e\u003ccode\u003eb137e4e\u003c/code\u003e\u003c/a\u003e [mypyc] Speed up native-to-native imports within the same group (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21101\"\u003e#21101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/978b711c21adadf5dae4db80127ddf270d79af5f\"\u003e\u003ccode\u003e978b711\u003c/code\u003e\u003c/a\u003e [mypyc] Fix range loop variable off-by-one after loop exit (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21098\"\u003e#21098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/67ada30918d1a32e1935e9ac468113e0aa002b79\"\u003e\u003ccode\u003e67ada30\u003c/code\u003e\u003c/a\u003e [stubtest] Check runtime availability of private types not marked `@type_chec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/bdef6ef8734af07cab1bf0acadc1d8ab9add93c3\"\u003e\u003ccode\u003ebdef6ef\u003c/code\u003e\u003c/a\u003e librt cache tests: build respecting MYPY_TEST_PREFIX (\u003ca href=\"https://redirect.github.com/python/mypy/issues/21097\"\u003e#21097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.19.1...v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.23 to 0.0.27\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.27\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-31.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix panic on debug builds when attempting to provide autocomplete suggestions for \u003ccode\u003elist[int]\u0026lt;CURSOR\u0026gt;()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24167\"\u003e#24167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix instance-attribute lookup in methods of protocol classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24213\"\u003e#24213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix nested global and nonlocal lookups through forwarding scopes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24279\"\u003e#24279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic on \u003ccode\u003elist[Annotated[()]]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24303\"\u003e#24303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow on \u003ccode\u003etype A = TypeIs[Callable[[], A]]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24245\"\u003e#24245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003e_cls\u003c/code\u003e as the name of the first argument for synthesized \u003ccode\u003ecollections.namedtuple\u003c/code\u003e constructor methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24333\"\u003e#24333\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix semantic token classification for properties accessed on instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24065\"\u003e#24065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGrey out unused bindings in the editor (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23305\"\u003e#23305\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd bidirectional type context for TypedDict \u003ccode\u003eget()\u003c/code\u003e defaults (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24231\"\u003e#24231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd bidirectional type context for TypedDict \u003ccode\u003epop()\u003c/code\u003e defaults (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24229\"\u003e#24229\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for functional TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24174\"\u003e#24174\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24331\"\u003e#24331\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24295\"\u003e#24295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBan type qualifiers in PEP-695 type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24242\"\u003e#24242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnforce \u003ccode\u003eFinal\u003c/code\u003e attribute assignment rules for annotated and augmented writes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23880\"\u003e#23880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove support for \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23888\"\u003e#23888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer lambda expressions with \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22633\"\u003e#22633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't incorrectly infer the type of a method as being a singleton type when it's accessed off an instance (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24039\"\u003e#24039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePropagate type context through \u003ccode\u003eawait\u003c/code\u003e expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24256\"\u003e#24256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve union-likes in emitting union attribute errors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24263\"\u003e#24263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShow the user where the variable was declared as \u003ccode\u003eFinal\u003c/code\u003e when emitting a diagnostic about a \u003ccode\u003eFinal\u003c/code\u003e variable being reassigned (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24194\"\u003e#24194\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/carljm\"\u003e\u003ccode\u003e@​carljm\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\u003cli\u003e\u003ca href=\"https://github.com/oconnor663\"\u003e\u003ccode\u003e@​oconnor663\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zanieb\"\u003e\u003ccode\u003e@​zanieb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Glyphack\"\u003e\u003ccode\u003e@​Glyphack\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.27\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.27\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-31.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix panic on debug builds when attempting to provide autocomplete suggestions for \u003ccode\u003elist[int]\u0026lt;CURSOR\u0026gt;()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24167\"\u003e#24167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix instance-attribute lookup in methods of protocol classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24213\"\u003e#24213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix nested global and nonlocal lookups through forwarding scopes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24279\"\u003e#24279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic on \u003ccode\u003elist[Annotated[()]]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24303\"\u003e#24303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow on \u003ccode\u003etype A = TypeIs[Callable[[], A]]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24245\"\u003e#24245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003e_cls\u003c/code\u003e as the name of the first argument for synthesized \u003ccode\u003ecollections.namedtuple\u003c/code\u003e constructor methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24333\"\u003e#24333\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix semantic token classification for properties accessed on instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24065\"\u003e#24065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGrey out unused bindings in the editor (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23305\"\u003e#23305\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd bidirectional type context for TypedDict \u003ccode\u003eget()\u003c/code\u003e defaults (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24231\"\u003e#24231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd bidirectional type context for TypedDict \u003ccode\u003epop()\u003c/code\u003e defaults (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24229\"\u003e#24229\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for functional TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24174\"\u003e#24174\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24331\"\u003e#24331\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24295\"\u003e#24295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBan type qualifiers in PEP-695 type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24242\"\u003e#24242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnforce \u003ccode\u003eFinal\u003c/code\u003e attribute assignment rules for annotated and augmented writes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23880\"\u003e#23880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove support for \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23888\"\u003e#23888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer lambda expressions with \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22633\"\u003e#22633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't incorrectly infer the type of a method as being a singleton type when it's accessed off an instance (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24039\"\u003e#24039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePropagate type context through \u003ccode\u003eawait\u003c/code\u003e expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24256\"\u003e#24256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve union-likes in emitting union attribute errors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24263\"\u003e#24263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShow the user where the variable was declared as \u003ccode\u003eFinal\u003c/code\u003e when emitting a diagnostic about a \u003ccode\u003eFinal\u003c/code\u003e variable being reassigned (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24194\"\u003e#24194\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/carljm\"\u003e\u003ccode\u003e@​carljm\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\u003cli\u003e\u003ca href=\"https://github.com/oconnor663\"\u003e\u003ccode\u003e@​oconnor663\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zanieb\"\u003e\u003ccode\u003e@​zanieb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Glyphack\"\u003e\u003ccode\u003e@​Glyphack\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.26\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5c9e342c2ea67a0ac8749d32296dd3071974927a\"\u003e\u003ccode\u003e5c9e342\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.27 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3185\"\u003e#3185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/e6a57315251f37ab3516cb614f891ece91595393\"\u003e\u003ccode\u003ee6a5731\u003c/code\u003e\u003c/a\u003e Update actions/cache action to v5.0.4 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3172\"\u003e#3172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/c47b982b86bb599d016af1d235174391f618ff16\"\u003e\u003ccode\u003ec47b982\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3173\"\u003e#3173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/657abcfc82221440481f9c9b76c6b6a3b89d5d00\"\u003e\u003ccode\u003e657abcf\u003c/code\u003e\u003c/a\u003e Update astral-sh/setup-uv action to v8 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3174\"\u003e#3174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/9e582cb48e9c2306073091d554c04853091d612b\"\u003e\u003ccode\u003e9e582cb\u003c/code\u003e\u003c/a\u003e Fetch the cargo-dist binary directly instead of using the installer (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/d5c51ea65be68cffcfa1afe204e5f6003fc06b02\"\u003e\u003ccode\u003ed5c51ea\u003c/code\u003e\u003c/a\u003e docs: use content tabs (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3146\"\u003e#3146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/9893776cbd744bec84a43463728ab3813b00968f\"\u003e\u003ccode\u003e9893776\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/ty/issues/3147\"\u003e#3147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/94030512727f4320e8184f120c4330ed8f42ec6f\"\u003e\u003ccode\u003e9403051\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.26 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/d60899a14f6fe368e477c17f4205483aebdf84a8\"\u003e\u003ccode\u003ed60899a\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.25 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3125\"\u003e#3125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/db65b3e118a705be2694032fd2df613ea11565f1\"\u003e\u003ccode\u003edb65b3e\u003c/code\u003e\u003c/a\u003e Update documentation to reflect \u003ccode\u003etype:ignore\u003c/code\u003e changes (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3121\"\u003e#3121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.23...0.0.27\"\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/langchain-ai/langgraph/pull/7377","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/langchain-ai%2Flanggraph/issues/7377","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7377/packages"}},{"old_version":"3.9.15","new_version":"3.11.6","update_type":"minor","path":null,"pr_created_at":"2026-04-01T00:50:08.000Z","version_change":"3.9.15 → 3.11.6","issue":{"uuid":"4183262804","node_id":"PR_kwDOQp2jac7PG05r","number":8,"state":"closed","title":"Bump the uv group across 10 directories with 16 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-01T00:52:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-01T00:50:08.000Z","updated_at":"2026-04-01T00:52:14.000Z","time_to_close":125,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"uv","update_count":16,"packages":[{"name":"requests","old_version":"2.32.5","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"mlflow","old_version":"2.22.0","new_version":"3.9.0rc0","repository_url":"https://github.com/mlflow/mlflow"},{"name":"flask","old_version":"2.1.3","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"pyasn1","old_version":"0.5.1","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"tornado","old_version":"6.5.2","new_version":"6.5.5","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"werkzeug","old_version":"2.3.8","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"black","old_version":"22.10.0","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"44.0.3","new_version":"46.0.6","repository_url":"https://github.com/pyca/cryptography"},{"name":"ecdsa","old_version":"0.18.0","new_version":"0.19.2","repository_url":"https://github.com/tlsfuzzer/python-ecdsa"},{"name":"memray","old_version":"1.19.1","new_version":"1.19.2","repository_url":"https://github.com/bloomberg/memray"},{"name":"onnx","old_version":"1.15.0","new_version":"1.21.0rc1","repository_url":"https://github.com/onnx/onnx"},{"name":"orjson","old_version":"3.9.15","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"},{"name":"pyopenssl","old_version":"25.0.0","new_version":"26.0.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"ujson","old_version":"5.10.0","new_version":"5.12.0","repository_url":"https://github.com/ultrajson/ultrajson"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv group with 1 update in the /ci/raydepsets/tests/test_data directory: [requests](https://github.com/psf/requests).\nBumps the uv group with 1 update in the /doc directory: [requests](https://github.com/psf/requests).\nBumps the uv group with 1 update in the /doc/source/ray-overview/examples/e2e-xgboost directory: [mlflow](https://github.com/mlflow/mlflow).\nBumps the uv group with 2 updates in the /doc/source/ray-overview/examples/multi_agent_a2a/content directory: [langgraph](https://github.com/langchain-ai/langgraph) and [mcp](https://github.com/modelcontextprotocol/python-sdk).\nBumps the uv group with 14 updates in the /python directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.32.5` | `2.33.0` |\n| [mlflow](https://github.com/mlflow/mlflow) | `2.22.0` | `3.9.0rc0` |\n| [flask](https://github.com/pallets/flask) | `2.1.3` | `3.1.3` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.5.1` | `0.6.3` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.2` | `6.5.5` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.3.8` | `3.1.6` |\n| [black](https://github.com/psf/black) | `22.10.0` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.3` | `46.0.6` |\n| [ecdsa](https://github.com/tlsfuzzer/python-ecdsa) | `0.18.0` | `0.19.2` |\n| [memray](https://github.com/bloomberg/memray) | `1.19.1` | `1.19.2` |\n| [onnx](https://github.com/onnx/onnx) | `1.15.0` | `1.21.0rc1` |\n| [orjson](https://github.com/ijl/orjson) | `3.9.15` | `3.11.6` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `25.0.0` | `26.0.0` |\n| [ujson](https://github.com/ultrajson/ultrajson) | `5.10.0` | `5.12.0` |\n\nBumps the uv group with 1 update in the /python/ray/tune directory: [black](https://github.com/psf/black).\nBumps the uv group with 4 updates in the /python/requirements directory: [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug), [black](https://github.com/psf/black) and [onnx](https://github.com/onnx/onnx).\nBumps the uv group with 1 update in the /python/requirements/ml directory: [onnx](https://github.com/onnx/onnx).\nBumps the uv group with 2 updates in the /release directory: [pyasn1](https://github.com/pyasn1/pyasn1) and [cryptography](https://github.com/pyca/cryptography).\nBumps the uv group with 5 updates in the /release/ray_release/byod directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [mlflow](https://github.com/mlflow/mlflow) | `3.1.4` | `3.9.0rc0` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.4` | `6.5.5` |\n| [black](https://github.com/psf/black) | `22.10.0` | `26.3.1` |\n| [onnx](https://github.com/onnx/onnx) | `1.15.0` | `1.21.0rc1` |\n| [ujson](https://github.com/ultrajson/ultrajson) | `5.10.0` | `5.12.0` |\n\n\nUpdates `requests` from 2.32.3 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.5 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow` from 2.19.0 to 3.1.4\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.1.4\u003c/h2\u003e\n\u003cp\u003eMLflow 3.1.4 includes several major features and improvements\u003c/p\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16835\"\u003e#16835\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16820\"\u003e#16820\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1.3\u003c/h2\u003e\n\u003cp\u003eMLflow 3.1.3 includes several features and improvements\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Artifacts / Tracking] Do not copy file permissions when logging artifacts to local artifact repo (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16642\"\u003e#16642\u003c/a\u003e, \u003ca href=\"https://github.com/connortann\"\u003e\u003ccode\u003e@​connortann\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add support for OpenAI ChatCompletions parse method (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16493\"\u003e#16493\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\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[Deployments] Propagate \u003ccode\u003eMLFLOW_DEPLOYMENT_PREDICT_TIMEOUT\u003c/code\u003e to databricks-sdk (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16783\"\u003e#16783\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix issue with search_registered_models with Databricks UC backend not supporting filter_string (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16766\"\u003e#16766\u003c/a\u003e, \u003ca href=\"https://github.com/BenWilson2\"\u003e\u003ccode\u003e@​BenWilson2\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Bug fix: Databricks GenAI evaluation dataset source returns string, instead of DatasetSource instance (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16712\"\u003e#16712\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 the position of added tracking_uri param to artifact store implementations (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16653\"\u003e#16653\u003c/a\u003e, \u003ca href=\"https://github.com/BenWilson2\"\u003e\u003ccode\u003e@​BenWilson2\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/16786\"\u003e#16786\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16692\"\u003e#16692\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/16594\"\u003e#16594\u003c/a\u003e, \u003ca href=\"https://github.com/ngoduykhanh\"\u003e\u003ccode\u003e@​ngoduykhanh\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16475\"\u003e#16475\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nThis version has been yanked. MLflow 3.1.3 will be released shortly.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eMLflow 3.1.2 is a patch release that includes several bug fixes.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Tracking] Fix \u003ccode\u003edownload_artifacts\u003c/code\u003e ignoring \u003ccode\u003etracking_uri\u003c/code\u003e parameter (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16461\"\u003e#16461\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[Models] Fix event type for ResponsesAgent error (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16427\"\u003e#16427\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Models] Remove falsey chat conversion for LangGraph models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16601\"\u003e#16601\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[Tracing] Use empty Resource when instantiating OTel provider to fix LiteLLM tracing issue (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16590\"\u003e#16590\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\u003c/ul\u003e\n\u003cp\u003eSmall fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16568\"\u003e#16568\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16454\"\u003e#16454\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16617\"\u003e#16617\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16605\"\u003e#16605\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16569\"\u003e#16569\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16553\"\u003e#16553\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16625\"\u003e#16625\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/16571\"\u003e#16571\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16552\"\u003e#16552\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16452\"\u003e#16452\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16395\"\u003e#16395\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16446\"\u003e#16446\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16420\"\u003e#16420\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16447\"\u003e#16447\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16554\"\u003e#16554\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16515\"\u003e#16515\u003c/a\u003e, \u003ca href=\"https://github.com/frontsideair\"\u003e\u003ccode\u003e@​frontsideair\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16558\"\u003e#16558\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16443\"\u003e#16443\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16457\"\u003e#16457\u003c/a\u003e, \u003ca href=\"https://github.com/16442\"\u003e\u003ccode\u003e@​16442\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16449\"\u003e#16449\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16509\"\u003e#16509\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16512\"\u003e#16512\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16524\"\u003e#16524\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16514\"\u003e#16514\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16607\"\u003e#16607\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/16541\"\u003e#16541\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/16427\"\u003e#16427\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/16573\"\u003e#16573\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/16470\"\u003e#16470\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16281\"\u003e#16281\u003c/a\u003e, \u003ca href=\"https://github.com/BenWilson2\"\u003e\u003ccode\u003e@​BenWilson2\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.1.1 includes several major features and improvements\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Model Registry / Sqlalchemy] Increase prompt text limit from 5K to 100K (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16377\"\u003e#16377\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[Tracking] Support pagination in get-history of FileStore and SqlAlchemyStore (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16325\"\u003e#16325\u003c/a\u003e, \u003ca href=\"https://github.com/TomeHirata\"\u003e\u003ccode\u003e@​TomeHirata\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/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.4 (2025-07-23)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.1.4 includes several major features and improvements\u003c/p\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16835\"\u003e#16835\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16820\"\u003e#16820\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.1.3 (2025-07-22)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.1.3 includes several major features and improvements\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Artifacts / Tracking] Do not copy file permissions when logging artifacts to local artifact repo (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16642\"\u003e#16642\u003c/a\u003e, \u003ca href=\"https://github.com/connortann\"\u003e\u003ccode\u003e@​connortann\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add support for OpenAI ChatCompletions parse method (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16493\"\u003e#16493\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\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[Deployments] Propagate \u003ccode\u003eMLFLOW_DEPLOYMENT_PREDICT_TIMEOUT\u003c/code\u003e to databricks-sdk (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16783\"\u003e#16783\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix issue with search_registered_models with Databricks UC backend not supporting filter_string (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16766\"\u003e#16766\u003c/a\u003e, \u003ca href=\"https://github.com/BenWilson2\"\u003e\u003ccode\u003e@​BenWilson2\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Bug fix: Databricks GenAI evaluation dataset source returns string, instead of DatasetSource instance (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16712\"\u003e#16712\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 the position of added tracking_uri param to artifact store implementations (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16653\"\u003e#16653\u003c/a\u003e, \u003ca href=\"https://github.com/BenWilson2\"\u003e\u003ccode\u003e@​BenWilson2\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/16786\"\u003e#16786\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16692\"\u003e#16692\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/16594\"\u003e#16594\u003c/a\u003e, \u003ca href=\"https://github.com/ngoduykhanh\"\u003e\u003ccode\u003e@​ngoduykhanh\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16475\"\u003e#16475\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.1.2 (2025-07-08)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.1.2 is a patch release that includes several bug fixes.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Tracking] Fix \u003ccode\u003edownload_artifacts\u003c/code\u003e ignoring \u003ccode\u003etracking_uri\u003c/code\u003e parameter (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16461\"\u003e#16461\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[Models] Fix event type for ResponsesAgent error (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16427\"\u003e#16427\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Models] Remove falsey chat conversion for LangGraph models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16601\"\u003e#16601\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[Tracing] Use empty Resource when instantiating OTel provider to fix LiteLLM tracing issue (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16590\"\u003e#16590\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\u003c/ul\u003e\n\u003cp\u003eSmall fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16568\"\u003e#16568\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16454\"\u003e#16454\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16617\"\u003e#16617\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16605\"\u003e#16605\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16569\"\u003e#16569\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16553\"\u003e#16553\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16625\"\u003e#16625\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/16571\"\u003e#16571\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16552\"\u003e#16552\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16452\"\u003e#16452\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16395\"\u003e#16395\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16446\"\u003e#16446\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16420\"\u003e#16420\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16447\"\u003e#16447\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16554\"\u003e#16554\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16515\"\u003e#16515\u003c/a\u003e, \u003ca href=\"https://github.com/frontsideair\"\u003e\u003ccode\u003e@​frontsideair\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16558\"\u003e#16558\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16443\"\u003e#16443\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16457\"\u003e#16457\u003c/a\u003e, \u003ca href=\"https://github.com/16442\"\u003e\u003ccode\u003e@​16442\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16449\"\u003e#16449\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16509\"\u003e#16509\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16512\"\u003e#16512\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16524\"\u003e#16524\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16514\"\u003e#16514\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16607\"\u003e#16607\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/16541\"\u003e#16541\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/16427\"\u003e#16427\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/16573\"\u003e#16573\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/16470\"\u003e#16470\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16281\"\u003e#16281\u003c/a\u003e, \u003ca href=\"https://github.com/BenWilson2\"\u003e\u003ccode\u003e@​BenWilson2\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.1.1 (2025-06-25)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.1.1 includes several major features and improvements\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Model Registry / Sqlalchemy] Increase prompt text limit from 5K to 100K (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16377\"\u003e#16377\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\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/mlflow/mlflow/commit/d393a0c2bd1a2dcd1ffab4784af3579266a78dc0\"\u003e\u003ccode\u003ed393a0c\u003c/code\u003e\u003c/a\u003e Run python3 dev/update_mlflow_versions.py pre-release ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/bbe2e934823661254a68202397fb77ba46b0b404\"\u003e\u003ccode\u003ebbe2e93\u003c/code\u003e\u003c/a\u003e Fix Java POM for central release (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16835\"\u003e#16835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/91712a50b5f61553f7d01176dc5f02bd7cae0897\"\u003e\u003ccode\u003e91712a5\u003c/code\u003e\u003c/a\u003e lint change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/6d1469df7094b666b3df723a8c1c93e4d2d05955\"\u003e\u003ccode\u003e6d1469d\u003c/code\u003e\u003c/a\u003e fix merge for model serialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3fa96eb8f099281bbc3021eee351e200e98e542a\"\u003e\u003ccode\u003e3fa96eb\u003c/code\u003e\u003c/a\u003e Fix releasing to central (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16820\"\u003e#16820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/377a0f2faeb0d4435df1982ea19d9dc900a819e5\"\u003e\u003ccode\u003e377a0f2\u003c/code\u003e\u003c/a\u003e update mlflow-tracing version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/5cc8e8d880543f578bf87227949195ec50d26ff0\"\u003e\u003ccode\u003e5cc8e8d\u003c/code\u003e\u003c/a\u003e Update build scripts to handle mlflow-tracing (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/15860\"\u003e#15860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3acca543505a4a1ceff8c226de44003d3814cdaf\"\u003e\u003ccode\u003e3acca54\u003c/code\u003e\u003c/a\u003e Propagate \u003ccode\u003eMLFLOW_DEPLOYMENT_PREDICT_TIMEOUT\u003c/code\u003e to databricks-sdk (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16783\"\u003e#16783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/16748ac5acb42647ef277e96797dfbcb626c36b7\"\u003e\u003ccode\u003e16748ac\u003c/code\u003e\u003c/a\u003e Update pom with further fixes (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16786\"\u003e#16786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/311a33195f3d58f3390fd23298df4d2cf4360a5b\"\u003e\u003ccode\u003e311a331\u003c/code\u003e\u003c/a\u003e Fix issue with search_registered_models with Databricks UC backend not suppor...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v2.19.0...v3.1.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langgraph` from 1.0.3 to 1.0.10rc1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langgraph/releases\"\u003elanggraph's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elanggraph==1.0.10rc1\u003c/h2\u003e\n\u003cp\u003eChanges since 1.0.9\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease: Candidate (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6947\"\u003e#6947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMerge commit from fork\u003c/li\u003e\n\u003cli\u003echore: add tests to confirm expected subgraph persistence behavior (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6943\"\u003e#6943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(langgraph): correct ParentCommand bubbling when checkpoint_ns includes numeric task segments  (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6864\"\u003e#6864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: add \u003ccode\u003emake type\u003c/code\u003e target for type checking (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6748\"\u003e#6748\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph==1.0.9\u003c/h2\u003e\n\u003cp\u003eChanges since 1.0.8\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease: langgraph + prebuilt (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6875\"\u003e#6875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: sequential interrupt handling w/ functional API (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6863\"\u003e#6863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: state_updated_at sort by (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6857\"\u003e#6857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump orjson (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6852\"\u003e#6852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: conformance testing (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6842\"\u003e#6842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all-dependencies group in /libs/langgraph with 6 updates (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6815\"\u003e#6815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump protobuf from 6.33.4 to 6.33.5 in /libs/langgraph (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6833\"\u003e#6833\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump cryptography from 46.0.3 to 46.0.5 in /libs/langgraph (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6837\"\u003e#6837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump nbconvert from 7.16.6 to 7.17.0 in /libs/langgraph (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6832\"\u003e#6832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: server runtime type (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6774\"\u003e#6774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: replace bare except with BaseException in AsyncQueue (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6765\"\u003e#6765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph==1.0.8\u003c/h2\u003e\n\u003cp\u003eChanges since 1.0.7\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(langgraph): 1.0.8 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6757\"\u003e#6757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: shallow copy futures (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6755\"\u003e#6755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: pydantic messages double streaming (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6753\"\u003e#6753\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump ruff from 0.14.7 to 0.14.11 in /libs/sdk-py (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6673\"\u003e#6673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Omit lock when using connection pool (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6734\"\u003e#6734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: enhance \u003ccode\u003eRuntime\u003c/code\u003e and \u003ccode\u003eToolRuntime\u003c/code\u003e class descriptions for clarity (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add clarity to use of \u003ccode\u003ethread_id\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6515\"\u003e#6515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add docstrings to \u003ccode\u003eadd_node\u003c/code\u003e overloads (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6514\"\u003e#6514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: update notebook links and add archival notices for examples (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6720\"\u003e#6720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(cli): 0.4.12 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6716\"\u003e#6716\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph-prebuilt==1.0.8\u003c/h2\u003e\n\u003cp\u003eChanges since prebuilt==1.0.7\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease: langgraph + prebuilt (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6875\"\u003e#6875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: inject ToolRuntime for dynamically registered tools (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6874\"\u003e#6874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump orjson (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6852\"\u003e#6852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump langchain-core from 1.2.12 to 1.2.13 in /libs/prebuilt in the all-dependencies group (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6849\"\u003e#6849\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: conformance testing (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6842\"\u003e#6842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all-dependencies group in /libs/prebuilt with 3 updates (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6810\"\u003e#6810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: server runtime type (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6774\"\u003e#6774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs(prebuilt): update warning for \u003ccode\u003ecreate_react_agent\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6760\"\u003e#6760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(langgraph): 1.0.8 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6757\"\u003e#6757\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/langchain-ai/langgraph/commit/a04ec5d6f00fa6583b2d98dfe789da741204b767\"\u003e\u003ccode\u003ea04ec5d\u003c/code\u003e\u003c/a\u003e release: Candidate (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6947\"\u003e#6947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/50df7d423abebcb5a192f0a59c2952c68cb0df8c\"\u003e\u003ccode\u003e50df7d4\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/c4a4a4647343d802d0ab909439806076bae15bd6\"\u003e\u003ccode\u003ec4a4a46\u003c/code\u003e\u003c/a\u003e chore: add tests to confirm expected subgraph persistence behavior (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6943\"\u003e#6943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/f178eb821e52906e1705c9cc02533bb88854b409\"\u003e\u003ccode\u003ef178eb8\u003c/code\u003e\u003c/a\u003e fix(langgraph): correct ParentCommand bubbling when checkpoint_ns includes nu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/48167d7fec9c25228426c92ba83d8650b77de0f3\"\u003e\u003ccode\u003e48167d7\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all-dependencies group in /libs/cli with 2 updates (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6920\"\u003e#6920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/806878a421458e99f9882e666ff35a41ad1bb561\"\u003e\u003ccode\u003e806878a\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all-dependencies group in /libs/checkpoint-postgres wit...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/8087e6a42c62c2049a5fb3f99372a8c601d07e08\"\u003e\u003ccode\u003e8087e6a\u003c/code\u003e\u003c/a\u003e docs(sdk-py): update auth docstrings to default-deny pattern (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6933\"\u003e#6933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/8fbdb144876ec9ca75943c7addb452a2bb634304\"\u003e\u003ccode\u003e8fbdb14\u003c/code\u003e\u003c/a\u003e release(sdk-py): 0.3.9 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6932\"\u003e#6932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/5093802f319119be674c02269f9874df04558419\"\u003e\u003ccode\u003e5093802\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all-dependencies group in /libs/checkpoint with 2 updat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/b89ef60b91e019c3cb4422af1e3cc216804ccb20\"\u003e\u003ccode\u003eb89ef60\u003c/code\u003e\u003c/a\u003e feat(sdk-py): add extract parameter to threads.search() (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/6880\"\u003e#6880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langgraph/compare/1.0.3...1.0.10rc1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp` from 1.22.0 to 1.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.0\u003c/h2\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release brings us up to speed with the latest MCP spec \u003ccode\u003e2025-11-25\u003c/code\u003e. Take a look at the \u003ca href=\"https://modelcontextprotocol.io/specification/2025-11-25\"\u003elatest spec\u003c/a\u003e as well as the release \u003ca href=\"https://blog.modelcontextprotocol.io/posts/2025-11-25-first-mcp-anniversary/\"\u003eblog post.\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd tests for JSON Schema 2020-12 field preservation (SEP-1613) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1649\"\u003emodelcontextprotocol/python-sdk#1649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd client_secret_basic authentication support by \u003ca href=\"https://github.com/jonshea\"\u003e\u003ccode\u003e@​jonshea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1334\"\u003emodelcontextprotocol/python-sdk#1334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1577 - Sampling With Tools by \u003ca href=\"https://github.com/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1330: Elicitation Enum Schema Improvements and Standards Compliance by \u003ca href=\"https://github.com/chughtapan\"\u003e\u003ccode\u003e@​chughtapan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1246\"\u003emodelcontextprotocol/python-sdk#1246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[auth][conformance] add conformance auth client by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1640\"\u003emodelcontextprotocol/python-sdk#1640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-986: Tool name validation by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1655\"\u003emodelcontextprotocol/python-sdk#1655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: url for spec by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1659\"\u003emodelcontextprotocol/python-sdk#1659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: implement SEP-991 URL-based client ID (CIMD) support by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1652\"\u003emodelcontextprotocol/python-sdk#1652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate doc string on custom_route by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1660\"\u003emodelcontextprotocol/python-sdk#1660\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1036: URL mode elicitation for secure out-of-band interactions by \u003ca href=\"https://github.com/cbcoutinho\"\u003e\u003ccode\u003e@​cbcoutinho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1580\"\u003emodelcontextprotocol/python-sdk#1580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip empty SSE data to avoid parsing errors by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1670\"\u003emodelcontextprotocol/python-sdk#1670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1686: Tasks by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1645\"\u003emodelcontextprotocol/python-sdk#1645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd on_session_created callback option by \u003ca href=\"https://github.com/crondinini-ant\"\u003e\u003ccode\u003e@​crondinini-ant\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1710\"\u003emodelcontextprotocol/python-sdk#1710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd SSE polling support (SEP-1699) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1654\"\u003emodelcontextprotocol/python-sdk#1654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport client_credentials flow with JWT and Basic auth by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1663\"\u003emodelcontextprotocol/python-sdk#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: backwards-compatible create_message overloads for SEP-1577 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1713\"\u003emodelcontextprotocol/python-sdk#1713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-enable DNS rebinding protection for localhost servers by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e  (d3a184119e4479ea6a63590bc41f01dc06e3fa99)\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/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.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/modelcontextprotocol/python-sdk/commit/d3a184119e4479ea6a63590bc41f01dc06e3fa99\"\u003e\u003ccode\u003ed3a1841\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/fa851d93a2036a37cce73e098f7dbc80a6c48765\"\u003e\u003ccode\u003efa851d9\u003c/code\u003e\u003c/a\u003e feat: backwards-compatible create_message overloads for SEP-1577 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1713\"\u003e#1713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/f82b0c937178815c1e96460455778578050c6d1a\"\u003e\u003ccode\u003ef82b0c9\u003c/code\u003e\u003c/a\u003e Support client_credentials flow with JWT and Basic auth (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1663\"\u003e#1663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/281fd4765e0fc2efaf2039d248c3bc0698416a8a\"\u003e\u003ccode\u003e281fd47\u003c/code\u003e\u003c/a\u003e Add SSE polling support (SEP-1699) (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1654\"\u003e#1654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/2cd178a962ab454e3add228ecd721784b7b36e99\"\u003e\u003ccode\u003e2cd178a\u003c/code\u003e\u003c/a\u003e Add on_session_created callback option (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1710\"\u003e#1710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/c92bb2f7ffaa61813d7cc350887f4ece38307769\"\u003e\u003ccode\u003ec92bb2f\u003c/code\u003e\u003c/a\u003e SEP-1686: Tasks (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1645\"\u003e#1645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/5983a650cc07d2dc6c6ba098e99d3545889157a9\"\u003e\u003ccode\u003e5983a65\u003c/code\u003e\u003c/a\u003e Skip empty SSE data to avoid parsing errors (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1670\"\u003e#1670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/02b78899296ce3631565345501e3d956b83ffe94\"\u003e\u003ccode\u003e02b7889\u003c/code\u003e\u003c/a\u003e Implement SEP-1036: URL mode elicitation for secure out-of-band interactions ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/27279bc157cbc03f7fe7758fd55a4b34c5652f42\"\u003e\u003ccode\u003e27279bc\u003c/code\u003e\u003c/a\u003e Update doc string on custom_route (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/f22501315eab5b8358c603ac7f730f77bb09e4c4\"\u003e\u003ccode\u003ef225013\u003c/code\u003e\u003c/a\u003e feat: implement SEP-991 URL-based client ID (CIMD) support (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1652\"\u003e#1652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.5 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow` from 2.22.0 to 3.9.0rc0\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.1.4\u003c/h2\u003e\n\u003cp\u003eMLflow 3.1.4 includes several major features and improvements\u003c/p\u003e\n\u003cp\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16835\"\u003e#16835\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16820\"\u003e#16820\u003c/a\u003e, \u003ca href=\"https://github.com/daniellok-db\"\u003e\u003ccode\u003e@​daniellok-db\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1.3\u003c/h2\u003e\n\u003cp\u003eMLflow 3.1.3 includes several features and improvements\u003c/p\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Artifacts / Tracking] Do not copy file permissions when logging artifacts to local artifact repo (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16642\"\u003e#16642\u003c/a\u003e, \u003ca href=\"https://github.com/connortann\"\u003e\u003ccode\u003e@​connortann\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Tracking] Add support for OpenAI ChatCompletions parse method (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16493\"\u003e#16493\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\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[Deployments] Propagate \u003ccode\u003eMLFLOW_DEPLOYMENT_PREDICT_TIMEOUT\u003c/code\u003e to databricks-sdk (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16783\"\u003e#16783\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Model Registry] Fix issue with search_registered_models with Databricks UC backend not supporting filter_string (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16766\"\u003e#16766\u003c/a\u003e, \u003ca href=\"https://github.com/BenWilson2\"\u003e\u003ccode\u003e@​BenWilson2\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Evaluation] Bug fix: Databricks GenAI evaluation dataset source returns string, instead of DatasetSource instance (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16712\"\u003e#16712\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 the position of added tracking_uri param to artifact store implementations (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16653\"\u003e#16653\u003c/a\u003e, \u003ca href=\"https://github.com/BenWilson2\"\u003e\u003ccode\u003e@​BenWilson2\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/16786\"\u003e#16786\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16692\"\u003e#16692\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/16594\"\u003e#16594\u003c/a\u003e, \u003ca href=\"https://github.com/ngoduykhanh\"\u003e\u003ccode\u003e@​ngoduykhanh\u003c/code\u003e\u003c/a\u003e; \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16475\"\u003e#16475\u003c/a\u003e, \u003ca href=\"https://github.com/harupy\"\u003e\u003ccode\u003e@​harupy\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nThis version has been yanked. MLflow 3.1.3 will be released shortly.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eMLflow 3.1.2 is a patch release that includes several bug fixes.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Tracking] Fix \u003ccode\u003edownload_artifacts\u003c/code\u003e ignoring \u003ccode\u003etracking_uri\u003c/code\u003e parameter (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16461\"\u003e#16461\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[Models] Fix event type for ResponsesAgent error (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16427\"\u003e#16427\u003c/a\u003e, \u003ca href=\"https://github.com/bbqiu\"\u003e\u003ccode\u003e@​bbqiu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Models] Remove falsey chat conversion for LangGraph models (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16601\"\u003e#16601\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[Tracing] Use empty Resource when instantiating OTel provider to fix LiteLLM tracing issue (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16590\"\u003e#16590\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\u003c/ul\u003e\n\u003cp\u003eSmall fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16568\"\u003e#16568\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16454\"\u003e#16454\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16617\"\u003e#16617\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16605\"\u003e#16605\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16569\"\u003e#16569\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16553\"\u003e#16553\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16625\"\u003e#16625\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/16571\"\u003e#16571\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16552\"\u003e#16552\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/16452\"\u003e#1645...\n\n_Description has been truncated_","html_url":"https://github.com/preechapon250/ray/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/preechapon250%2Fray/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"}},{"old_version":"3.11.5","new_version":"3.11.6","update_type":"patch","path":null,"pr_created_at":"2026-03-31T23:08:00.000Z","version_change":"3.11.5 → 3.11.6","issue":{"uuid":"4182901796","node_id":"PR_kwDORD8kXM7PFxnj","number":25,"state":"closed","title":"chore(deps): bump the uv group across 3 directories with 15 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-31T23:08:38.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-31T23:08:00.000Z","updated_at":"2026-03-31T23:08:40.000Z","time_to_close":38,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"uv","update_count":15,"packages":[{"name":"tornado","old_version":"6.5.4","new_version":"6.5.5","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"protobuf","old_version":"5.29.5","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"pypdf","old_version":"6.6.0","new_version":"6.9.2","repository_url":"https://github.com/py-pdf/pypdf"},{"name":"requests","old_version":"2.32.5","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"authlib","old_version":"1.6.6","new_version":"1.6.9","repository_url":"https://github.com/authlib/authlib"},{"name":"cryptography","old_version":"46.0.3","new_version":"46.0.6","repository_url":"https://github.com/pyca/cryptography"},{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"nbconvert","old_version":"7.16.6","new_version":"7.17.0","repository_url":"https://github.com/jupyter/nbconvert"},{"name":"nltk","old_version":"3.9.2","new_version":"3.9.4","repository_url":"https://github.com/nltk/nltk"},{"name":"orjson","old_version":"3.11.5","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"},{"name":"pyasn1","old_version":"0.6.1","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"werkzeug","old_version":"3.1.5","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.4` | `6.5.5` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `5.29.5` | `5.29.6` |\n| [pypdf](https://github.com/py-pdf/pypdf) | `6.6.0` | `6.9.2` |\n| [requests](https://github.com/psf/requests) | `2.32.5` | `2.33.0` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.6` | `1.6.9` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.3` | `46.0.6` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [nbconvert](https://github.com/jupyter/nbconvert) | `7.16.6` | `7.17.0` |\n| [nltk](https://github.com/nltk/nltk) | `3.9.2` | `3.9.4` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.5` | `3.11.6` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.6.1` | `0.6.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.5` | `3.1.6` |\n\nBumps the uv group with 3 updates in the /evaluation/benchmarks/versicode directory: [protobuf](https://github.com/protocolbuffers/protobuf), [pillow](https://github.com/python-pillow/Pillow) and [requests](https://github.com/psf/requests).\nBumps the uv group with 10 updates in the /openhands-cli directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.0` | `6.33.5` |\n| [fastmcp](https://github.com/PrefectHQ/fastmcp) | `2.12.5` | `3.2.0` |\n| [pypdf](https://github.com/py-pdf/pypdf) | `6.1.2` | `6.9.2` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.0.0` | `12.1.1` |\n| [requests](https://github.com/psf/requests) | `2.32.5` | `2.33.0` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.5` | `1.6.9` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.3` | `46.0.6` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.4` | `3.11.6` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.6.1` | `0.6.3` |\n| [black](https://github.com/psf/black) | `25.9.0` | `26.3.1` |\n\n\nUpdates `tornado` from 6.5.4 to 6.5.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst\"\u003etornado's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease notes\u003c/h1\u003e\n\u003cp\u003e.. toctree::\n:maxdepth: 2\u003c/p\u003e\n\u003cp\u003ereleases/v6.5.5\nreleases/v6.5.4\nreleases/v6.5.3\nreleases/v6.5.2\nreleases/v6.5.1\nreleases/v6.5.0\nreleases/v6.4.2\nreleases/v6.4.1\nreleases/v6.4.0\nreleases/v6.3.3\nreleases/v6.3.2\nreleases/v6.3.1\nreleases/v6.3.0\nreleases/v6.2.0\nreleases/v6.1.0\nreleases/v6.0.4\nreleases/v6.0.3\nreleases/v6.0.2\nreleases/v6.0.1\nreleases/v6.0.0\nreleases/v5.1.1\nreleases/v5.1.0\nreleases/v5.0.2\nreleases/v5.0.1\nreleases/v5.0.0\nreleases/v4.5.3\nreleases/v4.5.2\nreleases/v4.5.1\nreleases/v4.5.0\nreleases/v4.4.3\nreleases/v4.4.2\nreleases/v4.4.1\nreleases/v4.4.0\nreleases/v4.3.0\nreleases/v4.2.1\nreleases/v4.2.0\nreleases/v4.1.0\nreleases/v4.0.2\nreleases/v4.0.1\nreleases/v4.0.0\nreleases/v3.2.2\nreleases/v3.2.1\nreleases/v3.2.0\nreleases/v3.1.1\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/tornadoweb/tornado/commit/7d6465056ceb7a054b3f64cf1c18271753b10482\"\u003e\u003ccode\u003e7d64650\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3586\"\u003e#3586\u003c/a\u003e from bdarnell/update-cibw\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/d05d59b8080a0d5d6a260994c7aad7049209d345\"\u003e\u003ccode\u003ed05d59b\u003c/code\u003e\u003c/a\u003e build: Bump cibuildwheel to 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/c2f46732b0ad14bf0db4219c96a945f4b60205f5\"\u003e\u003ccode\u003ec2f4673\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3585\"\u003e#3585\u003c/a\u003e from bdarnell/release-655\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/e5f1aa4b6fa2c16b29024830227838fcb0c79b6f\"\u003e\u003ccode\u003ee5f1aa4\u003c/code\u003e\u003c/a\u003e Release notes and version bump for v6.5.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/78a046f99f89977dfc8ff5a1fe16d298afbeeaca\"\u003e\u003ccode\u003e78a046f\u003c/code\u003e\u003c/a\u003e httputil: Add CRLF to _FORBIDDEN_HEADER_CHARS_RE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/24a2d96ea115f663b223887deb0060f13974c104\"\u003e\u003ccode\u003e24a2d96\u003c/code\u003e\u003c/a\u003e web: Validate characters in all cookie attributes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/119a195e290c43ad2d63a2cf012c29d43d6ed839\"\u003e\u003ccode\u003e119a195\u003c/code\u003e\u003c/a\u003e httputil: Add limits on multipart form data parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tornadoweb/tornado/compare/v6.5.4...v6.5.5\"\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.5 to 5.29.6\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\nUpdates `pypdf` from 6.6.0 to 6.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/py-pdf/pypdf/releases\"\u003epypdf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 6.9.2, 2026-03-23\u003c/h2\u003e\n\u003ch2\u003eWhat's new\u003c/h2\u003e\n\u003ch3\u003eSecurity (SEC)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid infinite loop in read_from_stream for broken files (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3693\"\u003e#3693\u003c/a\u003e) by \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRobustness (ROB)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve UnboundLocalError for xobjs in _get_image (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3684\"\u003e#3684\u003c/a\u003e) by \u003ca href=\"https://github.com/Yuki9814\"\u003e\u003ccode\u003e@​Yuki9814\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/compare/6.9.1...6.9.2\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 6.9.1, 2026-03-17\u003c/h2\u003e\n\u003ch2\u003eWhat's new\u003c/h2\u003e\n\u003ch3\u003eSecurity (SEC)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove performance and limit length of array-based content streams (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3686\"\u003e#3686\u003c/a\u003e) by \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/compare/6.9.0...6.9.1\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 6.9.0, 2026-03-15\u003c/h2\u003e\n\u003ch2\u003eWhat's new\u003c/h2\u003e\n\u003ch3\u003eNew Features (ENH)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpose /Perms verification result on Encryption object (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3672\"\u003e#3672\u003c/a\u003e) by \u003ca href=\"https://github.com/costajohnt\"\u003e\u003ccode\u003e@​costajohnt\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements (PI)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix O(n²) performance in NameObject read/write (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3679\"\u003e#3679\u003c/a\u003e) by \u003ca href=\"https://github.com/dmitry-kostin\"\u003e\u003ccode\u003e@​dmitry-kostin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBatch-parse all objects in ObjStm on first access (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3677\"\u003e#3677\u003c/a\u003e) by \u003ca href=\"https://github.com/dmitry-kostin\"\u003e\u003ccode\u003e@​dmitry-kostin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes (BUG)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid sharing array-based content streams between pages (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3681\"\u003e#3681\u003c/a\u003e) by \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid accessing invalid page when inserting blank page under some conditions (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3529\"\u003e#3529\u003c/a\u003e) by \u003ca href=\"https://github.com/j-t-1\"\u003e\u003ccode\u003e@​j-t-1\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/compare/6.8.0...6.9.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 6.8.0, 2026-03-09\u003c/h2\u003e\n\u003ch2\u003eWhat's new\u003c/h2\u003e\n\u003ch3\u003eSecurity (SEC)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLimit allowed \u003ccode\u003e/Length\u003c/code\u003e value of stream  (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3675\"\u003e#3675\u003c/a\u003e) by \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Features (ENH)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd /IRT (in-reply-to) support for markup annotations (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3631\"\u003e#3631\u003c/a\u003e) by \u003ca href=\"https://github.com/costajohnt\"\u003e\u003ccode\u003e@​costajohnt\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation (DOC)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using \u003ccode\u003ePageObject.replace_contents\u003c/code\u003e on PdfReader (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3669\"\u003e#3669\u003c/a\u003e) by \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument how to disable jbig2dec calls by \u003ca href=\"https://github.com/stefan6419846\"\u003e\u003ccode\u003e@​stefan6419846\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/compare/6.7.5...6.8.0\"\u003eFull Changelog\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/py-pdf/pypdf/blob/main/CHANGELOG.md\"\u003epypdf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 6.9.2, 2026-03-23\u003c/h2\u003e\n\u003ch3\u003eSecurity (SEC)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid infinite loop in read_from_stream for broken files (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3693\"\u003e#3693\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRobustness (ROB)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve UnboundLocalError for xobjs in _get_image (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3684\"\u003e#3684\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/compare/6.9.1...6.9.2\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 6.9.1, 2026-03-17\u003c/h2\u003e\n\u003ch3\u003eSecurity (SEC)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove performance and limit length of array-based content streams (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3686\"\u003e#3686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/compare/6.9.0...6.9.1\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 6.9.0, 2026-03-15\u003c/h2\u003e\n\u003ch3\u003eNew Features (ENH)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpose /Perms verification result on Encryption object (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements (PI)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix O(n²) performance in NameObject read/write (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3679\"\u003e#3679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBatch-parse all objects in ObjStm on first access (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes (BUG)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid sharing array-based content streams between pages (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3681\"\u003e#3681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid accessing invalid page when inserting blank page under some conditions (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3529\"\u003e#3529\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/compare/6.8.0...6.9.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 6.8.0, 2026-03-09\u003c/h2\u003e\n\u003ch3\u003eSecurity (SEC)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLimit allowed \u003ccode\u003e/Length\u003c/code\u003e value of stream  (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Features (ENH)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd /IRT (in-reply-to) support for markup annotations (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3631\"\u003e#3631\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation (DOC)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using \u003ccode\u003ePageObject.replace_contents\u003c/code\u003e on PdfReader (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocument how to disable jbig2dec calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/compare/6.7.5...6.8.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 6.7.5, 2026-03-02\u003c/h2\u003e\n\u003ch3\u003eSecurity (SEC)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the performance of the ASCIIHexDecode filter (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3666\"\u003e#3666\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/py-pdf/pypdf/commit/da867f4961e4ac5ac9d751cba3131c5a1a8777f3\"\u003e\u003ccode\u003eda867f4\u003c/code\u003e\u003c/a\u003e REL: 6.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/commit/02b1345f77fdbc006faccc301507df4fb1855413\"\u003e\u003ccode\u003e02b1345\u003c/code\u003e\u003c/a\u003e SEC: Avoid infinite loop in read_from_stream for broken files (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3693\"\u003e#3693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/commit/3bef3393757d9ab711032cb07019ae3b8132ba42\"\u003e\u003ccode\u003e3bef339\u003c/code\u003e\u003c/a\u003e MAINT: Prefer bytearray over bytes in image_inline (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3692\"\u003e#3692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/commit/04b0a38f56ade7ba8ab9ed2f2b83e86794a036d5\"\u003e\u003ccode\u003e04b0a38\u003c/code\u003e\u003c/a\u003e ROB: Resolve UnboundLocalError for xobjs in _get_image (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3684\"\u003e#3684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/commit/0e5157c2d9440c3594de43ffe27745eb474a2fb9\"\u003e\u003ccode\u003e0e5157c\u003c/code\u003e\u003c/a\u003e REL: 6.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/commit/0b5d05de59a055c132b435ee2375bc32ff04d48e\"\u003e\u003ccode\u003e0b5d05d\u003c/code\u003e\u003c/a\u003e SEC: Improve performance and limit length of array-based content streams (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3686\"\u003e#3686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/commit/87aa1d436b91c055f6ed1a4ed4146567e5db67b3\"\u003e\u003ccode\u003e87aa1d4\u003c/code\u003e\u003c/a\u003e DEV: Remove unused reverse encoding dicts (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3685\"\u003e#3685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/commit/84f526622657d3da2068d5c05c0cba8746aec7b0\"\u003e\u003ccode\u003e84f5266\u003c/code\u003e\u003c/a\u003e MAINT: Use placeholder-based approach for logger_error (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/commit/8f1f4aa8607a1e3b4730d67ca24e6b8f86bf526f\"\u003e\u003ccode\u003e8f1f4aa\u003c/code\u003e\u003c/a\u003e REL: 6.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/py-pdf/pypdf/commit/5a9a0da71714c4361b38ebdcaf304291569d7a2f\"\u003e\u003ccode\u003e5a9a0da\u003c/code\u003e\u003c/a\u003e BUG: Avoid sharing array-based content streams between pages (\u003ca href=\"https://redirect.github.com/py-pdf/pypdf/issues/3681\"\u003e#3681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/py-pdf/pypdf/compare/6.6.0...6.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.5 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.5...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `authlib` from 1.6.6 to 1.6.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/authlib/authlib/releases\"\u003eauthlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.9\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.8...v1.6.9\"\u003ehttps://github.com/authlib/authlib/compare/v1.6.8...v1.6.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eChanges in \u003ccode\u003ejose\u003c/code\u003e module\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNot using header's \u003ccode\u003ejwk\u003c/code\u003e automatically\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eES256K\u003c/code\u003e into default jwt algorithms\u003c/li\u003e\n\u003cli\u003eRemove deprecated algorithm from default registry\u003c/li\u003e\n\u003cli\u003eGenerate random \u003ccode\u003ecek\u003c/code\u003e when \u003ccode\u003ecek\u003c/code\u003e length doesn't match\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.8\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.7...v1.6.8\"\u003ehttps://github.com/authlib/authlib/compare/v1.6.7...v1.6.8\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eEdDSA\u003c/code\u003e to default \u003ccode\u003ejwt\u003c/code\u003e instance.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.7\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.6...v1.6.7\"\u003ehttps://github.com/authlib/authlib/compare/v1.6.6...v1.6.7\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eSet supported algorithms for the default \u003ccode\u003ejwt\u003c/code\u003e instance.\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/authlib/authlib/commit/9266eaa2227ad7e21dc731b2a4a01909aabd934b\"\u003e\u003ccode\u003e9266eaa\u003c/code\u003e\u003c/a\u003e chore: release 1.6.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/b9bb2b25bf8b7e01512d847a95c1749646eaa72b\"\u003e\u003ccode\u003eb9bb2b2\u003c/code\u003e\u003c/a\u003e fix(oidc): fail close at validating c_hash and at_hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/1b0a1d988842bff7347c4ec0a70e45c3ba55504e\"\u003e\u003ccode\u003e1b0a1d9\u003c/code\u003e\u003c/a\u003e fix(jose): generate random cek when cek length doesn't match\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/5be3c518794b7322375bae2bf1871713d9b5c2fb\"\u003e\u003ccode\u003e5be3c51\u003c/code\u003e\u003c/a\u003e fix(jose): add ES256K into default jwt algorithms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/48b345f29f6c459f11c6a40162b6c0b742ef2e22\"\u003e\u003ccode\u003e48b345f\u003c/code\u003e\u003c/a\u003e fix(jose): remove deprecated algorithm from default registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/a5d4b2d4c9e46bfa11c82f85fdc2bcc0b50ae681\"\u003e\u003ccode\u003ea5d4b2d\u003c/code\u003e\u003c/a\u003e fix(jose): do not use header's jwk automatically\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/a769f343ae8d43236448e3e74445980861812e82\"\u003e\u003ccode\u003ea769f34\u003c/code\u003e\u003c/a\u003e chore: release 1.6.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/84f3fa2965a189c16528329e8cfe41d094008588\"\u003e\u003ccode\u003e84f3fa2\u003c/code\u003e\u003c/a\u003e fix: add EdDSA to default jwt algorithms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/38e872a3f5b97d2658507acc8762a4e18adaa50e\"\u003e\u003ccode\u003e38e872a\u003c/code\u003e\u003c/a\u003e chore: release 1.6.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/b87c32ed07b8ae7f805873e1c9cafd1016761df7\"\u003e\u003ccode\u003eb87c32e\u003c/code\u003e\u003c/a\u003e fix: remove \u0026quot;none\u0026quot; algorithm from default jwt instance\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.6...v1.6.9\"\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.3 to 46.0.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.6 - 2026-03-25\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **SECURITY ISSUE**: Fixed a bug where name constraints were not applied\n  to peer names during verification when the leaf certificate contains a\n  wildcard DNS SAN. Ordinary X.509 topologies are not affected by this bug,\n  including those used by the Web PKI. Credit to **Oleh Konko (1seal)** for\n  reporting the issue. **CVE-2026-34073**\n\u003cp\u003e.. _v46-0-5:\u003c/p\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAn attacker could create a malicious public key that reveals portions of your\nprivate key when using certain uncommon elliptic curves (binary curves).\nThis version now includes additional security checks to prevent this attack.\nThis issue only affects binary elliptic curves, which are rarely used in\nreal-world applications. Credit to \u003cstrong\u003eXlabAI Team of Tencent Xuanwu Lab and\nAtuin Automated Vulnerability Discovery Engine\u003c/strong\u003e for reporting the issue.\n\u003cstrong\u003eCVE-2026-26007\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003eSECT*\u003c/code\u003e binary elliptic curves is deprecated and will be\nremoved in the next release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* `Dropped support for win_arm64 wheels`_.\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\n\u003cp\u003e.. _v46-0-3:\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\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyca/cryptography/compare/46.0.3...46.0.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.1.2 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\u003c/blockquote\u003e\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\u003c/blockquote\u003e\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.1.2...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\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 `nltk` from 3.9.2 to 3.9.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nltk/nltk/blob/develop/ChangeLog\"\u003enltk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion 3.9.4 2026-03-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14\u003c/li\u003e\n\u003cli\u003eFix bug in Levenshtein distance when substitution_cost \u0026gt; 2\u003c/li\u003e\n\u003cli\u003eFix bug in Treebank detokeniser re quote ordering\u003c/li\u003e\n\u003cli\u003eFix bug in Jaro similarity for empty strings\u003c/li\u003e\n\u003cli\u003eSeveral security enhancements\u003c/li\u003e\n\u003cli\u003eFix GHSA-rf74-v2fm-23pw: unbounded recursion in JSONTaggedDecoder\u003c/li\u003e\n\u003cli\u003eImplement TextTiling vocabulary introduction method (Hearst 1997)\u003c/li\u003e\n\u003cli\u003eFix ALINE feature matrix errors and add comprehensive tests\u003c/li\u003e\n\u003cli\u003eSupport multiple VerbNet versions, fix longid/shortid regex for VerbNet ids\u003c/li\u003e\n\u003cli\u003eLet downloader fallback to md5 when sha256 is unavailable\u003c/li\u003e\n\u003cli\u003eSeveral other minor bugfixes and code cleanups\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to the following contributors to 3.9.4:\nMin-Yen Kan, Eric Kafe, Emily Voss, bowiechen, Hrudhai01,\njancallewaert, Mr-Neutr0n, pollak.peter89, ylwango613,\u003c/p\u003e\n\u003cp\u003eVersion 3.9.3 2026-02-21\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix CVE-2025-14009: secure ZIP extraction in nltk.downloader (\u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3468\"\u003e#3468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBlock path traversal/arbitrary reads in nltk.data for protocol-less refs (\u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3467\"\u003e#3467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBlock path traversal/abs paths in corpus readers and FS pointers (\u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3479\"\u003e#3479\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3480\"\u003e#3480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate external StanfordSegmenter JARs using SHA256 (\u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3477\"\u003e#3477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd optional sandbox enforcement for filestring() (\u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3485\"\u003e#3485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMaintenance: downloader/zipped models, CI/tooling updates\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to the following contributors to 3.9.3:\nChris Clauss, Eric Kafe, HyperPS, purificant, Shivansh-Game, Christopher Smith\u003c/p\u003e\n\u003cp\u003eVersion 3.9.2 2025-10-01\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate download checksums to use SHA256 in built index\u003c/li\u003e\n\u003cli\u003eFix percentage escape in new-style string formatting\u003c/li\u003e\n\u003cli\u003ereplace shortened URLs using goo.gl\u003c/li\u003e\n\u003cli\u003eMake Wordnet interoperable with various taggers and tagged corpora\u003c/li\u003e\n\u003cli\u003eFix saving PerceptronTagger\u003c/li\u003e\n\u003cli\u003eDocument how to reproduce old Wordnet studies\u003c/li\u003e\n\u003cli\u003eproperly initialize Portuguese corpus reader\u003c/li\u003e\n\u003cli\u003esupport for mixed rules conversion into Chomsky Normal Form\u003c/li\u003e\n\u003cli\u003eonly import tkinter if a GUI is needed\u003c/li\u003e\n\u003cli\u003eissue \u003ca href=\"https://redirect.github.com/nltk/nltk/issues/2112\"\u003e#2112\u003c/a\u003e with Corenlp\u003c/li\u003e\n\u003cli\u003enew environment variable NLTK_DOWNLOADER_FORCE_INTERACTIVE_SHELL\u003c/li\u003e\n\u003cli\u003eLesk defaults to most frequent sense in case of ties\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to the following contributors to 3.9.2:\nJose Cols, Peter de Blanc, GeneralPoxter, Eric Kafe, William LaCroix, Jason Liu,\nSamer Masterson, Mike014, purificant, Andrew Ernest Ritz, samertm, Ikram Ul Haq,\nChristopher Smith, Ryan Mannion\u003c/p\u003e\n\u003cp\u003eVersion 3.9.1 2024-08-19\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/nltk/nltk/commit/ad9c96ba00a16923ffe917eacf63f1707bfa2d08\"\u003e\u003ccode\u003ead9c96b\u003c/code\u003e\u003c/a\u003e Update copyright year\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nltk/nltk/commit/7edcddfda566627b897397397cc4d10ae91cb86d\"\u003e\u003ccode\u003e7edcddf\u003c/code\u003e\u003c/a\u003e Updates for 3.9.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nltk/nltk/commit/67a2736f89b286b028db08bd247134f17a11fc6b\"\u003e\u003ccode\u003e67a2736\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3180\"\u003e#3180\u003c/a\u003e from yzhaoinuw/bug-on-edit_distance_align\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nltk/nltk/commit/2b17ac5358a1c8d4b97455766efde0b786e6cdb2\"\u003e\u003ccode\u003e2b17ac5\u003c/code\u003e\u003c/a\u003e Fix edit_distance_align backtrace for high substitution costs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nltk/nltk/commit/4b72976a6ff3d180ed4012f11843e611a8f89516\"\u003e\u003ccode\u003e4b72976\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3018\"\u003e#3018\u003c/a\u003e from JuanIMartinezB/bug/shortid-longid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nltk/nltk/commit/8a5619f53a281149e5342b1a00fe05fe2fc6517f\"\u003e\u003ccode\u003e8a5619f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3222\"\u003e#3222\u003c/a\u003e from Syzygy2048/feature/texttiling-vocabulary-introd...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nltk/nltk/commit/c6574d755e02b6163d9cd1d0b407076940e08864\"\u003e\u003ccode\u003ec6574d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3289\"\u003e#3289\u003c/a\u003e from ihitamandal/codeflash/optimize-windowdiff-2024-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nltk/nltk/commit/98ff5d9eaa1a81511873b9aef857944519c28dc4\"\u003e\u003ccode\u003e98ff5d9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3435\"\u003e#3435\u003c/a\u003e from Hrudhai01/fix-3260-detokenize-quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nltk/nltk/commit/aec4fce1b84ad725b8975f7365b23a4f626572a9\"\u003e\u003ccode\u003eaec4fce\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3522\"\u003e#3522\u003c/a\u003e from ekaf/pathsec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nltk/nltk/commit/eec4ee3591cb9cb8b8c2989f08012608c841d532\"\u003e\u003ccode\u003eeec4ee3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nltk/nltk/issues/3526\"\u003e#3526\u003c/a\u003e from nltk/update-contributing\u003c/li\u003e\n\u003cli\u003eAdditional commits ...\n\n_Description has been truncated_","html_url":"https://github.com/leoneconsultingch/OpenHands/pull/25","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/leoneconsultingch%2FOpenHands/issues/25","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/25/packages"}},{"old_version":"3.11.7","new_version":"3.11.8","update_type":"patch","path":null,"pr_created_at":"2026-03-31T21:42:36.000Z","version_change":"3.11.7 → 3.11.8","issue":{"uuid":"4182552737","node_id":"PR_kwDOQnuBaM7PEyDi","number":87,"state":"closed","title":"chore(deps): bump the python-dependencies group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-02T21:50:37.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-31T21:42:36.000Z","updated_at":"2026-04-02T21:50:38.000Z","time_to_close":173281,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-dependencies","update_count":24,"packages":[{"name":"anthropic","old_version":"0.83.0","new_version":"0.87.0","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"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":"build","old_version":"1.4.0","new_version":"1.4.2","repository_url":"https://github.com/pypa/build"},{"name":"certifi","old_version":"2026.1.4","new_version":"2026.2.25","repository_url":"https://github.com/certifi/python-certifi"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.6","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"coverage","old_version":"7.13.4","new_version":"7.13.5","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"jsonpointer","old_version":"3.0.0","new_version":"3.1.1","repository_url":"https://github.com/stefankoegl/python-json-pointer"},{"name":"langchain-anthropic","old_version":"1.3.3","new_version":"1.4.0","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-core","old_version":"1.2.22","new_version":"1.2.23","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-openai","old_version":"1.1.10","new_version":"1.1.12","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langsmith","old_version":"0.7.6","new_version":"0.7.23","repository_url":"https://github.com/langchain-ai/langsmith-sdk"},{"name":"mypy","old_version":"1.19.1","new_version":"1.20.0","repository_url":"https://github.com/python/mypy"},{"name":"openai","old_version":"2.21.0","new_version":"2.30.0","repository_url":"https://github.com/openai/openai-python"},{"name":"orjson","old_version":"3.11.7","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.45.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pyjwt","old_version":"2.12.0","new_version":"2.12.1","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pytest-cov","old_version":"7.0.0","new_version":"7.1.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"python-dotenv","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"regex","old_version":"2026.2.19","new_version":"2026.3.32","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"requests","old_version":"2.33.0","new_version":"2.33.1","repository_url":"https://github.com/psf/requests"},{"name":"sse-starlette","old_version":"3.2.0","new_version":"3.3.4","repository_url":"https://github.com/sysid/sse-starlette"},{"name":"starlette","old_version":"0.52.1","new_version":"1.0.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"uvicorn","old_version":"0.41.0","new_version":"0.42.0","repository_url":"https://github.com/Kludex/uvicorn"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 24 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.83.0` | `0.87.0` |\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| [build](https://github.com/pypa/build) | `1.4.0` | `1.4.2` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.2.25` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.6` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.4` | `7.13.5` |\n| [jsonpointer](https://github.com/stefankoegl/python-json-pointer) | `3.0.0` | `3.1.1` |\n| [langchain-anthropic](https://github.com/langchain-ai/langchain) | `1.3.3` | `1.4.0` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `1.2.22` | `1.2.23` |\n| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.1.10` | `1.1.12` |\n| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.7.6` | `0.7.23` |\n| [mypy](https://github.com/python/mypy) | `1.19.1` | `1.20.0` |\n| [openai](https://github.com/openai/openai-python) | `2.21.0` | `2.30.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.7` | `3.11.8` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.45.0` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.12.0` | `2.12.1` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `7.0.0` | `7.1.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2026.2.19` | `2026.3.32` |\n| [requests](https://github.com/psf/requests) | `2.33.0` | `2.33.1` |\n| [sse-starlette](https://github.com/sysid/sse-starlette) | `3.2.0` | `3.3.4` |\n| [starlette](https://github.com/Kludex/starlette) | `0.52.1` | `1.0.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.41.0` | `0.42.0` |\n\n\nUpdates `anthropic` from 0.83.0 to 0.87.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.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\u003ch2\u003ev0.86.0\u003c/h2\u003e\n\u003ch2\u003e0.86.0 (2026-03-18)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.85.0...v0.86.0\"\u003ev0.85.0...v0.86.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd support for filesystem memory tools (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1247\"\u003e#1247\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/235d218211ac4b8f1aa37e29bedc998bfb6ce77d\"\u003e235d218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/86dbe4aa58386bfb8d1497debf342e929e9bb5e5\"\u003e86dbe4a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/45d9cc0914200a43743ab11aa311392e9d8c1b4f\"\u003e45d9cc0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAsyncAnthropic._make_status_error missing 529 and 413 cases (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1244\"\u003e#1244\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/05220bc1c1079fe01f5c4babc007ec7a990859d9\"\u003e05220bc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e bump minimum typing-extensions version (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/09ab112289815ba6f19d8fb3da1e715748182799\"\u003e09ab112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epydantic:\u003c/strong\u003e do not pass \u003ccode\u003eby_alias\u003c/code\u003e unless set (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/b17480e9d06613aa597dd40d5a47f4f1250ac762\"\u003eb17480e\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/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.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\u003ch2\u003e0.86.0 (2026-03-18)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.85.0...v0.86.0\"\u003ev0.85.0...v0.86.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd support for filesystem memory tools (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1247\"\u003e#1247\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/235d218211ac4b8f1aa37e29bedc998bfb6ce77d\"\u003e235d218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/86dbe4aa58386bfb8d1497debf342e929e9bb5e5\"\u003e86dbe4a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/45d9cc0914200a43743ab11aa311392e9d8c1b4f\"\u003e45d9cc0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAsyncAnthropic._make_status_error missing 529 and 413 cases (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1244\"\u003e#1244\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/05220bc1c1079fe01f5c4babc007ec7a990859d9\"\u003e05220bc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e bump minimum typing-extensions version (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/09ab112289815ba6f19d8fb3da1e715748182799\"\u003e09ab112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epydantic:\u003c/strong\u003e do not pass \u003ccode\u003eby_alias\u003c/code\u003e unless set (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/b17480e9d06613aa597dd40d5a47f4f1250ac762\"\u003eb17480e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/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\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/3b77b826ce402881bcb2a43092e758368fccc99a\"\u003e\u003ccode\u003e3b77b82\u003c/code\u003e\u003c/a\u003e chore(ci): run builds on CI even if only spec metadata changed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/764ddbab9bcd6c4e076bf2618d4930e5b39cfb7c\"\u003e\u003ccode\u003e764ddba\u003c/code\u003e\u003c/a\u003e feat(internal): implement indices array format for query and form serialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/8a06a905bb89bf8126e552d951270fe90869bc1d\"\u003e\u003ccode\u003e8a06a90\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7f8cf3c4c0c7a601847538364f6eccf00e72a2c4\"\u003e\u003ccode\u003e7f8cf3c\u003c/code\u003e\u003c/a\u003e chore(tests): bump steady to v0.19.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/0eba0dd8f9590254b91eaadb79e44b792d56d85b\"\u003e\u003ccode\u003e0eba0dd\u003c/code\u003e\u003c/a\u003e chore(ci): skip lint on metadata-only changes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.83.0...v0.87.0\"\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://redirect.github.com/agronholm/anyio/issues/1097\"\u003e#1097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/602f6606dcf3f37702686a4f3e161328c537b07f\"\u003e\u003ccode\u003e602f660\u003c/code\u003e\u003c/a\u003e Widened type annotations to accept IO[bytes] in file streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/b5dcd45170701a756ba634197398f05d4710cab3\"\u003e\u003ccode\u003eb5dcd45\u003c/code\u003e\u003c/a\u003e Added note about erasing the template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/d68670b3b4e0917d4caff2de082e03220f3e05a1\"\u003e\u003ccode\u003ed68670b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1090\"\u003e#1090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/fc17a22dd948e6a3d90d99908813f0010dfc3d2c\"\u003e\u003ccode\u003efc17a22\u003c/code\u003e\u003c/a\u003e tweak to_thread docs about abandon_on_cancel (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1088\"\u003e#1088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.12.1...4.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `attrs` from 25.4.0 to 26.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-attrs/attrs/releases\"\u003eattrs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.1.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cp\u003eThe main outward change here only affects people using field transformers, but it should be a nice quality of life improvement!\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFull changelog below!\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eSpecial Thanks\u003c/h2\u003e\n\u003cp\u003eThis release would not be possible without my generous sponsors! Thank you to all of you making sustainable maintenance possible! If \u003cem\u003eyou\u003c/em\u003e would like to join them, go to \u003ca href=\"https://github.com/sponsors/hynek\"\u003ehttps://github.com/sponsors/hynek\u003c/a\u003e and check out the sweet perks!\u003c/p\u003e\n\u003ch3\u003eAbove and Beyond\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://www.variomedia.de/\"\u003eVariomedia AG\u003c/a\u003e (@\u003ca href=\"https://github.com/variomedia\"\u003evariomedia\u003c/a\u003e), \u003ca href=\"https://www.tidelift.com/\"\u003eTidelift\u003c/a\u003e (@\u003ca href=\"https://github.com/tidelift\"\u003etidelift\u003c/a\u003e), \u003ca href=\"https://kraken.tech\"\u003eKraken Tech\u003c/a\u003e (@\u003ca href=\"https://github.com/kraken-tech\"\u003ekraken-tech\u003c/a\u003e), \u003ca href=\"https://privacy-solutions.org\"\u003ePrivacy Solutions GmbH\u003c/a\u003e (@\u003ca href=\"https://github.com/privacy-solutions\"\u003eprivacy-solutions\u003c/a\u003e), \u003ca href=\"http://filepreviews.io/\"\u003eFilePreviews\u003c/a\u003e (@\u003ca href=\"https://github.com/filepreviews\"\u003efilepreviews\u003c/a\u003e), \u003ca href=\"https://ecosyste.ms\"\u003eEcosystems\u003c/a\u003e (@\u003ca href=\"https://github.com/ecosyste-ms\"\u003eecosyste-ms\u003c/a\u003e), \u003ca href=\"https://www.lambdatest.com\"\u003eTestMu AI Open Source Office (Formerly LambdaTest)\u003c/a\u003e (@\u003ca href=\"https://github.com/LambdaTest-Inc\"\u003eLambdaTest-Inc\u003c/a\u003e), \u003ca href=\"https://doist.com/\"\u003eDoist\u003c/a\u003e (@\u003ca href=\"https://github.com/Doist\"\u003eDoist\u003c/a\u003e), Daniel Fortunov (@\u003ca href=\"https://github.com/asqui\"\u003easqui\u003c/a\u003e), and Kevin P. Fleming (@\u003ca href=\"https://github.com/kpfleming\"\u003ekpfleming\u003c/a\u003e).\u003c/p\u003e\n\u003ch3\u003eMaintenance Sustainers\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://buttondown.com\"\u003eButtondown\u003c/a\u003e (@\u003ca href=\"https://github.com/buttondown\"\u003ebuttondown\u003c/a\u003e), \u003ca href=\"https://christopher.xyz\"\u003eChristopher Dignam\u003c/a\u003e (@\u003ca href=\"https://github.com/chdsbd\"\u003echdsbd\u003c/a\u003e), Magnus Watn (@\u003ca href=\"https://github.com/magnuswatn\"\u003emagnuswatn\u003c/a\u003e), \u003ca href=\"https://cra.mr\"\u003eDavid Cramer\u003c/a\u003e (@\u003ca href=\"https://github.com/dcramer\"\u003edcramer\u003c/a\u003e), \u003ca href=\"https://rivolaks.com\"\u003eRivo Laks\u003c/a\u003e (@\u003ca href=\"https://github.com/rivol\"\u003erivol\u003c/a\u003e), \u003ca href=\"https://polar.sh\"\u003ePolar\u003c/a\u003e (@\u003ca href=\"https://github.com/polarsource\"\u003epolarsource\u003c/a\u003e), \u003ca href=\"https://miketheman.dev\"\u003eMike Fiedler\u003c/a\u003e (@\u003ca href=\"https://github.com/miketheman\"\u003emiketheman\u003c/a\u003e), Duncan Hill (@\u003ca href=\"https://github.com/cricalix\"\u003ecricalix\u003c/a\u003e), Colin Marquardt (@\u003ca href=\"https://github.com/cmarqu\"\u003ecmarqu\u003c/a\u003e), \u003ca href=\"https://blog.journeythatcounts.nl\"\u003ePieter Swinkels\u003c/a\u003e (@\u003ca href=\"https://github.com/swinkels\"\u003eswinkels\u003c/a\u003e), Nick Libertini (@\u003ca href=\"https://github.com/libertininick\"\u003elibertininick\u003c/a\u003e), \u003ca href=\"https://bmdphd.info/\"\u003eBrian M. Dennis\u003c/a\u003e (@\u003ca href=\"https://github.com/crossjam\"\u003ecrossjam\u003c/a\u003e), Celebrity News AG (@\u003ca href=\"https://github.com/celebritynewsag\"\u003ecelebritynewsag\u003c/a\u003e), \u003ca href=\"https://westervelt.com\"\u003eThe Westervelt Company\u003c/a\u003e (@\u003ca href=\"https://github.com/westerveltco\"\u003ewesterveltco\u003c/a\u003e), \u003ca href=\"https://slafs.net\"\u003eSławomir Ehlert\u003c/a\u003e (@\u003ca href=\"https://github.com/slafs\"\u003eslafs\u003c/a\u003e), Mostafa Khalil (@\u003ca href=\"https://github.com/khadrawy\"\u003ekhadrawy\u003c/a\u003e), \u003ca href=\"https://fmularczyk.pl\"\u003eFilip Mularczyk\u003c/a\u003e (@\u003ca href=\"https://github.com/mukiblejlok\"\u003emukiblejlok\u003c/a\u003e), Thomas Klinger (@\u003ca href=\"https://github.com/thmsklngr\"\u003ethmsklngr\u003c/a\u003e), \u003ca href=\"https://poehlmann.io\"\u003eAndreas Poehlmann\u003c/a\u003e (@\u003ca href=\"https://github.com/ap--\"\u003eap--\u003c/a\u003e), \u003ca href=\"https://atbigelow.com\"\u003eAugust Trapper Bigelow\u003c/a\u003e (@\u003ca href=\"https://github.com/atbigelow\"\u003eatbigelow\u003c/a\u003e), \u003ca href=\"https://noumenal.es/\"\u003eCarlton Gibson\u003c/a\u003e (@\u003ca href=\"https://github.com/carltongibson\"\u003ecarltongibson\u003c/a\u003e), and \u003ca href=\"https://roboflow.com\"\u003eRoboflow\u003c/a\u003e (@\u003ca href=\"https://github.com/roboflow\"\u003eroboflow\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eFull Changelog\u003c/h2\u003e\n\u003ch3\u003eBackwards-incompatible Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eField aliases are now resolved \u003cem\u003ebefore\u003c/em\u003e calling \u003ccode\u003efield_transformer\u003c/code\u003e, so transformers receive fully populated \u003ccode\u003eAttribute\u003c/code\u003e objects with usable \u003ccode\u003ealias\u003c/code\u003e values instead of \u003ccode\u003eNone\u003c/code\u003e. The new \u003ccode\u003eAttribute.alias_is_default\u003c/code\u003e flag indicates whether the alias was auto-generated (\u003ccode\u003eTrue\u003c/code\u003e) or explicitly set by the user (\u003ccode\u003eFalse\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1509\"\u003e#1509\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix type annotations for \u003ccode\u003eattrs.validators.optional()\u003c/code\u003e, so it no longer rejects tuples with more than one validator. \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eattrs.validators.disabled()\u003c/code\u003e contextmanager can now be nested. \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1513\"\u003e#1513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFrozen classes can set \u003ccode\u003eon_setattr=attrs.setters.NO_OP\u003c/code\u003e in addition to \u003ccode\u003eNone\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIt's now possible to pass \u003cem\u003eattrs\u003c/em\u003e \u003cstrong\u003einstances\u003c/strong\u003e in addition to \u003cem\u003eattrs\u003c/em\u003e \u003cstrong\u003eclasses\u003c/strong\u003e to \u003ccode\u003eattrs.fields()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1529\"\u003e#1529\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release contains contributions from \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/DavidCEllis\"\u003e\u003ccode\u003e@​DavidCEllis\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/finite-state-machine\"\u003e\u003ccode\u003e@​finite-state-machine\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/hynek\"\u003e\u003ccode\u003e@​hynek\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/vstinner\"\u003e\u003ccode\u003e@​vstinner\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eArtifact Attestations\u003c/h2\u003e\n\u003cp\u003eYou can verify this release's \u003ca href=\"https://docs.github.com/en/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds\"\u003eartifact attestions\u003c/a\u003e using \u003ca href=\"https://cli.github.com\"\u003eGitHub's CLI tool\u003c/a\u003e by downloading the sdist and wheel from \u003ca href=\"https://pypi.org/project/attrs\"\u003ePyPI\u003c/a\u003e and running:\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003e$ gh attestation verify --owner python-attrs attrs-26.1.0.tar.gz\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-attrs/attrs/blob/main/CHANGELOG.md\"\u003eattrs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/python-attrs/attrs/tree/26.1.0\"\u003e26.1.0\u003c/a\u003e - 2026-03-19\u003c/h2\u003e\n\u003ch3\u003eBackwards-incompatible Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eField aliases are now resolved \u003cem\u003ebefore\u003c/em\u003e calling \u003ccode\u003efield_transformer\u003c/code\u003e, so transformers receive fully populated \u003ccode\u003eAttribute\u003c/code\u003e objects with usable \u003ccode\u003ealias\u003c/code\u003e values instead of \u003ccode\u003eNone\u003c/code\u003e.\nThe new \u003ccode\u003eAttribute.alias_is_default\u003c/code\u003e flag indicates whether the alias was auto-generated (\u003ccode\u003eTrue\u003c/code\u003e) or explicitly set by the user (\u003ccode\u003eFalse\u003c/code\u003e).\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1509\"\u003e#1509\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix type annotations for \u003ccode\u003eattrs.validators.optional()\u003c/code\u003e, so it no longer rejects tuples with more than one validator.\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eattrs.validators.disabled()\u003c/code\u003e contextmanager can now be nested.\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1513\"\u003e#1513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFrozen classes can set \u003ccode\u003eon_setattr=attrs.setters.NO_OP\u003c/code\u003e in addition to \u003ccode\u003eNone\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIt's now possible to pass \u003cem\u003eattrs\u003c/em\u003e \u003cstrong\u003einstances\u003c/strong\u003e in addition to \u003cem\u003eattrs\u003c/em\u003e \u003cstrong\u003eclasses\u003c/strong\u003e to \u003ccode\u003eattrs.fields()\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1529\"\u003e#1529\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/python-attrs/attrs/commit/7bfc49e9b22d5ba25b6e429524c3d49fee27cb36\"\u003e\u003ccode\u003e7bfc49e\u003c/code\u003e\u003c/a\u003e Prepare 26.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/31e02869da10824b492c378c1dc87ccc720ee5ad\"\u003e\u003ccode\u003e31e0286\u003c/code\u003e\u003c/a\u003e Update test_validators.py for Python 3.15a7 (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1530\"\u003e#1530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/48b8611c27779811d161200e17de8da24aae7feb\"\u003e\u003ccode\u003e48b8611\u003c/code\u003e\u003c/a\u003e Add instance support to attrs.fields() (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1529\"\u003e#1529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/3a68d4913221abc6f8ad3be50937f7ae49300a98\"\u003e\u003ccode\u003e3a68d49\u003c/code\u003e\u003c/a\u003e dev: document missing git tags failure mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/a572c3a4c558a8b9b48cf989fcd956ab1a279439\"\u003e\u003ccode\u003ea572c3a\u003c/code\u003e\u003c/a\u003e Allow field(on_setattr=NO_OP) on frozen classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/af9c510912ce604a94896cc35c27368d5baf6ae6\"\u003e\u003ccode\u003eaf9c510\u003c/code\u003e\u003c/a\u003e Fix validators.disabled() to save/restore state on nesting (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1513\"\u003e#1513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/ab7f8b2f4c0f747d5b1575247ce35e5adaad182e\"\u003e\u003ccode\u003eab7f8b2\u003c/code\u003e\u003c/a\u003e update dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/ce89f5d11feb0805da9ed10bb165238cc959f1bb\"\u003e\u003ccode\u003ece89f5d\u003c/code\u003e\u003c/a\u003e Fix message passing in frozen errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/eccd966d80aff5196efc959316961cfa780439f9\"\u003e\u003ccode\u003eeccd966\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eoptional\u003c/code\u003e validator to accept tuples of len \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/e92fe52dfe1eb07167e6473724c5a8ada978add0\"\u003e\u003ccode\u003ee92fe52\u003c/code\u003e\u003c/a\u003e policies: tighten screws (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1528\"\u003e#1528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-attrs/attrs/compare/25.4.0...26.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `build` from 1.4.0 to 1.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/releases\"\u003ebuild's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(uv): always pass the python to use by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/996\"\u003epypa/build#996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(release): detect pre-commit environment inconsistencies by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1001\"\u003epypa/build#1001\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🔧 fix(towncrier): match docstrfmt RST formatting expectations by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1002\"\u003epypa/build#1002\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix _has_valid_outer_pip when pip is missing by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1003\"\u003epypa/build#1003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: release changelog issue by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1006\"\u003epypa/build#1006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1003\"\u003epypa/build#1003\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/build/compare/1.4.1...1.4.2\"\u003ehttps://github.com/pypa/build/compare/1.4.1...1.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.4.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix documentation grammar and typos by \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/979\"\u003epypa/build#979\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow setting build constraints by \u003ca href=\"https://github.com/layday\"\u003e\u003ccode\u003e@​layday\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/963\"\u003epypa/build#963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: pip hack workaround by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/980\"\u003epypa/build#980\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 docs: reorganize using Diataxis framework by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/988\"\u003epypa/build#988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(ci): automate releases and harden workflows by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/991\"\u003epypa/build#991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: avoid template injection zizmor issue by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/994\"\u003epypa/build#994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix PR template by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/995\"\u003epypa/build#995\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix fix job by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/997\"\u003epypa/build#997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(ci): resolve pre-release auth failure and change detection by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/999\"\u003epypa/build#999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(deps): add pre-commit to release dependency group by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/build/pull/1000\"\u003epypa/build#1000\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/build/compare/1.4.0...1.4.1\"\u003ehttps://github.com/pypa/build/compare/1.4.0...1.4.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/blob/main/CHANGELOG.rst\"\u003ebuild's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e####################\n1.4.2 (2026-03-25)\n####################\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure the \u003ccode\u003euv\u003c/code\u003e installer uses the current version of Python, avoiding an issue if \u003ccode\u003eUV_PYTHON\u003c/code\u003e is set, for\nexample. (:issue:\u003ccode\u003e977\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e_has_valid_outer_pip\u003c/code\u003e returning \u003ccode\u003eTrue\u003c/code\u003e when pip is missing, causing build to try using a non-existent pip\ninstead of falling back to virtualenv. (:issue:\u003ccode\u003e1003\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e####################\n1.4.1 (2026-03-24)\n####################\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eAllow setting build constraints - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e963\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAutomate releases with pre-release workflow and trusted publishing - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e991\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eDocumentation\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eFix documentation grammar and typos (:issue:\u003ccode\u003e979\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eReorganize documentation using Diataxis framework - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e988\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDocument release process and workflow security practices in contributing guide (:issue:\u003ccode\u003e991\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMiscellaneous\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e:issue:\u003ccode\u003e991\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eFix pip hack workaround - by :user:\u003ccode\u003egaborbernat\u003c/code\u003e (:issue:\u003ccode\u003e980\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e####################\n1.4.0 (2026-01-08)\n####################\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag (:pr:\u003ccode\u003e947\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e (:pr:\u003ccode\u003e940\u003c/code\u003e, :pr:\u003ccode\u003e943\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/7b7ae078aa1dabff33ea72d07ed15dd298acf80a\"\u003e\u003ccode\u003e7b7ae07\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/17f3b57c7cde11a9785b3164d7b92237846c56ce\"\u003e\u003ccode\u003e17f3b57\u003c/code\u003e\u003c/a\u003e fix: release changelog issue (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1006\"\u003e#1006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/b9457525a02bb4de40c59a39a092306a03e3a24d\"\u003e\u003ccode\u003eb945752\u003c/code\u003e\u003c/a\u003e fix: _has_valid_outer_pip when pip is missing (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1003\"\u003e#1003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/74ae997a9a227303f7d02bf4b226922c7ba4efd1\"\u003e\u003ccode\u003e74ae997\u003c/code\u003e\u003c/a\u003e 🔧 fix(towncrier): match docstrfmt RST formatting expectations (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/378692921af6501596572bfc068420391c744ca8\"\u003e\u003ccode\u003e3786929\u003c/code\u003e\u003c/a\u003e 🐛 fix(release): detect pre-commit environment inconsistencies (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1001\"\u003e#1001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/737bdb784406ab966ba666446e79c9e19bdfe237\"\u003e\u003ccode\u003e737bdb7\u003c/code\u003e\u003c/a\u003e fix(uv): always pass the python to use (\u003ca href=\"https://redirect.github.com/pypa/build/issues/996\"\u003e#996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/bd889569a1b9e2e7722682378c2d0cec469166a2\"\u003e\u003ccode\u003ebd88956\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/062e7e2caa1a33cfad8b6fe4740c5aa41d384bdc\"\u003e\u003ccode\u003e062e7e2\u003c/code\u003e\u003c/a\u003e 🐛 fix(deps): add pre-commit to release dependency group (\u003ca href=\"https://redirect.github.com/pypa/build/issues/1000\"\u003e#1000\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/3d8e260f635febc10b5e9cd0e5402746deeb6dcd\"\u003e\u003ccode\u003e3d8e260\u003c/code\u003e\u003c/a\u003e 🐛 fix(ci): resolve pre-release auth failure and change detection (\u003ca href=\"https://redirect.github.com/pypa/build/issues/999\"\u003e#999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/f2a26104d4fd6d13fdb75a29fd067ee80271f497\"\u003e\u003ccode\u003ef2a2610\u003c/code\u003e\u003c/a\u003e chore: fix fix job (\u003ca href=\"https://redirect.github.com/pypa/build/issues/997\"\u003e#997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/build/compare/1.4.0...1.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2026.1.4 to 2026.2.25\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/8571a4ba5205675107f9026d0008ad2d7a2778bf\"\u003e\u003ccode\u003e8571a4b\u003c/code\u003e\u003c/a\u003e 2026.02.25 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6f7de00579d292af565bbb8a947643219794eb6d\"\u003e\u003ccode\u003e6f7de00\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/390\"\u003e#390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a1de59b15105cad768afed4f066b36171134f04a\"\u003e\u003ccode\u003ea1de59b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/7f5ade5d8da615fd366e8de6a668271251c45d34\"\u003e\u003ccode\u003e7f5ade5\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.1.0 to 6.2.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.01.04...2026.02.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `charset-normalizer` from 3.4.4 to 3.4.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/releases\"\u003echarset-normalizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.4.6\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.5...3.4.6\"\u003e3.4.6\u003c/a\u003e (2026-03-15)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlattened the logic in \u003ccode\u003echarset_normalizer.md\u003c/code\u003e for higher performance. Removed \u003ccode\u003eeligible(..)\u003c/code\u003e and \u003ccode\u003efeed(...)\u003c/code\u003e\nin favor of \u003ccode\u003efeed_info(...)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound for mypy[c] to 1.20, for our optimized version.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eUNICODE_RANGES_COMBINED\u003c/code\u003e using Unicode blocks v17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEdge case where noise difference between two candidates can be almost insignificant. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCLI \u003ccode\u003e--normalize\u003c/code\u003e writing to wrong path when passing multiple files in. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/702\"\u003e#702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFreethreaded pre-built wheels now shipped in PyPI starting with 3.14t. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.5\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.4...3.4.5\"\u003e3.4.5\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=82\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.19.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd explicit link to lib math in our optimized build. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLogger level not restored correctly for empty byte sequences. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/701\"\u003e#701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypeError when passing bytearray to from_bytes. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/703\"\u003e#703\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApplied safe micro-optimizations in both our noise detector and language detector.\u003c/li\u003e\n\u003cli\u003eRewrote the \u003ccode\u003equery_yes_no\u003c/code\u003e function (inside CLI) to avoid using ambiguous licensed code.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecd.py\u003c/code\u003e submodule into mypyc optional compilation to reduce further the performance impact.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003cbr /\u003e\nmypyc changed the usual binary output for the optimized wheel. Beware, especially if using PyInstaller or alike. See \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/714\"\u003ejawah/charset_normalizer#714\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md\"\u003echarset-normalizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.5...3.4.6\"\u003e3.4.6\u003c/a\u003e (2026-03-15)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlattened the logic in \u003ccode\u003echarset_normalizer.md\u003c/code\u003e for higher performance. Removed \u003ccode\u003eeligible(..)\u003c/code\u003e and \u003ccode\u003efeed(...)\u003c/code\u003e\nin favor of \u003ccode\u003efeed_info(...)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound for mypy[c] to 1.20, for our optimized version.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eUNICODE_RANGES_COMBINED\u003c/code\u003e using Unicode blocks v17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEdge case where noise difference between two candidates can be almost insignificant. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCLI \u003ccode\u003e--normalize\u003c/code\u003e writing to wrong path when passing multiple files in. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/702\"\u003e#702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFreethreaded pre-built wheels now shipped in PyPI starting with 3.14t. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.4...3.4.5\"\u003e3.4.5\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=82\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.19.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd explicit link to lib math in our optimized build. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLogger level not restored correctly for empty byte sequences. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/701\"\u003e#701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypeError when passing bytearray to from_bytes. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/703\"\u003e#703\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApplied safe micro-optimizations in both our noise detector and language detector.\u003c/li\u003e\n\u003cli\u003eRewrote the \u003ccode\u003equery_yes_no\u003c/code\u003e function (inside CLI) to avoid using ambiguous licensed code.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecd.py\u003c/code\u003e submodule into mypyc optional compilation to reduce further the performance impact.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/5478b84058a2a04e2d67a5dabbe0a273706707aa\"\u003e\u003ccode\u003e5478b84\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/715\"\u003e#715\u003c/a\u003e from jawah/release-3.4.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/5c0a09e2caf1b3977df691916e949e1de4b8a738\"\u003e\u003ccode\u003e5c0a09e\u003c/code\u003e\u003c/a\u003e :heavy_check_mark: add confidence for threading usage, mostly due to lru_cach...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/ef826b28d9f21e0059c93acc69a8bf364126c179\"\u003e\u003ccode\u003eef826b2\u003c/code\u003e\u003c/a\u003e :pencil: update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/5564f1aebe56584150a988f565ff69ee316dcefe\"\u003e\u003ccode\u003e5564f1a\u003c/code\u003e\u003c/a\u003e :pencil: update docs accordingly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/0f2cf7d86e7c3ef4b77790a754b048bfada4fd09\"\u003e\u003ccode\u003e0f2cf7d\u003c/code\u003e\u003c/a\u003e :pencil: update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/54a189446becf4f2b42772f0dce89a5ef79fe8cc\"\u003e\u003ccode\u003e54a1894\u003c/code\u003e\u003c/a\u003e :bug: fix --normalize writing to wrong path with multiple files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/2177e28828bb7fcc2f1bed2a2d4463161a180812\"\u003e\u003ccode\u003e2177e28\u003c/code\u003e\u003c/a\u003e :pencil: update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b2497a54ba545dae84be01649d66fd52a7fcfc2d\"\u003e\u003ccode\u003eb2497a5\u003c/code\u003e\u003c/a\u003e :bug: edge case where noise difference between two candidates can be almost i...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/13a5d0b471cfb9b60b8cda84c78b7874c0267123\"\u003e\u003ccode\u003e13a5d0b\u003c/code\u003e\u003c/a\u003e :wrench: upgrade ci requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b9ffbd4e8314b0f733ddb34eef32d80490eb947c\"\u003e\u003ccode\u003eb9ffbd4\u003c/code\u003e\u003c/a\u003e :wrench: enable 3.14t nox mypyc session\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jawah/charset_normalizer/compare/3.4.4...3.4.6\"\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/2a53705f5fe588158b8a8d37ff3beee86388b9e4\"\u003e\u003ccode\u003e2a53705\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group across 1 directory with 4 updates (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/e7c878d201db819416b978150944d9a842d22b18\"\u003e\u003ccode\u003ee7c878d\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/ab4db406a9c35acf977cf3ddb94a78d696b77bc5\"\u003e\u003ccode\u003eab4db40\u003c/code\u003e\u003c/a\u003e build: use --generate-hashes when pinning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a438753eef870441044cef588e29ce4b9a28adf1\"\u003e\u003ccode\u003ea438753\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/7b33457d2c6367dfd5a563239998b3980444e090\"\u003e\u003ccode\u003e7b33457\u003c/code\u003e\u003c/a\u003e refactor: some leftover pyupgrade 3.10 bits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/2ff968db91a7cdafe6f6569ac7659a3a93a2da07\"\u003e\u003ccode\u003e2ff968d\u003c/code\u003e\u003c/a\u003e refactor: this type wasn't used anywhere\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.13.4...7.13.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsonpointer` from 3.0.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/ada0cade3bcd21d5726dd701d092c7d0d1ce8c41\"\u003e\u003ccode\u003eada0cad\u003c/code\u003e\u003c/a\u003e bump version to 3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/bea0f7e8b20385a4eb996379eb7e2f4bceeeec6e\"\u003e\u003ccode\u003ebea0f7e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/stefankoegl/python-json-pointer/issues/68\"\u003e#68\u003c/a\u003e from nsano-rururu/test-py313and314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/e6844d773551f59e305fc23ad472210c180e4961\"\u003e\u003ccode\u003ee6844d7\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into test-py313and314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/0e9ea501538611449c00626d3b6dce45a4b879c8\"\u003e\u003ccode\u003e0e9ea50\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/stefankoegl/python-json-pointer/issues/69\"\u003e#69\u003c/a\u003e from angela-tarantula/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/928959cd223bea6b3cf42941cbf990921b9b8351\"\u003e\u003ccode\u003e928959c\u003c/code\u003e\u003c/a\u003e Fix flake8 issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/b657276f03665b929f94e81ca4553308cafd925c\"\u003e\u003ccode\u003eb657276\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/1233257b65b192d73f67c28bfa9c2495c9444950\"\u003e\u003ccode\u003e1233257\u003c/code\u003e\u003c/a\u003e add test case from pull request description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/97cd230d9c91b2a86a032c73c8127df34b1dcd16\"\u003e\u003ccode\u003e97cd230\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/stefankoegl/python-json-pointer/issues/74\"\u003e#74\u003c/a\u003e from stefankoegl/v3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/b7981159afe8547c3d5aa50ef427eb7162d6b1e6\"\u003e\u003ccode\u003eb798115\u003c/code\u003e\u003c/a\u003e release v3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stefankoegl/python-json-pointer/commit/5f899691e9451e9501391f472f5ce48cdc3bdf7a\"\u003e\u003ccode\u003e5f89969\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/stefankoegl/python-json-pointer/issues/73\"\u003e#73\u003c/a\u003e from stefankoegl/update-python\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/stefankoegl/python-json-pointer/compare/v3.0.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langchain-anthropic` from 1.3.3 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain/releases\"\u003elangchain-anthropic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain-anthropic==1.4.0\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-anthropic==1.3.5\u003c/p\u003e\n\u003cp\u003erelease(anthropic): 1.4 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36018\"\u003e#36018\u003c/a\u003e)\nfeat(anthropic): AnthropicPromptCachingMiddleware: apply explicit caching to system message and tool definitions (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35969\"\u003e#35969\u003c/a\u003e)\nfeat(anthropic): delegate cache_control kwarg to anthropic top-level param (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35967\"\u003e#35967\u003c/a\u003e)\nchore(model-profiles): refresh model profile data (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35959\"\u003e#35959\u003c/a\u003e)\nchore: bump orjson from 3.11.5 to 3.11.6 in /libs/partners/anthropic (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35867\"\u003e#35867\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain-anthropic==1.3.5\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-anthropic==1.3.4\u003c/p\u003e\n\u003cp\u003erelease(anthropic): 1.3.5 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35873\"\u003e#35873\u003c/a\u003e)\nfix(anthropic): Ignore general usage cache_creation fields if more specific fields are set (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35845\"\u003e#35845\u003c/a\u003e)\nperf(.github): set a timeout on get min versions HTTP calls (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35851\"\u003e#35851\u003c/a\u003e)\nfeat(model-profiles): new fields + \u003ccode\u003eMakefile\u003c/code\u003e target (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35788\"\u003e#35788\u003c/a\u003e)\nfix(anthropic): support eager_input_streaming (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35779\"\u003e#35779\u003c/a\u003e)\nfix(anthropic): move _make_message_chunk_from_anthropic_event to instance method (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35670\"\u003e#35670\u003c/a\u003e)\nchore: bump langgraph from 1.0.8 to 1.0.10rc1 in /libs/partners/anthropic (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35614\"\u003e#35614\u003c/a\u003e)\nfix(anthropic): update integration test (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35577\"\u003e#35577\u003c/a\u003e)\nfix(anthropic): drop forced tool_choice when thinking is enabled (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35544\"\u003e#35544\u003c/a\u003e)\nchore: bump langgraph-checkpoint from 3.0.1 to 4.0.0 in /libs/partners/anthropic (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35450\"\u003e#35450\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain-anthropic==1.3.4\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-anthropic==1.3.3\u003c/p\u003e\n\u003cp\u003erelease(anthropic): 1.3.4 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35418\"\u003e#35418\u003c/a\u003e)\nfix(anthropic): filter out common OpenAI Responses block types (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35417\"\u003e#35417\u003c/a\u003e)\nfix(anthropic): update integration tests (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35396\"\u003e#35396\u003c/a\u003e)\nrevert: add ChatAnthropicBedrockWrapper (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35371\"\u003e#35371\u003c/a\u003e)\nfix(anthropic): replace retired model IDs in tests and docstrings (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35365\"\u003e#35365\u003c/a\u003e)\nfeat(anthropic): add ChatAnthropicBedrock wrapper (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35091\"\u003e#35091\u003c/a\u003e)\nfix(model-profiles): sort generated profiles by model ID for stable diffs (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35344\"\u003e#35344\u003c/a\u003e)\nfix(anthropic): set max input tokens based on 1m context beta header (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35341\"\u003e#35341\u003c/a\u003e)\nchore: bump model profiles (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35294\"\u003e#35294\u003c/a\u003e)\nfeat(anthropic): add User-Agent header for Anthropic API calls (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35268\"\u003e#35268\u003c/a\u003e)\nchore(anthropic): add version (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35293\"\u003e#35293\u003c/a\u003e)\nfix(anthropic): hoist cache_control from tool_result content sub-blocks to tool_result level (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35126\"\u003e#35126\u003c/a\u003e)\nchore(deps): bump langsmith from 0.4.43 to 0.6.3 in /libs/partners/anthropic (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35150\"\u003e#35150\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/langchain-ai/langchain/commit/a9204aa6eb0a446f13fcbce35cbf2c7f1c50cb1f\"\u003e\u003ccode\u003ea9204aa\u003c/code\u003e\u003c/a\u003e chore: bump pyasn1 from 0.6.2 to 0.6.3 in /libs/langchain (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36030\"\u003e#36030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/999cd85ba0ea022930bd1f73c0f0008420816d2f\"\u003e\u003ccode\u003e999cd85\u003c/code\u003e\u003c/a\u003e release(anthropic): 1.4 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36018\"\u003e#36018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/81c679e378d7b3b358e5ff0151aa4344c697dd9e\"\u003e\u003ccode\u003e81c679e\u003c/code\u003e\u003c/a\u003e chore: bump pyasn1 from 0.6.2 to 0.6.3 in /libs/langchain_v1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36029\"\u003e#36029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/abcc7d68c13de1182f424f39db1c8564a756d934\"\u003e\u003ccode\u003eabcc7d6\u003c/code\u003e\u003c/a\u003e fix: bump pillow (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36027\"\u003e#36027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/ceca192515bf98af2d56f8d7e8aeec2317fe8dac\"\u003e\u003ccode\u003ececa192\u003c/code\u003e\u003c/a\u003e chore: bump pyjwt from 2.10.1 to 2.12.0 in /libs/langchain_v1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36024\"\u003e#36024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/a17445bbfd61d7ab173f4c85079c99c0d3ceb16c\"\u003e\u003ccode\u003ea17445b\u003c/code\u003e\u003c/a\u003e docs(core): document \u003ccode\u003ebase_url\u003c/code\u003e in mermaid api (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35961\"\u003e#35961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/eff9210496e5e3b7c43ae45846e5b83de8256972\"\u003e\u003ccode\u003eeff9210\u003c/code\u003e\u003c/a\u003e fix(langchain): export Runtime from agents.middleware (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35975\"\u003e#35975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/043ef0721ad9ea58a3e8d9f65df2e3e6c880434f\"\u003e\u003ccode\u003e043ef07\u003c/code\u003e\u003c/a\u003e feat(anthropic): AnthropicPromptCachingMiddleware: apply explicit caching to ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/55711b010ba7700e9073511a1575a4fceea2251e\"\u003e\u003ccode\u003e55711b0\u003c/code\u003e\u003c/a\u003e feat(anthropic): delegate cache_control kwarg to anthropic top-level param (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/5a2c999855aea80063650a06210442a2aade2a44\"\u003e\u003ccode\u003e5a2c999\u003c/code\u003e\u003c/a\u003e chore: bump orjson from 3.11.5 to 3.11.6 in /libs/core (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35805\"\u003e#35805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langchain/compare/langchain-anthropic==1.3.3...langchain-anthropic==1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langchain-core` from 1.2.22 to 1.2.23\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain/releases\"\u003elangchain-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain-core==1.2.23\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-core==1.2.22\u003c/p\u003e\n\u003cp\u003erelease(core): 1.2.23 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36323\"\u003e#36323\u003c/a\u003e)\nrevert: Revert \u0026quot;fix(core): trace invocation params in metadata\u0026quot; (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36322\"\u003e#36322\u003c/a\u003e)\nchore: bump requests from 2.32.5 to 2.33.0 in /libs/core (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36243\"\u003e#36243\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/langchain-ai/langchain/commit/d48364130dfc4ef2e8a751453d2045243c22b388\"\u003e\u003ccode\u003ed483641\u003c/code\u003e\u003c/a\u003e release(core): 1.2.23 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36323\"\u003e#36323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/389f7ad1bc15123b8b901e61d0a1785b0a14815f\"\u003e\u003ccode\u003e389f7ad\u003c/code\u003e\u003c/a\u003e revert: Revert \u0026quot;fix(core): trace invocation params in metadata\u0026quot; (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36322\"\u003e#36322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/475408fa620996e1958d18a0789ed5bf9fdee054\"\u003e\u003ccode\u003e475408f\u003c/code\u003e\u003c/a\u003e fix(langchain): recognize ChatAnthropicVertex in _get_approximate_token_count...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/1545dbfa174c4dcf1d9a8618da59df480b33e235\"\u003e\u003ccode\u003e1545dbf\u003c/code\u003e\u003c/a\u003e chore(langchain): remove unnecessary description for toods list as a group (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/494b760028dfedddc1b91ad79f80a05d393d277e\"\u003e\u003ccode\u003e494b760\u003c/code\u003e\u003c/a\u003e fix(chroma): fix Python 3.14 support in langchain-chroma (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36199\"\u003e#36199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/c7a677bba511d7f3f5c36f9384ae6ba150866e04\"\u003e\u003ccode\u003ec7a677b\u003c/code\u003e\u003c/a\u003e chore(langchain): add async implementation to todolist and test (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36313\"\u003e#36313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/03515881176fddba919e3592e0a41cbc9806fdb8\"\u003e\u003ccode\u003e0351588\u003c/code\u003e\u003c/a\u003e chore: harden language in ci (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36314\"\u003e#36314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/954a23094d15b91ae2137cbfabd3870cb8853a5e\"\u003e\u003ccode\u003e954a230\u003c/code\u003e\u003c/a\u003e chore(langchain): speed up todo list middleware init (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36311\"\u003e#36311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/89cd0caa54d541e33ae87224c8e277bcbb026020\"\u003e\u003ccode\u003e89cd0ca\u003c/code\u003e\u003c/a\u003e docs: fix grammatical error in development guidelines (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36225\"\u003e#36225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/2aeeb58ef11e74ab98f869d6ae5c2ae04721be06\"\u003e\u003ccode\u003e2aeeb58\u003c/code\u003e\u003c/a\u003e chore: bump requests from 2.32.5 to 2.33.0 in /libs/core (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36243\"\u003e#36243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langchain/compare/langchain-core==1.2.22...langchain-core==1.2.23\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langchain-openai` from 1.1.10 to 1.1.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain/releases\"\u003elangchain-openai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain-openai==1.1.12\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-openai==1.1.11\u003c/p\u003e\n\u003cp\u003efix(openai): bump min core version (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36180\"\u003e#36180\u003c/a\u003e)\nrelease(openai): 1.1.12 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36178\"\u003e#36178\u003c/a\u003e)\nfix(core,model-profiles): add missing \u003ccode\u003eModelProfile\u003c/code\u003e fields, warn on schema drift (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36129\"\u003e#36129\u003c/a\u003e)\nfix(openai): support phase parameter (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36161\"\u003e#36161\u003c/a\u003e)\nfix(openai): preserve namespace field in streaming function_call chunks (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36108\"\u003e#36108\u003c/a\u003e)\nci: suppress pytest streaming output in CI (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36092\"\u003e#36092\u003c/a\u003e)\nci: avoid unnecessary dep installs in lint targets (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36046\"\u003e#36046\u003c/a\u003e)\nchore(model-profiles): refresh model profile data (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36039\"\u003e#36039\u003c/a\u003e)\nchore: bump orjson from 3.11.5 to 3.11.6 in /libs/partners/openai (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35860\"\u003e#35860\u003c/a\u003e)\nfix(openai): add type: message to Responses API input items (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35693\"\u003e#35693\u003c/a\u003e)\nperf(.github): set a timeout on get min versions HTTP calls (\u003ca href=\"https://redirect.github.com/langchain-ai/...\n\n_Description has been truncated_","html_url":"https://github.com/toniantunovi/lucidshark/pull/87","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/toniantunovi%2Flucidshark/issues/87","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/87/packages"}},{"old_version":"3.11.7","new_version":"3.11.8","update_type":"patch","path":null,"pr_created_at":"2026-03-31T20:05:50.000Z","version_change":"3.11.7 → 3.11.8","issue":{"uuid":"4182006709","node_id":"PR_kwDOJ7qKoc7PDZCS","number":1135,"state":"open","title":"Bump orjson from 3.11.7 to 3.11.8","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":6,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-31T20:05:50.000Z","updated_at":"2026-04-02T19:37:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"orjson","old_version":"3.11.7","new_version":"3.11.8","repository_url":"https://github.com/ijl/orjson"}],"path":null,"ecosystem":"pip"},"body":"Bumps [orjson](https://github.com/ijl/orjson) from 3.11.7 to 3.11.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.8 - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild and compatibility improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/5cbb3d0398a2f42de51210270286fecd798c5d78\"\u003e\u003ccode\u003e5cbb3d0\u003c/code\u003e\u003c/a\u003e 3.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4195d7f263e33076295b75efdcbaf6a55af8674e\"\u003e\u003ccode\u003e4195d7f\u003c/code\u003e\u003c/a\u003e writer::half\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d00641b69410728a735f0855eb1c2843b0a5819b\"\u003e\u003ccode\u003ed00641b\u003c/code\u003e\u003c/a\u003e writer::uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c84d9b4ba4853781af943fa5c493e261e2f82b84\"\u003e\u003ccode\u003ec84d9b4\u003c/code\u003e\u003c/a\u003e build and compatibility misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4547234b681fac5e0e0734cf44c21e75f9654e43\"\u003e\u003ccode\u003e4547234\u003c/code\u003e\u003c/a\u003e ffi::numpy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/0d4a5ad1f17a72528ba027554466fdec6580cdeb\"\u003e\u003ccode\u003e0d4a5ad\u003c/code\u003e\u003c/a\u003e datetime PyRef idiom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/e93a13d372ec956d027e71d023eb534b8445ac85\"\u003e\u003ccode\u003ee93a13d\u003c/code\u003e\u003c/a\u003e Cross-compile avoids maturin v1.12 build-details.json error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.7...3.11.8\"\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=orjson\u0026package-manager=pip\u0026previous-version=3.11.7\u0026new-version=3.11.8)](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/great-expectations/cloud/pull/1135","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/great-expectations%2Fcloud/issues/1135","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1135/packages"}},{"old_version":"3.10.12","new_version":"3.11.6","update_type":"minor","path":null,"pr_created_at":"2026-03-30T20:52:05.000Z","version_change":"3.10.12 → 3.11.6","issue":{"uuid":"4174009939","node_id":"PR_kwDOPaNb1c7OwRDT","number":2,"state":"closed","title":"Bump the pip group across 2 directories with 7 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-03T22:17:12.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-30T20:52:05.000Z","updated_at":"2026-04-03T22:17:15.000Z","time_to_close":350707,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip","update_count":7,"packages":[{"name":"mlflow","old_version":"3.2.0rc0","new_version":"3.9.0rc0","repository_url":"https://github.com/mlflow/mlflow"},{"name":"pyasn1","old_version":"0.6.1","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"sqlparse","old_version":"0.5.3","new_version":"0.5.4","repository_url":"https://github.com/andialbrecht/sqlparse"},{"name":"google-cloud-aiplatform","old_version":"1.47.0","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"orjson","old_version":"3.10.12","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"},{"name":"fastapi-sso","old_version":"0.16.0","new_version":"0.19.0","repository_url":"https://github.com/tomasvotava/fastapi-sso"},{"name":"mcp","old_version":"1.10.1","new_version":"1.23.0","repository_url":"https://github.com/modelcontextprotocol/python-sdk"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 4 updates in the / directory: [mlflow](https://github.com/mlflow/mlflow), [pyasn1](https://github.com/pyasn1/pyasn1), [sqlparse](https://github.com/andialbrecht/sqlparse) and [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 4 updates in the /.circleci directory: [orjson](https://github.com/ijl/orjson), [fastapi-sso](https://github.com/tomasvotava/fastapi-sso), [mcp](https://github.com/modelcontextprotocol/python-sdk) and [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\n\nUpdates `mlflow` from 3.2.0rc0 to 3.9.0rc0\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.9.0rc0\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.9.0rc0, a pre-release including several notable updates:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMajor New Features\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🔮 \u003cstrong\u003eMLflow Assistant\u003c/strong\u003e: Figuring out the next steps to debug your apps and agents can be challenging. We're excited to introduce the MLflow Assistant, an in-product chatbot that can help you identify, diagnose, and fix issues. The assistant is backed by Claude Code, and directly passes context from the MLflow UI to Claude. Click on the floating \u0026quot;Assistant\u0026quot; button in the bottom right of the MLflow UI to get started!\u003c/li\u003e\n\u003cli\u003e📈 \u003cstrong\u003eTrace Overview Dashboard\u003c/strong\u003e: You can now get insights into your agent's performance at a glance with the new \u0026quot;Overview\u0026quot; tab in GenAI experiments. Many pre-built statistics are available out of the box, including performance metrics (e.g. latency, request count), quality metrics (based on assessments), and tool call summaries. If there are any additional charts you'd like to see, please feel free to raise an issue in the MLflow repository!\u003c/li\u003e\n\u003cli\u003e✨ \u003cstrong\u003eAI Gateway\u003c/strong\u003e: We're revamping our AI Gateway feature! AI Gateway provides a unified interface for your API requests, allowing you to route queries to your LLM provider(s) of choice. In MLflow 3.9.0rc0, the Gateway server is now located directly in the tracking server, so you don't need to spin up a new process. Additional features such as passthrough endpoints, traffic splits, and fallback models are also available, with more to come soon! For more detailed information, please take a look at the \u003ca href=\"https://mlflow.org/docs/latest/genai/governance/ai-gateway/\"\u003edocs\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔎 \u003cstrong\u003eOnline Monitoring with LLM Judges\u003c/strong\u003e: Configure LLM judges to automatically run on your traces, without having to write a line of code! You can either use one of our \u003ca href=\"https://mlflow.org/docs/latest/genai/eval-monitor/scorers/llm-judge/predefined/\"\u003epre-defined judges\u003c/a\u003e, or provide your own prompt and instructions to create custom metrics. Head to the new \u0026quot;Judges\u0026quot; tab within the GenAI Experiment UI to get started.\u003c/li\u003e\n\u003cli\u003e🤖 \u003cstrong\u003eJudge Builder UI\u003c/strong\u003e: Define and iterate on custom LLM judge prompts directly from the UI! Within the new \u0026quot;Judges\u0026quot; tab, you can create your own prompt for an LLM judge, and test-run it on your traces to see what the output would be. Once you're happy with it, you can either use it for online monitoring (as mentioned above), or use it via the Python SDK for your evals.\u003c/li\u003e\n\u003cli\u003e🔗 \u003cstrong\u003eDistributed Tracing\u003c/strong\u003e: Trace context can now be propagated across different services and processes, allowing you to truly track request lifecycles from end to end. The related APIs are defined in the \u003ccode\u003emlflow.tracing.distributed\u003c/code\u003e module (with more documentation to come soon).\u003c/li\u003e\n\u003cli\u003e📚 \u003cstrong\u003eMemAlign - a new judge optimizer algorithm\u003c/strong\u003e: We're excited to introduce \u003ccode\u003eMemAlignOptimizer\u003c/code\u003e, a new algorithm that makes your judges smarter over time. It learns general guidelines from past feedback while dynamically retrieving relevant examples at runtime, giving you more accurate evaluations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eStay tuned for the full release, which will be packed with even more features and bugfixes.\u003c/p\u003e\n\u003cp\u003eTo try out this release candidate, please run:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003epip install mlflow==3.9.0rc0\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003ePlease try it out and report any issues on \u003ca href=\"https://github.com/mlflow/mlflow/issues\"\u003ethe issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev3.8.1\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.1 includes several bug fixes and documentation updates.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Tracking] Skip registering sqlalchemy store when sqlalchemy lib is not installed (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19563\"\u003e#19563\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[Models / Scoring] fix(security): prevent command injection via malicious model artifacts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19583\"\u003e#19583\u003c/a\u003e, \u003ca href=\"https://github.com/ColeMurray\"\u003e\u003ccode\u003e@​ColeMurray\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts] Fix prompt registration with model_config on Databricks (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19617\"\u003e#19617\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 UI blank page on plain HTTP by replacing crypto.randomUUID with uuid library (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19644\"\u003e#19644\u003c/a\u003e, \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\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19539\"\u003e#19539\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19451\"\u003e#19451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19409\"\u003e#19409\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/19493\"\u003e#19493\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.8.0\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.0 includes several major features and improvements\u003c/p\u003e\n\u003ch3\u003eMajor Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⚙️ \u003cstrong\u003ePrompt Model Configuration\u003c/strong\u003e: Prompts can now include model configuration, allowing you to associate specific model settings with prompt templates for more reproducible LLM workflows. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18963\"\u003e#18963\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19174\"\u003e#19174\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19279\"\u003e#19279\u003c/a\u003e, \u003ca href=\"https://github.com/chenmoneygithub\"\u003e\u003ccode\u003e@​chenmoneygithub\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⏳ \u003cstrong\u003eIn-Progress Trace Display\u003c/strong\u003e: The Traces UI now supports displaying spans from in-progress traces with auto-polling, enabling real-time debugging and monitoring of long-running LLM applications. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19265\"\u003e#19265\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⚖️ \u003cstrong\u003eDeepEval and RAGAS Judges Integration\u003c/strong\u003e: New \u003ccode\u003eget_judge\u003c/code\u003e API enables using DeepEval and RAGAS evaluation metrics as MLflow scorers, providing access to 20+ evaluation metrics including answer relevancy, faithfulness, and hallucination detection. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18988\"\u003e#18988\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/19345\"\u003e#19345\u003c/a\u003e, \u003ca href=\"https://github.com/SomtochiUmeh\"\u003e\u003ccode\u003e@​SomtochiUmeh\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e🛡️ \u003cstrong\u003eConversational Safety Scorer\u003c/strong\u003e: New built-in scorer for evaluating safety of multi-turn conversations, analyzing entire conversation histories for hate speech, harassment, violence, and other safety concerns. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19106\"\u003e#19106\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⚡ \u003cstrong\u003eConversational Tool Call Efficiency Scorer\u003c/strong\u003e: New built-in scorer for evaluating tool call efficiency in multi-turn agent interactions, detecting redundant calls, missing batching opportunities, and poor tool selections. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19245\"\u003e#19245\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImportant Notice\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCollection of UI Telemetry\u003c/strong\u003e. From MLflow 3.8.0 onwards, MLflow will collect anonymized data about UI interactions, similar to the telemetry we collect for the Python SDK. If you manage your own server, UI telemetry is automatically disabled by setting the existing environment variables: \u003ccode\u003eMLFLOW_DISABLE_TELEMETRY=true\u003c/code\u003e or \u003ccode\u003eDO_NOT_TRACK=true\u003c/code\u003e. If you do not manage your own server (e.g. you use a managed service or are not the admin), you can still opt out personally via the new \u0026quot;Settings\u0026quot; tab in the MLflow UI. For more information, please read the documentation on \u003ca href=\"https://mlflow.org/docs/latest/community/usage-tracking/\"\u003eusage tracking\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/mlflow/mlflow/blob/master/CHANGELOG.md\"\u003emlflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.0rc0 (2026-01-15)\u003c/h2\u003e\n\u003cp\u003eWe're excited to announce MLflow 3.9.0rc0, a pre-release including several notable updates:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMajor New Features\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e🔮 \u003cstrong\u003eMLflow Assistant\u003c/strong\u003e: Figuring out the next steps to debug your apps and agents can be challenging. We're excited to introduce the MLflow Assistant, an in-product chatbot that can help you identify, diagnose, and fix issues. The assistant is backed by Claude Code, and directly passes context from the MLflow UI to Claude. Click on the floating \u0026quot;Assistant\u0026quot; button in the bottom right of the MLflow UI to get started!\u003c/li\u003e\n\u003cli\u003e📈 \u003cstrong\u003eTrace Overview Dashboard\u003c/strong\u003e: You can now get insights into your agent's performance at a glance with the new \u0026quot;Overview\u0026quot; tab in GenAI experiments. Many pre-built statistics are available out of the box, including performance metrics (e.g. latency, request count), quality metrics (based on assessments), and tool call summaries. If there are any additional charts you'd like to see, please feel free to raise an issue in the MLflow repository!\u003c/li\u003e\n\u003cli\u003e✨ \u003cstrong\u003eAI Gateway\u003c/strong\u003e: We're revamping our AI Gateway feature! AI Gateway provides a unified interface for your API requests, allowing you to route queries to your LLM provider(s) of choice. In MLflow 3.9.0rc0, the Gateway server is now located directly in the tracking server, so you don't need to spin up a new process. Additional features such as passthrough endpoints, traffic splits, and fallback models are also available, with more to come soon! For more detailed information, please take a look at the \u003ca href=\"https://mlflow.org/docs/latest/genai/governance/ai-gateway/\"\u003edocs\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔎 \u003cstrong\u003eOnline Monitoring with LLM Judges\u003c/strong\u003e: Configure LLM judges to automatically run on your traces, without having to write a line of code! You can either use one of our \u003ca href=\"https://mlflow.org/docs/latest/genai/eval-monitor/scorers/llm-judge/predefined/\"\u003epre-defined judges\u003c/a\u003e, or provide your own prompt and instructions to create custom metrics. Head to the new \u0026quot;Judges\u0026quot; tab within the GenAI Experiment UI to get started.\u003c/li\u003e\n\u003cli\u003e🤖 \u003cstrong\u003eJudge Builder UI\u003c/strong\u003e: Define and iterate on custom LLM judge prompts directly from the UI! Within the new \u0026quot;Judges\u0026quot; tab, you can create your own prompt for an LLM judge, and test-run it on your traces to see what the output would be. Once you're happy with it, you can either use it for online monitoring (as mentioned above), or use it via the Python SDK for your evals.\u003c/li\u003e\n\u003cli\u003e🔗 \u003cstrong\u003eDistributed Tracing\u003c/strong\u003e: Trace context can now be propagated across different services and processes, allowing you to truly track request lifecycles from end to end. The related APIs are defined in the \u003ccode\u003emlflow.tracing.distributed\u003c/code\u003e module (with more documentation to come soon).\u003c/li\u003e\n\u003cli\u003e📚 \u003cstrong\u003eMemAlign - a new judge optimizer algorithm\u003c/strong\u003e: We're excited to introduce \u003ccode\u003eMemAlignOptimizer\u003c/code\u003e, a new algorithm that makes your judges smarter over time. It learns general guidelines from past feedback while dynamically retrieving relevant examples at runtime, giving you more accurate evaluations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eStay tuned for the full release, which will be packed with even more features and bugfixes.\u003c/p\u003e\n\u003cp\u003eTo try out this release candidate, please run:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003epip install mlflow==3.9.0rc0\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.1 (2025-12-26)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.1 includes several bug fixes and documentation updates.\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Tracking] Skip registering sqlalchemy store when sqlalchemy lib is not installed (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19563\"\u003e#19563\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[Models / Scoring] fix(security): prevent command injection via malicious model artifacts (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19583\"\u003e#19583\u003c/a\u003e, \u003ca href=\"https://github.com/ColeMurray\"\u003e\u003ccode\u003e@​ColeMurray\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Prompts] Fix prompt registration with model_config on Databricks (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19617\"\u003e#19617\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 UI blank page on plain HTTP by replacing crypto.randomUUID with uuid library (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19644\"\u003e#19644\u003c/a\u003e, \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\u003eSmall bug fixes and documentation updates:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19539\"\u003e#19539\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19451\"\u003e#19451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19409\"\u003e#19409\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/19493\"\u003e#19493\u003c/a\u003e, \u003ca href=\"https://github.com/alkispoly-db\"\u003e\u003ccode\u003e@​alkispoly-db\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.0 (2025-12-19)\u003c/h2\u003e\n\u003cp\u003eMLflow 3.8.0 includes several major features and improvements\u003c/p\u003e\n\u003ch3\u003eMajor Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⚙️ \u003cstrong\u003ePrompt Model Configuration\u003c/strong\u003e: Prompts can now include model configuration, allowing you to associate specific model settings with prompt templates for more reproducible LLM workflows. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18963\"\u003e#18963\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19174\"\u003e#19174\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19279\"\u003e#19279\u003c/a\u003e, \u003ca href=\"https://github.com/chenmoneygithub\"\u003e\u003ccode\u003e@​chenmoneygithub\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⏳ \u003cstrong\u003eIn-Progress Trace Display\u003c/strong\u003e: The Traces UI now supports displaying spans from in-progress traces with auto-polling, enabling real-time debugging and monitoring of long-running LLM applications. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19265\"\u003e#19265\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⚖️ \u003cstrong\u003eDeepEval Judges Integration\u003c/strong\u003e: New \u003ccode\u003eget_judge\u003c/code\u003e API enables using DeepEval's evaluation metrics as MLflow scorers, providing access to 20+ evaluation metrics including answer relevancy, faithfulness, and hallucination detection. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/18988\"\u003e#18988\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🛡️ \u003cstrong\u003eConversational Safety Scorer\u003c/strong\u003e: New built-in scorer for evaluating safety of multi-turn conversations, analyzing entire conversation histories for hate speech, harassment, violence, and other safety concerns. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19106\"\u003e#19106\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e⚡ \u003cstrong\u003eConversational Tool Call Efficiency Scorer\u003c/strong\u003e: New built-in scorer for evaluating tool call efficiency in multi-turn agent interactions, detecting redundant calls, missing batching opportunities, and poor tool selections. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19245\"\u003e#19245\u003c/a\u003e, \u003ca href=\"https://github.com/joelrobin18\"\u003e\u003ccode\u003e@​joelrobin18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImportant Notice\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCollection of UI Telemetry\u003c/strong\u003e. From MLflow 3.8.0 onwards, MLflow will collect anonymized data about UI interactions, similar to the telemetry we collect for the Python SDK. If you manage your own server, UI telemetry is automatically disabled by setting the existing environment variables: \u003ccode\u003eMLFLOW_DISABLE_TELEMETRY=true\u003c/code\u003e or \u003ccode\u003eDO_NOT_TRACK=true\u003c/code\u003e. If you do not manage your own server (e.g. you use a managed service or are not the admin), you can still opt out personally via the new \u0026quot;Settings\u0026quot; tab in the MLflow UI. For more information, please read the documentation on \u003ca href=\"https://mlflow.org/docs/latest/community/usage-tracking/\"\u003eusage tracking\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/mlflow/mlflow/commit/d8c9d8c0bcaedd5133e14e0b2931fdd607c97366\"\u003e\u003ccode\u003ed8c9d8c\u003c/code\u003e\u003c/a\u003e Run \u003ccode\u003epython3 dev/update_mlflow_versions.py pre-release ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/e65f119e02223718e532c3ce6d86a18cc28d9eb6\"\u003e\u003ccode\u003ee65f119\u003c/code\u003e\u003c/a\u003e Run \u003ccode\u003epython3 dev/update_ml_package_versions.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20013\"\u003e#20013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/069244579538d23bac836c61c60076d1a907a96c\"\u003e\u003ccode\u003e0692445\u003c/code\u003e\u003c/a\u003e Move DevTools section from PR description to separate comment (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20012\"\u003e#20012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/089d86963301f50ae52b13caf346fbc249dc9f53\"\u003e\u003ccode\u003e089d869\u003c/code\u003e\u003c/a\u003e Enhance LiteLLMConfig validation and normalize Databricks base URL (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20008\"\u003e#20008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/df01edd6ec77acd646a97eaf8785cef719a29499\"\u003e\u003ccode\u003edf01edd\u003c/code\u003e\u003c/a\u003e Implement telemetry tracking for gateway invocations and CRUD operations (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19\"\u003e#19\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/99b5a3dd85e01160aa4c89559209bb0cce42055c\"\u003e\u003ccode\u003e99b5a3d\u003c/code\u003e\u003c/a\u003e Merge MLflow Assistant branch (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/a58d7d746420257648e33b1fa1bc24e86cc60c40\"\u003e\u003ccode\u003ea58d7d7\u003c/code\u003e\u003c/a\u003e Remove vertical line (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20006\"\u003e#20006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/f4db4c37b17405ae91963c77200d7ef78976474d\"\u003e\u003ccode\u003ef4db4c3\u003c/code\u003e\u003c/a\u003e Remove over time label (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/aba70944127e4db5e4e14004e6a9a9ddd7884070\"\u003e\u003ccode\u003eaba7094\u003c/code\u003e\u003c/a\u003e Distinguish local remote server (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/19893\"\u003e#19893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mlflow/mlflow/commit/3bc8482544254bec5ccc09e79e554fb05e024d90\"\u003e\u003ccode\u003e3bc8482\u003c/code\u003e\u003c/a\u003e Add coming soon components (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mlflow/mlflow/compare/v3.2.0rc0...v3.9.0rc0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyasn1` from 0.6.1 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyasn1/pyasn1/releases\"\u003epyasn1's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.6.3\u003c/h2\u003e\n\u003cp\u003eIt's a minor release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded nesting depth limit to ASN.1 decoder to prevent stack overflow from deeply nested structures (CVE-2026-30922).\u003c/li\u003e\n\u003cli\u003eFixed OverflowError from oversized BER length field.\u003c/li\u003e\n\u003cli\u003eFixed DeprecationWarning stacklevel for deprecated attributes.\u003c/li\u003e\n\u003cli\u003eFixed asDateTime incorrect fractional seconds parsing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll changes are noted in the \u003ca href=\"https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst\"\u003eCHANGELOG\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRelease 0.6.2\u003c/h2\u003e\n\u003cp\u003eIt's a minor release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed continuation octet limits in OID/RELATIVE-OID decoder (CVE-2026-23490).\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy.\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll changes are noted in the \u003ca href=\"https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst\"\u003eCHANGELOG\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/pyasn1/pyasn1/blob/main/CHANGES.rst\"\u003epyasn1's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRevision 0.6.3, released 16-03-2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-30922 (GHSA-jr27-m4p2-rc6r): Added nesting depth\nlimit to ASN.1 decoder to prevent stack overflow from deeply\nnested structures (thanks for reporting, romanticpragmatism)\u003c/li\u003e\n\u003cli\u003eFixed OverflowError from oversized BER length field\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/54\"\u003e#54\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/54\"\u003epyasn1/pyasn1#54\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/100\"\u003e#100\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/100\"\u003epyasn1/pyasn1#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DeprecationWarning stacklevel for deprecated attributes\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/86\"\u003e#86\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/86\"\u003epyasn1/pyasn1#86\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/101\"\u003e#101\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/101\"\u003epyasn1/pyasn1#101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed asDateTime incorrect fractional seconds parsing\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/81\"\u003e#81\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/81\"\u003epyasn1/pyasn1#81\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/102\"\u003e#102\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/102\"\u003epyasn1/pyasn1#102\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRevision 0.6.2, released 16-01-2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-23490 (GHSA-63vm-454h-vhhq): Fixed continuation octet limits\nin OID/RELATIVE-OID decoder (thanks to tsigouris007)\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/97\"\u003epyasn1/pyasn1#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy\u003c/li\u003e\n\u003cli\u003eFixed unit tests failing due to missing code\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003epyasn1/pyasn1#91\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/92\"\u003epyasn1/pyasn1#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/90\"\u003e#90\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/90\"\u003epyasn1/pyasn1#90\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/pyasn1/pyasn1/commit/af65c3b92e9deeae50db4de390982dd970d87f98\"\u003e\u003ccode\u003eaf65c3b\u003c/code\u003e\u003c/a\u003e Prepare release 0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/5a49bd1fe93b5b866a1210f6bf0a3924f21572c8\"\u003e\u003ccode\u003e5a49bd1\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/5494ba43f738e700ca9f7c7a69ec5c44908c9a9f\"\u003e\u003ccode\u003e5494ba4\u003c/code\u003e\u003c/a\u003e Fix asDateTime incorrect fractional seconds parsing (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/102\"\u003e#102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/71f486e6c32d0f270868aa1b2bb5ceb7d5fd5476\"\u003e\u003ccode\u003e71f486e\u003c/code\u003e\u003c/a\u003e Fix DeprecationWarning stacklevel for deprecated attributes (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/101\"\u003e#101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/d7cb42dcaa9a66e18f14c4609c2ed00c5b65f7e8\"\u003e\u003ccode\u003ed7cb42d\u003c/code\u003e\u003c/a\u003e Fix OverflowError from oversized BER length field (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/100\"\u003e#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/e7356f89cf32c130d65b1a0e903fe7ecce426424\"\u003e\u003ccode\u003ee7356f8\u003c/code\u003e\u003c/a\u003e Prepare release 0.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/3908f144229eed4df24bd569d16e5991ace44970\"\u003e\u003ccode\u003e3908f14\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/0a7e067674b1ec558f9d233a3bc173472fe27c6c\"\u003e\u003ccode\u003e0a7e067\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/33656e986d8e2355123799e7267104ac7d8a6fb1\"\u003e\u003ccode\u003e33656e9\u003c/code\u003e\u003c/a\u003e Create Security Policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/fa62307253f4423effac71a618e20fabaa37e22e\"\u003e\u003ccode\u003efa62307\u003c/code\u003e\u003c/a\u003e fix for issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e: unit tests failing due to missing code (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyasn1/pyasn1/compare/v0.6.1...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlparse` from 0.5.3 to 0.5.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG\"\u003esqlparse's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.5.4 (Nov 28, 2025)\u003c/h2\u003e\n\u003cp\u003eEnhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdd type annotations to top-level API functions and include py.typed marker\nfor PEP 561 compliance, enabling type checking with mypy and other tools\n(issue756).\u003c/li\u003e\n\u003cli\u003eAdd pre-commit hook support. sqlparse can now be used as a pre-commit hook\nto automatically format SQL files. The CLI now supports multiple files and\nan \u003ccode\u003e--in-place\u003c/code\u003e flag for in-place editing (issue537).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eATTACH\u003c/code\u003e and \u003ccode\u003eDETACH\u003c/code\u003e to PostgreSQL keywords (pr808).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eINTERSECT\u003c/code\u003e to close keywords in WHERE clause (pr820).\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eREGEXP BINARY\u003c/code\u003e comparison operator (pr817).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd additional protection against denial of service attacks when parsing\nvery large lists of tuples. This enhances the existing recursion protections\nwith configurable limits for token processing to prevent DoS through\nalgorithmic complexity attacks. The new limits (MAX_GROUPING_DEPTH=100,\nMAX_GROUPING_TOKENS=10000) can be adjusted or disabled (by setting to None)\nif needed for legitimate large SQL statements.\u003c/li\u003e\n\u003cli\u003eRemove shebang from cli.py and remove executable flag (pr818).\u003c/li\u003e\n\u003cli\u003eFix strip_comments not removing all comments when input contains only\ncomments (issue801, pr803 by stropysh).\u003c/li\u003e\n\u003cli\u003eFix splitting statements with IF EXISTS/IF NOT EXISTS inside BEGIN...END\nblocks (issue812).\u003c/li\u003e\n\u003cli\u003eFix splitting on semicolons inside BEGIN...END blocks (issue809).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/14e300b165b14d1a7662a071c6481b503d367528\"\u003e\u003ccode\u003e14e300b\u003c/code\u003e\u003c/a\u003e Bump version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/96a67e286963b2497b1b3f7a1378327af6661998\"\u003e\u003ccode\u003e96a67e2\u003c/code\u003e\u003c/a\u003e Code cleanup.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1a3bfbd50b82c05d9adcc51bacba059671dc1bc7\"\u003e\u003ccode\u003e1a3bfbd\u003c/code\u003e\u003c/a\u003e Fix handling of semicolons inside BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/809\"\u003e#809\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/e92a032c81d51a6645b4f8c32470481894818ba0\"\u003e\u003ccode\u003ee92a032\u003c/code\u003e\u003c/a\u003e Fix handling of IF EXISTS statements in BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/812\"\u003e#812\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/149bebf06c788e93a9b0dbee0e5abbc8e347b8e6\"\u003e\u003ccode\u003e149bebf\u003c/code\u003e\u003c/a\u003e Update Changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/561a67e740e9623cf81ef99f1a6cd94337e24282\"\u003e\u003ccode\u003e561a67e\u003c/code\u003e\u003c/a\u003e Update AUTHORS.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/73c8ba3ae88b608d39740c0776fb15064232258e\"\u003e\u003ccode\u003e73c8ba3\u003c/code\u003e\u003c/a\u003e bugfix ISSUE_801; Remove all comments when only comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1b323879f87207946e4782812e2e1254b1c0c659\"\u003e\u003ccode\u003e1b32387\u003c/code\u003e\u003c/a\u003e Update action to run on all prs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/31903e09db518ee3969110073427196ef9cd46c3\"\u003e\u003ccode\u003e31903e0\u003c/code\u003e\u003c/a\u003e Add pre-commit hook support (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/13577264eb38b88e24825022fea4bd4351449e7c\"\u003e\u003ccode\u003e1357726\u003c/code\u003e\u003c/a\u003e docs: add AGENTS.md for project guidance and development commands\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/andialbrecht/sqlparse/compare/0.5.3...0.5.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-aiplatform` from 1.47.0 to 1.133.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-aiplatform/releases\"\u003egoogle-cloud-aiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.133.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.132.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.131.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\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/googleapis/python-aiplatform/blob/main/CHANGELOG.md\"\u003egoogle-cloud-aiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix RagManagedVertexVectorSearch when using backend_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/df0976ed3195dc8313f4728bc5ecb29dda55d467\"\u003edf0976e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - patch for vulnerability in visualization (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8a00d43dbd24e95dbab6ea32c63ce0a5a1849480\"\u003e8a00d43\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/78f2bdd08bae0696923e61ab73080b5846c67ae0\"\u003e\u003ccode\u003e78f2bdd\u003c/code\u003e\u003c/a\u003e chore(main): release 1.133.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-aiplatform/issues/6211\"\u003e#6211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003e\u003ccode\u003ec8c0f0f\u003c/code\u003e\u003c/a\u003e fix: Add None check for agent_info in evals.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/9952b970b73cfe38e68c48b3699ee4e1df0264df\"\u003e\u003ccode\u003e9952b97\u003c/code\u003e\u003c/a\u003e chore: rollback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e\u003ccode\u003e83f4076\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/937d5af6b9bdbbe3b50181745c99550f124ad8b4\"\u003e\u003ccode\u003e937d5af\u003c/code\u003e\u003c/a\u003e Copybara import of the project:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/aaaf902be02747cd2281196aad6278df0fd11f7e\"\u003e\u003ccode\u003eaaaf902\u003c/code\u003e\u003c/a\u003e chore: bump google-auth lower bound to 2.47.0 in GenAI and Vertex SDKs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e\u003ccode\u003e8c876ef\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e\u003ccode\u003e5448f06\u003c/code\u003e\u003c/a\u003e fix: Require uri or staging bucket configuration for saving model to Vertex E...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e\u003ccode\u003e65717fa\u003c/code\u003e\u003c/a\u003e feat: GenAI SDK client(memory): Add enable_third_person_memories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003e\u003ccode\u003ebe2eaaa\u003c/code\u003e\u003c/a\u003e fix: GenAI client(evals) - Fix TypeError in _build_generate_content_config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.47.0...v1.133.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.10.12 to 3.11.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.6 - 2026-01-29\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eorjson now includes code licensed under the Mozilla Public License 2.0 (MPL-2.0).\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 5.\u003c/li\u003e\n\u003cli\u003eBuild now depends on Rust 1.89 or later instead of 1.85.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix sporadic crash serializing deeply nested \u003ccode\u003elist\u003c/code\u003e of \u003ccode\u003edict\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2 - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ec02024c3837255064f248c0d2d331319b75e9ad\"\u003e\u003ccode\u003eec02024\u003c/code\u003e\u003c/a\u003e 3.11.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d58168733189f82b3fd0c058dff73e05d09202e6\"\u003e\u003ccode\u003ed581687\u003c/code\u003e\u003c/a\u003e build, clippy misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/4105b29b2275f200f6fae01349bef02ccf1bc2e2\"\u003e\u003ccode\u003e4105b29\u003c/code\u003e\u003c/a\u003e writer::num\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/62bb185b70785ded49c79c26f8c9781f1e6fe370\"\u003e\u003ccode\u003e62bb185\u003c/code\u003e\u003c/a\u003e Fix sporadic crash on serializing object close\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d860078a973f44401265c5c4ad12a7dbe4f839ad\"\u003e\u003ccode\u003ed860078\u003c/code\u003e\u003c/a\u003e PyRef idiom refactors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/343ae2f148197918aba9f8562db42c364620e4b8\"\u003e\u003ccode\u003e343ae2f\u003c/code\u003e\u003c/a\u003e Deserializer, Utf8Buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/7835f58d1c56947d1cf7a18acdfc07a2bca9b0f2\"\u003e\u003ccode\u003e7835f58\u003c/code\u003e\u003c/a\u003e PyBytesRef and other input refactor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/71e0516424ce1e11613eb1780f18e8cde83989fd\"\u003e\u003ccode\u003e71e0516\u003c/code\u003e\u003c/a\u003e PyStrRef\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/1096df42dc585fde837ed0c930a346f5ef7dbb94\"\u003e\u003ccode\u003e1096df4\u003c/code\u003e\u003c/a\u003e MSRV 1.89\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/b718e75b8ba18a707c2b44b6de14d52547573771\"\u003e\u003ccode\u003eb718e75\u003c/code\u003e\u003c/a\u003e Drop support for python3.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.12...3.11.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi-sso` from 0.16.0 to 0.19.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/releases\"\u003efastapi-sso's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.19.0\u003c/h2\u003e\n\u003cp\u003e️⚠️ A critical OAuth login CSRF vulnerability caused by missing \u003ccode\u003estate\u003c/code\u003e validation was\nreported by \u003ca href=\"https://github.com/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e (Snyk Security Labs)\nin \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e and has been resolved\nin version \u003ccode\u003e0.19.0\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eStarting with \u003ccode\u003efastapi-sso==1.0.0\u003c/code\u003e, OAuth \u003ccode\u003estate\u003c/code\u003e will be backed by a pluggable server-side store\n(in-memory by default, with support for external stores such as \u003ccode\u003eRedis\u003c/code\u003e).\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the all group with 11 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/230\"\u003etomasvotava/fastapi-sso#230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/231\"\u003etomasvotava/fastapi-sso#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 6 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/232\"\u003etomasvotava/fastapi-sso#232\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/233\"\u003etomasvotava/fastapi-sso#233\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/234\"\u003etomasvotava/fastapi-sso#234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/235\"\u003etomasvotava/fastapi-sso#235\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/237\"\u003etomasvotava/fastapi-sso#237\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/239\"\u003etomasvotava/fastapi-sso#239\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/241\"\u003etomasvotava/fastapi-sso#241\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 5 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/242\"\u003etomasvotava/fastapi-sso#242\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 10 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/247\"\u003etomasvotava/fastapi-sso#247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/248\"\u003etomasvotava/fastapi-sso#248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/251\"\u003etomasvotava/fastapi-sso#251\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/252\"\u003etomasvotava/fastapi-sso#252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/253\"\u003etomasvotava/fastapi-sso#253\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/254\"\u003etomasvotava/fastapi-sso#254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 12 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/259\"\u003etomasvotava/fastapi-sso#259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: enforce state validation by \u003ca href=\"https://github.com/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/267\"\u003etomasvotava/fastapi-sso#267\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump the all group across 1 directory with 7 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/265\"\u003etomasvotava/fastapi-sso#265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e): warn against using state as an arbitrary data transport by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/269\"\u003etomasvotava/fastapi-sso#269\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/davidbors-snyk\"\u003e\u003ccode\u003e@​davidbors-snyk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/267\"\u003etomasvotava/fastapi-sso#267\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.18.0...0.19.0\"\u003ehttps://github.com/tomasvotava/fastapi-sso/compare/0.18.0...0.19.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eRemoved support for python 3.8\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore: add Python 3.13 to testing and linting workflows by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/226\"\u003etomasvotava/fastapi-sso#226\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update Python version to 3.12 and improve documentation workflow by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/227\"\u003etomasvotava/fastapi-sso#227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the all group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/228\"\u003etomasvotava/fastapi-sso#228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:use id token for linkedin userinfo by \u003ca href=\"https://github.com/tomasvotava\"\u003e\u003ccode\u003e@​tomasvotava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/pull/229\"\u003etomasvotava/fastapi-sso#229\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.17.0...0.18.0\"\u003ehttps://github.com/tomasvotava/fastapi-sso/compare/0.17.0...0.18.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.17.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/c905eafe2d6d7aab5d2b929e53ba98f238fdb21d\"\u003e\u003ccode\u003ec905eaf\u003c/code\u003e\u003c/a\u003e chore: 0.18.0 =\u0026gt; 0.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/94343bf276bed9df0ed0b11fe00661fc65ac57e0\"\u003e\u003ccode\u003e94343bf\u003c/code\u003e\u003c/a\u003e docs(\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/266\"\u003e#266\u003c/a\u003e): warn against using state as an arbitrary data transport (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/d057c1d4db151a180668a03784250315cdb0b1e9\"\u003e\u003ccode\u003ed057c1d\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group across 1 directory with 7 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/6117d1a5ad498ba57d671e8a059ebe20db5abe02\"\u003e\u003ccode\u003e6117d1a\u003c/code\u003e\u003c/a\u003e fix: enforce state validation (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/267\"\u003e#267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/da63c19bca7db0fe8a7e66d03fdf07154ec7182a\"\u003e\u003ccode\u003eda63c19\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group across 1 directory with 12 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/0ccaeddf9e95a997a370ec312dc073f8f9920f38\"\u003e\u003ccode\u003e0ccaedd\u003c/code\u003e\u003c/a\u003e chore(deps): bump the all group with 2 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/254\"\u003e#254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/a43e62e67dfc40a2f9634bd932a2dfd02fe9e5b8\"\u003e\u003ccode\u003ea43e62e\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 2 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/253\"\u003e#253\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/8cd706d335e134504be46eab3404ff0ca3bdf6f9\"\u003e\u003ccode\u003e8cd706d\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/252\"\u003e#252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/ea769fa223f5b665eb37b9cee998b19d49d52427\"\u003e\u003ccode\u003eea769fa\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/251\"\u003e#251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tomasvotava/fastapi-sso/commit/7aba1e6ea408be1bce282fce7c3ba3da89e5e7b1\"\u003e\u003ccode\u003e7aba1e6\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the all group with 3 updates (\u003ca href=\"https://redirect.github.com/tomasvotava/fastapi-sso/issues/248\"\u003e#248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tomasvotava/fastapi-sso/compare/0.16.0...0.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp` from 1.10.1 to 1.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.0\u003c/h2\u003e\n\u003ch2\u003eSummary\u003c/h2\u003e\n\u003cp\u003eThis release brings us up to speed with the latest MCP spec \u003ccode\u003e2025-11-25\u003c/code\u003e. Take a look at the \u003ca href=\"https://modelcontextprotocol.io/specification/2025-11-25\"\u003elatest spec\u003c/a\u003e as well as the release \u003ca href=\"https://blog.modelcontextprotocol.io/posts/2025-11-25-first-mcp-anniversary/\"\u003eblog post.\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd tests for JSON Schema 2020-12 field preservation (SEP-1613) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1649\"\u003emodelcontextprotocol/python-sdk#1649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd client_secret_basic authentication support by \u003ca href=\"https://github.com/jonshea\"\u003e\u003ccode\u003e@​jonshea\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1334\"\u003emodelcontextprotocol/python-sdk#1334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1577 - Sampling With Tools by \u003ca href=\"https://github.com/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1330: Elicitation Enum Schema Improvements and Standards Compliance by \u003ca href=\"https://github.com/chughtapan\"\u003e\u003ccode\u003e@​chughtapan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1246\"\u003emodelcontextprotocol/python-sdk#1246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[auth][conformance] add conformance auth client by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1640\"\u003emodelcontextprotocol/python-sdk#1640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-986: Tool name validation by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1655\"\u003emodelcontextprotocol/python-sdk#1655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: url for spec by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1659\"\u003emodelcontextprotocol/python-sdk#1659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: implement SEP-991 URL-based client ID (CIMD) support by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1652\"\u003emodelcontextprotocol/python-sdk#1652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate doc string on custom_route by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1660\"\u003emodelcontextprotocol/python-sdk#1660\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement SEP-1036: URL mode elicitation for secure out-of-band interactions by \u003ca href=\"https://github.com/cbcoutinho\"\u003e\u003ccode\u003e@​cbcoutinho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1580\"\u003emodelcontextprotocol/python-sdk#1580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip empty SSE data to avoid parsing errors by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1670\"\u003emodelcontextprotocol/python-sdk#1670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSEP-1686: Tasks by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1645\"\u003emodelcontextprotocol/python-sdk#1645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd on_session_created callback option by \u003ca href=\"https://github.com/crondinini-ant\"\u003e\u003ccode\u003e@​crondinini-ant\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1710\"\u003emodelcontextprotocol/python-sdk#1710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd SSE polling support (SEP-1699) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1654\"\u003emodelcontextprotocol/python-sdk#1654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport client_credentials flow with JWT and Basic auth by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1663\"\u003emodelcontextprotocol/python-sdk#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: backwards-compatible create_message overloads for SEP-1577 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1713\"\u003emodelcontextprotocol/python-sdk#1713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-enable DNS rebinding protection for localhost servers by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e  (d3a184119e4479ea6a63590bc41f01dc06e3fa99)\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/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1594\"\u003emodelcontextprotocol/python-sdk#1594\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.22.0...v1.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.22.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: Pass through and expose additional parameters in \u003ccode\u003eClientSessionGroup.call_tool\u003c/code\u003e and \u003ccode\u003e.connect_to_server\u003c/code\u003e by \u003ca href=\"https://github.com/inaku-Gyan\"\u003e\u003ccode\u003e@​inaku-Gyan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1576\"\u003emodelcontextprotocol/python-sdk#1576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Lazy import \u003ccode\u003ejsonschema\u003c/code\u003e library by \u003ca href=\"https://github.com/wuliang229\"\u003e\u003ccode\u003e@​wuliang229\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1596\"\u003emodelcontextprotocol/python-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update examples to use stateless HTTP with JSON responses by \u003ca href=\"https://github.com/domdomegg\"\u003e\u003ccode\u003e@​domdomegg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1499\"\u003emodelcontextprotocol/python-sdk#1499\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/wuliang229\"\u003e\u003ccode\u003e@​wuliang229\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1596\"\u003emodelcontextprotocol/python-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.21.1...v1.22.0\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.21.1...v1.22.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.21.2\u003c/h2\u003e\n\u003ch2\u003eHotfix Release\u003c/h2\u003e\n\u003cp\u003eThis is a hotfix release to address a critical bug in OAuth scope handling that caused failures on 401 responses.\u003c/p\u003e\n\u003ch3\u003eRelated:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1630\"\u003emodelcontextprotocol/python-sdk#1630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/1632\"\u003emodelcontextprotocol/python-sdk#1632\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\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/modelcontextprotocol/python-sdk/commit/d3a184119e4479ea6a63590bc41f01dc06e3fa99\"\u003e\u003ccode\u003ed3a1841\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/fa851d93a2036a37cce73e098f7dbc80a6c48765\"\u003e\u003ccode\u003efa851d9\u003c/code\u003e\u003c/a\u003e feat: backwards-compatible create_message overloads for SEP-1577 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1713\"\u003e#1713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/f82b0c937178815c1e96460455778578050c6d1a\"\u003e\u003ccode\u003ef82b0c9\u003c/code\u003e\u003c/a\u003e Support client_credentials flow with JWT and Basic auth (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/1663\"\u003e#1663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/281fd4765e0fc2efaf2039d248...\n\n_Description has been truncated_","html_url":"https://github.com/dporkka/litellm/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dporkka%2Flitellm/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"}}]}